ping
On Oct 10 21:39:16, h...@stare.cz wrote:
> The embedded cpmain() will never have _any_ flags set,
> as mv.c calls it as
>
> argv[0] = from;
> argv[1] = to;
> argv[2] = NULL;
> cpmain(2, argv);
>
> There is probably more code that could be romoved
> form the embedded cp.c, along the lines of tedu's recent
> cleanup of the embedded rm.c
>
> Jan
>
>
> Index: cp.c
> ===
> RCS file: /cvs/src/bin/mv/cp.c,v
> retrieving revision 1.7
> diff -u -p -r1.7 cp.c
> --- cp.c 27 Dec 2015 01:25:57 - 1.7
> +++ cp.c 10 Oct 2016 19:27:02 -
> @@ -84,7 +84,6 @@ static int setfile(struct stat *, in
> extern char *__progname;
>
> static uid_t myuid;
> -static int fflag, iflag;
> static mode_t myumask;
>
> enum op { FILE_TO_FILE, FILE_TO_DIR, DIR_TO_DNE };
> @@ -463,13 +462,6 @@ copy_file(FTSENT *entp, int dne)
> fs = entp->fts_statp;
>
> /*
> - * In -f (force) mode, we always unlink the destination first
> - * if it exists. Note that -i and -f are mutually exclusive.
> - */
> - if (!dne && fflag)
> - (void)unlink(to.p_path);
> -
> - /*
>* If the file exists and we're interactive, verify with the user.
>* If the file DNE, set the mode to be the from file, minus setuid
>* bits, modified by the umask; arguably wrong, but it makes copying
> @@ -477,17 +469,7 @@ copy_file(FTSENT *entp, int dne)
>* other choice is 666 or'ed with the execute bits on the from file
>* modified by the umask.)
>*/
> - if (!dne && !fflag) {
> - if (iflag) {
> - (void)fprintf(stderr, "overwrite %s? ", to.p_path);
> - checkch = ch = getchar();
> - while (ch != '\n' && ch != EOF)
> - ch = getchar();
> - if (checkch != 'y' && checkch != 'Y') {
> - (void)close(from_fd);
> - return (0);
> - }
> - }
> + if (!dne) {
> to_fd = open(to.p_path, O_WRONLY | O_TRUNC, 0);
> } else
> to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT,
>