diff --git a/programs/xcopy/tests/xcopy.c b/programs/xcopy/tests/xcopy.c index 7ca32d6c339..0991d497693 100644 --- a/programs/xcopy/tests/xcopy.c +++ b/programs/xcopy/tests/xcopy.c @@ -97,17 +97,15 @@ static void test_parms_syntax(void) DeleteFileA("xcopytest\\xcopy1"); */ rc = runcmd("xcopy /D/S xcopytest xcopytest2\\"); - todo_wine ok(rc == 0, "xcopy /D/S test failed rc=%u\n", rc); ok(GetFileAttributesA("xcopytest2") == INVALID_FILE_ATTRIBUTES, "xcopy copied empty directory incorrectly\n"); rc = runcmd("xcopy /D/S/E xcopytest xcopytest2\\"); - todo_wine { ok(rc == 0, "xcopy /D/S/E test failed rc=%u\n", rc); + todo_wine ok(GetFileAttributesA("xcopytest2") != INVALID_FILE_ATTRIBUTES, "xcopy failed to copy empty directory\n"); - } RemoveDirectoryA("xcopytest2"); } diff --git a/programs/xcopy/xcopy.c b/programs/xcopy/xcopy.c index 461104a8dac..97b0538e570 100644 --- a/programs/xcopy/xcopy.c +++ b/programs/xcopy/xcopy.c @@ -31,12 +31,14 @@ /* * Notes: - * Apparently, valid return codes are: + * Documented valid return codes are: * 0 - OK - * 1 - No files found to copy + * 1 - No files found to copy (*1) * 2 - CTRL+C during copy * 4 - Initialization error, or invalid source specification * 5 - Disk write error + * + * (*1) Testing shows return code 1 is never returned */ @@ -1165,7 +1167,6 @@ int wmain (int argc, WCHAR *argvW[]) } else if (!(flags & OPT_NOCOPY)) { XCOPY_wprintf(XCOPY_LoadMessage(STRING_COPY), filesCopied); } - if (rc == RC_OK && filesCopied == 0) rc = RC_NOFILES; return rc; }