# HG changeset patch # User Rob Landley # Date 1426970978 18000 # Node ID b11f536bac748e75a84b29eeaf91d82d432a6696 # Parent 1b97da3c7b91dd9f997b3a631d0a036e8b24d880 install -D bugfix from David Halls. (I tweaked some comment text while I was there.) diff -r 1b97da3c7b91 -r b11f536bac74 toys/posix/cp.c --- a/toys/posix/cp.c Sat Mar 21 15:29:21 2015 -0500 +++ b/toys/posix/cp.c Sat Mar 21 15:49:38 2015 -0500 @@ -4,13 +4,12 @@ * * Posix says "cp -Rf dir file" shouldn't delete file, but our -f does. -// This is subtle: MV options shared with CP must be in same order (right to -// left) as CP for FLAG_X macros to work out right. +// options shared between mv/cp must be in same order (right to left) +// for FLAG macros to work out right in shared infrastructure. USE_CP(NEWTOY(cp, "<2RHLPp"USE_CP_MORE("rdaslvnF(remove-destination)")"fi[-HLP"USE_CP_MORE("d")"]"USE_CP_MORE("[-ni]"), TOYFLAG_BIN)) USE_MV(NEWTOY(mv, "<2"USE_CP_MORE("vnF")"fi"USE_CP_MORE("[-ni]"), TOYFLAG_BIN)) USE_INSTALL(NEWTOY(install, "<1cdDpsvm:o:g:", TOYFLAG_USR|TOYFLAG_BIN)) -* config CP bool "cp" @@ -391,6 +390,7 @@ } if (toys.optflags & FLAG_D) { + TT.destname = toys.optargs[toys.optc-1]; if (mkpathat(AT_FDCWD, TT.destname, 0, 2)) perror_exit("-D '%s'", TT.destname); if (toys.optc == 1) return;