shell32/tests: On NT4 FindExecutable() returns an extra backspace character in some tests!

Francois Gouget fgouget at codeweavers.com
Mon Apr 2 12:38:15 CDT 2007


---

This too is a pretty huge bug, this time in NT4 (4.00.1381; shell32 
4.00). It would be nice if others could confirm it.


 dlls/shell32/tests/shlexec.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c
index b2a158a..7145fda 100644
--- a/dlls/shell32/tests/shlexec.c
+++ b/dlls/shell32/tests/shlexec.c
@@ -774,14 +774,18 @@ static void test_find_executable(void)
         }
         if (rc > 32)
         {
+            int equal;
+            equal=strcmp(command, argv0) == 0 ||
+                /* NT4 returns an extra 0x8 character! */
+                (strlen(command) == strlen(argv0)+1 && strncmp(command, argv0, strlen(argv0)) == 0);
             if ((test->todo & 0x20)==0)
             {
-                ok(strcmp(command, argv0) == 0, "FindExecutable(%s) returned command='%s' instead of '%s'\n",
+                ok(equal, "FindExecutable(%s) returned command='%s' instead of '%s'\n",
                    filename, command, argv0);
             }
             else todo_wine
             {
-                ok(strcmp(command, argv0) == 0, "FindExecutable(%s) returned command='%s' instead of '%s'\n",
+                ok(equal, "FindExecutable(%s) returned command='%s' instead of '%s'\n",
                    filename, command, argv0);
             }
         }
-- 
1.4.4.4




More information about the wine-patches mailing list