cp.c 414 B

123456789101112131415161718192021222324252627
  1. void
  2. do_cp(argc, argv)
  3. char **argv;
  4. {
  5. BOOL dirflag;
  6. char *srcname;
  7. char *destname;
  8. char *lastarg;
  9. lastarg = argv[argc - 1];
  10. dirflag = isadir(lastarg);
  11. if ((argc > 3) && !dirflag) {
  12. fprintf(stderr, "%s: not a directory\n", lastarg);
  13. return;
  14. }
  15. while (argc-- > 2) {
  16. destname = lastarg;
  17. if (dirflag)
  18. destname = buildname(destname, srcname);
  19. (void) copyfile(*++argv, destname, FALSE);
  20. }
  21. }