Module: wine Branch: master Commit: 5f8f5eb5beb69f87c11ee53f9f12dc4cb35647fb URL: http://source.winehq.org/git/wine.git/?a=commit;h=5f8f5eb5beb69f87c11ee53f9f...
Author: Jason Edmeades us@edmeades.me.uk Date: Thu Mar 29 22:21:05 2007 +0100
xcopy: Add support for /U (target must exist).
---
programs/xcopy/xcopy.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/programs/xcopy/xcopy.c b/programs/xcopy/xcopy.c index 281f812..2f2e7f9 100644 --- a/programs/xcopy/xcopy.c +++ b/programs/xcopy/xcopy.c @@ -50,6 +50,7 @@ #define OPT_NOCOPY 0x00000080 #define OPT_NOPROMPT 0x00000100 #define OPT_SHORTNAME 0x00000200 +#define OPT_MUSTEXIST 0x00000400
#define MAXSTRING 8192
@@ -153,6 +154,7 @@ int main (int argc, char *argv[]) case 'T': flags |= OPT_NOCOPY | OPT_RECURSIVE; break; case 'Y': flags |= OPT_NOPROMPT; break; case 'N': flags |= OPT_SHORTNAME; break; + case 'U': flags |= OPT_MUSTEXIST; break; case '-': if (toupper(argvW[0][2])=='Y') flags &= ~OPT_NOPROMPT; break; default: @@ -458,6 +460,11 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec, } }
+ /* See if it has to exist! */ + if (destAttribs == INVALID_FILE_ATTRIBUTES && (flags & OPT_MUSTEXIST)) { + skipFile = TRUE; + } + /* Output a status message */ if (!skipFile) { if (flags & OPT_QUIET) {