Alexander Farber : cmd: Support /
-Y and COPYCMD environment variable in the "copy" builtin.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Mar 1 05:59:49 CST 2007
Module: wine
Branch: master
Commit: f6ec44173fdfb9141a8373d520488df3f1635396
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f6ec44173fdfb9141a8373d520488df3f1635396
Author: Alexander Farber <afarber at h754814.serverkompetenz.net>
Date: Wed Feb 28 14:49:46 2007 +0100
cmd: Support /-Y and COPYCMD environment variable in the "copy" builtin.
---
programs/cmd/builtins.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index 3c93231..c44b929 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -110,7 +110,8 @@ WIN32_FIND_DATA fd;
HANDLE hff;
BOOL force, status;
static const char overwrite[] = "Overwrite file (Y/N)?";
-char string[8], outpath[MAX_PATH], inpath[MAX_PATH], *infile;
+char string[8], outpath[MAX_PATH], inpath[MAX_PATH], *infile, copycmd[3];
+DWORD len;
if (param1[0] == 0x00) {
WCMD_output ("Argument missing\n");
@@ -140,7 +141,16 @@ char string[8], outpath[MAX_PATH], inpath[MAX_PATH], *infile;
FindClose (hff);
}
- force = (strstr (quals, "/Y") != NULL);
+ /* /-Y has the highest priority, then /Y and finally the COPYCMD env. variable */
+ if (strstr (quals, "/-Y"))
+ force = FALSE;
+ else if (strstr (quals, "/Y"))
+ force = TRUE;
+ else {
+ len = GetEnvironmentVariable ("COPYCMD", copycmd, sizeof(copycmd));
+ force = (len && len < sizeof(copycmd) && ! lstrcmpi (copycmd, "/Y"));
+ }
+
if (!force) {
hff = FindFirstFile (outpath, &fd);
if (hff != INVALID_HANDLE_VALUE) {
More information about the wine-cvs
mailing list