[PATCH 1/2] kernel32/tests: Remove GetLongPathName() workarounds.

Nikolay Sivov nsivov at codeweavers.com
Tue Jan 7 03:48:28 CST 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/kernel32/tests/path.c | 363 ++++++++++++++++---------------------
 1 file changed, 152 insertions(+), 211 deletions(-)

diff --git a/dlls/kernel32/tests/path.c b/dlls/kernel32/tests/path.c
index 71577793b0..94037d636c 100644
--- a/dlls/kernel32/tests/path.c
+++ b/dlls/kernel32/tests/path.c
@@ -66,9 +66,6 @@
 static const CHAR funny_chars[]="!@#$%^&*()=+{}[],?'`";
 static const CHAR is_char_ok[] ="11111110111111111011";
 
-static DWORD (WINAPI *pGetLongPathNameA)(LPCSTR,LPSTR,DWORD);
-static DWORD (WINAPI *pGetLongPathNameW)(LPWSTR,LPWSTR,DWORD);
-
 /* Present in Win2003+ */
 static BOOL  (WINAPI *pNeedCurrentDirectoryForExePathA)(LPCSTR);
 static BOOL  (WINAPI *pNeedCurrentDirectoryForExePathW)(LPCWSTR);
@@ -127,14 +124,11 @@ static void test_ValidPathA(const CHAR *curdir, const CHAR *subdir, const CHAR *
     passfail->shortlen=-1;passfail->s2llen=-1;passfail->longlen=-1;
     passfail->shorterror=0;passfail->s2lerror=0;passfail->longerror=0;
   }
-/* GetLongPathNameA is only supported on Win2k+ and Win98+ */
-  if(pGetLongPathNameA) {
-    ok((len=pGetLongPathNameA(curdir,curdirlong,MAX_PATH)),
-       "%s: GetLongPathNameA failed\n",errstr);
+
+  ok((len = GetLongPathNameA(curdir,curdirlong,MAX_PATH)), "%s: GetLongPathNameA failed\n", errstr);
 /*GetLongPathNameA can return a trailing '\\' but shouldn't do so here */
-    ok(! HAS_TRAIL_SLASH_A(curdirlong),
-       "%s: GetLongPathNameA should not have a trailing \\\n",errstr);
-  }
+  ok(!HAS_TRAIL_SLASH_A(curdirlong), "%s: GetLongPathNameA should not have a trailing \\\n", errstr);
+
   ok((len=GetShortPathNameA(curdir,curdirshort,MAX_PATH)),
      "%s: GetShortPathNameA failed\n",errstr);
 /*GetShortPathNameA can return a trailing '\\' but shouldn't do so here */
@@ -175,35 +169,38 @@ static void test_ValidPathA(const CHAR *curdir, const CHAR *subdir, const CHAR *
     passfail->shortlen=len;
     passfail->shorterror=GetLastError();
   }
-/* Test GetLongPathNameA functionality
-   We test both conversion from GetFullPathNameA and from GetShortPathNameA
-*/
-  if(pGetLongPathNameA) {
-    if(len!=0) {
-      SetLastError(0);
-      len=pGetLongPathNameA(shortstr,tmpstr,MAX_PATH);
-      if(passfail==NULL) {
-        ok(len,
-          "%s: GetLongPathNameA failed during Short->Long conversion\n", errstr);
-        ok(lstrcmpiA(fullpathlong,tmpstr)==0,
-           "%s: GetLongPathNameA returned '%s' instead of '%s'\n",
-           errstr,tmpstr,fullpathlong);
-      } else {
-        passfail->s2llen=len;
-        passfail->s2lerror=GetLastError();
-      }
+
+    /* Test GetLongPathNameA functionality, both conversion from GetFullPathNameA and from GetShortPathNameA */
+    if (len)
+    {
+        SetLastError(0);
+        len = GetLongPathNameA(shortstr, tmpstr, MAX_PATH);
+        if (!passfail)
+        {
+            ok(len, "%s: GetLongPathNameA failed during Short->Long conversion\n", errstr);
+            ok(!lstrcmpiA(fullpathlong, tmpstr), "%s: GetLongPathNameA returned '%s' instead of '%s'\n", errstr,
+                    tmpstr, fullpathlong);
+        }
+        else
+        {
+            passfail->s2llen = len;
+            passfail->s2lerror = GetLastError();
+        }
     }
+
     SetLastError(0);
-    len=pGetLongPathNameA(fullpath,tmpstr,MAX_PATH);
-    if(passfail==NULL) {
-      ok(len, "%s: GetLongPathNameA failed\n",errstr);
-      ok(!lstrcmpiA(fullpathlong, tmpstr), "%s: GetLongPathNameA returned '%s' instead of '%s'\n",
-         errstr, tmpstr, fullpathlong);
-    } else {
-      passfail->longlen=len;
-      passfail->longerror=GetLastError();
+    len = GetLongPathNameA(fullpath, tmpstr, MAX_PATH);
+    if (!passfail)
+    {
+        ok(len, "%s: GetLongPathNameA failed\n",errstr);
+        ok(!lstrcmpiA(fullpathlong, tmpstr), "%s: GetLongPathNameA returned '%s' instead of '%s'\n",
+                errstr, tmpstr, fullpathlong);
+    }
+    else
+    {
+        passfail->longlen = len;
+        passfail->longerror = GetLastError();
     }
-  }
 }
 
 /* split path into leading directory, and 8.3 filename */
@@ -282,19 +279,18 @@ static void test_FunnyChars(CHAR *curdir,CHAR *curdir_short,CHAR *filename, INT
          "%s: GetShortPathA should have failed len=%d, error=%d\n",
          errstr,passfail.shortlen,passfail.shorterror);
   }
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    if(valid) {
-      ok(passfail.longerror==ERROR_FILE_NOT_FOUND,
-         "%s: GetLongPathA returned %d and not %d\n",
-         errstr,passfail.longerror,ERROR_FILE_NOT_FOUND);
-    } else {
-      ok(passfail.longerror==ERROR_INVALID_NAME ||
-         passfail.longerror==ERROR_FILE_NOT_FOUND,
-         "%s: GetLongPathA returned %d and not %d or %d'\n",
-         errstr, passfail.longerror,ERROR_INVALID_NAME,ERROR_FILE_NOT_FOUND);
+
+    ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+    if (valid)
+    {
+        ok(passfail.longerror == ERROR_FILE_NOT_FOUND, "%s: GetLongPathA unexpected error %d.\n", errstr,
+                passfail.longerror);
+    }
+    else
+    {
+        ok(passfail.longerror == ERROR_INVALID_NAME || passfail.longerror == ERROR_FILE_NOT_FOUND,
+                "%s: GetLongPathA unexpected error %d.\n", errstr, passfail.longerror);
     }
-  }
 }
 
 /* Routine to test that SetCurrentDirectory behaves as expected. */
@@ -612,6 +608,7 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
   INT i;
   CHAR dir[MAX_PATH],eight[MAX_PATH],three[MAX_PATH];
   SLpassfail passfail;
+  DWORD rc1, rc2;
 
 /* Get the short form of the current directory */
   ok((len=GetShortPathNameA(curdir,curdir_short,MAX_PATH)),
@@ -625,21 +622,17 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
   ok(lstrcmpiA(longdir_short+(len-1),"\\")!=0,
      "GetShortPathNameA should not have a trailing \\\n");
 
-  if (pGetLongPathNameA) {
-    DWORD rc1,rc2;
-    sprintf(tmpstr,"%s\\%s\\%s",curdir,LONGDIR,LONGFILE);
-    rc1=(*pGetLongPathNameA)(tmpstr,NULL,0);
-    rc2=(*pGetLongPathNameA)(curdir,NULL,0);
-    ok((rc1-strlen(tmpstr))==(rc2-strlen(curdir)),
-       "GetLongPathNameA: wrong return code, %d instead of %d\n",
-       rc1, lstrlenA(tmpstr)+1);
-
-    sprintf(dir,"%c:",curDrive);
-    rc1=(*pGetLongPathNameA)(dir,tmpstr,sizeof(tmpstr));
-    ok(strcmp(dir,tmpstr)==0,
-       "GetLongPathNameA: returned '%s' instead of '%s' (rc=%d)\n",
-       tmpstr,dir,rc1);
-  }
+  sprintf(tmpstr,"%s\\%s\\%s",curdir,LONGDIR,LONGFILE);
+  rc1 = GetLongPathNameA(tmpstr, NULL, 0);
+  rc2 = GetLongPathNameA(curdir, NULL, 0);
+  ok((rc1-strlen(tmpstr))==(rc2-strlen(curdir)),
+     "GetLongPathNameA: wrong return code, %d instead of %d\n",
+     rc1, lstrlenA(tmpstr)+1);
+
+  sprintf(dir,"%c:",curDrive);
+  rc1= GetLongPathNameA(dir, tmpstr, sizeof(tmpstr));
+  ok(!strcmp(dir,tmpstr), "GetLongPathNameA: returned '%s' instead of '%s' (rc=%d)\n",
+       tmpstr, dir, rc1);
 
 /* Check the cases where both file and directory exist first */
 /* Start with a 8.3 directory, 8.3 filename */
@@ -670,11 +663,10 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      (passfail.shortlen==strlen(tmpstr1) && lstrcmpiA(tmpstr,tmpstr1)==0),
      "GetShortPathNameA error: len=%d error=%d tmpstr=[%s]\n",
      passfail.shortlen,passfail.shorterror,tmpstr);
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_FILE_NOT_FOUND,
-       "GetlongPathA should have returned 'ERROR_FILE_NOT_FOUND'\n");
-  }
+
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_FILE_NOT_FOUND, "Unexpected error %d.\n", passfail.longerror);
+
 /* Now try a 8.3 directory, long file name */
   test_ValidPathA(curdir,SHORTDIR,NONFILE_LONG,tmpstr,&passfail,"test6");
   ok(passfail.shortlen==0,"GetShortPathNameA passed when it shouldn't have\n");
@@ -682,11 +674,9 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      passfail.shorterror==ERROR_FILE_NOT_FOUND ||
      !passfail.shorterror,
      "GetShortPathA should have returned 'ERROR_FILE_NOT_FOUND'\n");
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_FILE_NOT_FOUND,
-       "GetlongPathA should have returned 'ERROR_FILE_NOT_FOUND'\n");
-  }
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_FILE_NOT_FOUND, "Unexpected error %d.\n", passfail.longerror);
+
 /* Next is a long directory, 8.3 file */
   test_ValidPathA(curdir,LONGDIR,NONFILE_SHORT,tmpstr,&passfail,"test7");
   sprintf(tmpstr2,"%s\\%s",curdir_short,LONGDIR);
@@ -698,11 +688,9 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      (passfail.shortlen==strlen(tmpstr1) && lstrcmpiA(tmpstr,tmpstr1)==0),
      "GetShortPathNameA error: len=%d error=%d tmpstr=[%s]\n",
      passfail.shortlen,passfail.shorterror,tmpstr);
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_FILE_NOT_FOUND,
-      "GetlongPathA should have returned 'ERROR_FILE_NOT_FOUND'\n");
-  }
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_FILE_NOT_FOUND, "Unexpected error %d.\n", passfail.longerror);
+
 /*Lastly a long directory, long file */
   test_ValidPathA(curdir,LONGDIR,NONFILE_LONG,tmpstr,&passfail,"test8");
   ok(passfail.shortlen==0,"GetShortPathNameA passed when it shouldn't have\n");
@@ -710,11 +698,9 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      passfail.shorterror==ERROR_FILE_NOT_FOUND ||
      !passfail.shorterror,
      "GetShortPathA should have returned 'ERROR_FILE_NOT_FOUND'\n");
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_FILE_NOT_FOUND,
-       "GetlongPathA should have returned 'ERROR_FILE_NOT_FOUND'\n");
-  }
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_FILE_NOT_FOUND, "Unexpected error %d.\n", passfail.longerror);
+
 /* Now try again with directories that don't exist */
 /* 8.3 directory, 8.3 filename */
   test_ValidPathA(curdir,NONDIR_SHORT,SHORTFILE,tmpstr,&passfail,"test9");
@@ -725,13 +711,10 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      (passfail.shortlen==strlen(tmpstr1) && lstrcmpiA(tmpstr,tmpstr1)==0),
      "GetShortPathNameA error: len=%d error=%d tmpstr=[%s]\n",
      passfail.shortlen,passfail.shorterror,tmpstr);
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_PATH_NOT_FOUND ||
-       passfail.longerror==ERROR_FILE_NOT_FOUND,
-       "GetLongPathA returned %d and not 'ERROR_PATH_NOT_FOUND'\n",
-       passfail.longerror);
-  }
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_PATH_NOT_FOUND || passfail.longerror == ERROR_FILE_NOT_FOUND,
+     "Unexpected error %d.\n", passfail.longerror);
+
 /* Now try a 8.3 directory, long file name */
   test_ValidPathA(curdir,NONDIR_SHORT,LONGFILE,tmpstr,&passfail,"test10");
   ok(passfail.shortlen==0,"GetShortPathNameA passed when it shouldn't have\n");
@@ -740,13 +723,10 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      !passfail.shorterror,
      "GetShortPathA returned %d and not 'ERROR_PATH_NOT_FOUND'\n",
       passfail.shorterror);
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_PATH_NOT_FOUND ||
-       passfail.longerror==ERROR_FILE_NOT_FOUND,
-       "GetLongPathA returned %d and not 'ERROR_PATH_NOT_FOUND'\n",
-       passfail.longerror);
-  }
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_PATH_NOT_FOUND || passfail.longerror == ERROR_FILE_NOT_FOUND,
+     "Unexpected error %d.\n", passfail.longerror);
+
 /* Next is a long directory, 8.3 file */
   test_ValidPathA(curdir,NONDIR_LONG,SHORTFILE,tmpstr,&passfail,"test11");
   ok(passfail.shortlen==0,"GetShortPathNameA passed when it shouldn't have\n");
@@ -755,13 +735,10 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      !passfail.shorterror,
      "GetShortPathA returned %d and not 'ERROR_PATH_NOT_FOUND'\n",
       passfail.shorterror);
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_PATH_NOT_FOUND ||
-       passfail.longerror==ERROR_FILE_NOT_FOUND,
-       "GetLongPathA returned %d and not 'ERROR_PATH_NOT_FOUND'\n",
-       passfail.longerror);
-  }
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_PATH_NOT_FOUND || passfail.longerror == ERROR_FILE_NOT_FOUND,
+     "Unexpected error %d.\n", passfail.longerror);
+
 /*Lastly a long directory, long file */
   test_ValidPathA(curdir,NONDIR_LONG,LONGFILE,tmpstr,&passfail,"test12");
   ok(passfail.shortlen==0,"GetShortPathNameA passed when it shouldn't have\n");
@@ -770,13 +747,10 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      !passfail.shorterror,
      "GetShortPathA returned %d and not 'ERROR_PATH_NOT_FOUND'\n",
       passfail.shorterror);
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_PATH_NOT_FOUND ||
-       passfail.longerror==ERROR_FILE_NOT_FOUND,
-       "GetLongPathA returned %d and not 'ERROR_PATH_NOT_FOUND'\n",
-       passfail.longerror);
-  }
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_PATH_NOT_FOUND || passfail.longerror == ERROR_FILE_NOT_FOUND,
+     "Unexpected error %d.\n", passfail.longerror);
+
 /* Next try directories ending with '\\' */
 /* Existing Directories */
   sprintf(tmpstr,"%s\\",SHORTDIR);
@@ -793,12 +767,9 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      (passfail.shortlen==strlen(tmpstr2) && lstrcmpiA(tmpstr1,tmpstr2)==0),
      "GetShortPathNameA error: len=%d error=%d tmpstr=[%s]\n",
      passfail.shortlen,passfail.shorterror,tmpstr);
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_FILE_NOT_FOUND,
-       "GetLongPathA returned %d and not 'ERROR_FILE_NOT_FOUND'\n",
-       passfail.longerror);
-  }
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_FILE_NOT_FOUND, "Unexpected error %d.\n", passfail.longerror);
+
   sprintf(tmpstr,"%s\\",NONDIR_LONG);
   test_ValidPathA(curdir,"",tmpstr,tmpstr1,&passfail,"test16");
   ok(passfail.shortlen==0,"GetShortPathNameA passed when it shouldn't have\n");
@@ -807,12 +778,9 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
      !passfail.shorterror,
      "GetShortPathA returned %d and not 'ERROR_FILE_NOT_FOUND'\n",
       passfail.shorterror);
-  if(pGetLongPathNameA) {
-    ok(passfail.longlen==0,"GetLongPathNameA passed when it shouldn't have\n");
-    ok(passfail.longerror==ERROR_FILE_NOT_FOUND,
-       "GetLongPathA returned %d and not 'ERROR_FILE_NOT_FOUND'\n",
-       passfail.longerror);
-  }
+  ok(!passfail.longlen, "GetLongPathNameA passed when it shouldn't have\n");
+  ok(passfail.longerror == ERROR_FILE_NOT_FOUND, "Unexpected error %d.\n", passfail.longerror);
+
 /* Test GetFullPathNameA with drive letters */
   if( curDrive != NOT_A_VALID_DRIVE) {
     sprintf(tmpstr,"%c:",curdir[0]);
@@ -863,26 +831,25 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
   }
   /* Don't Starve relies on GetLongPathName returning the passed in filename,
      even if the actual file on disk has a different case or separator */
-  if (pGetLongPathNameA) {
-    int len = lstrlenA(LONGDIR) + 1;
-    sprintf(tmpstr,"%s/%s",LONGDIR,LONGFILE);
-    ok(GetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
-    ok(lstrcmpiA(tmpstr,tmpstr1)==0,
-       "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
-    tmpstr[len] = tolower(tmpstr[len]);
-    ok(GetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
-    ok(lstrcmpA(tmpstr,tmpstr1)==0,
-       "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
-    sprintf(tmpstr,"%s/%s",SHORTDIR,SHORTFILE);
-    ok(GetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
-    ok(lstrcmpiA(tmpstr,tmpstr1)==0,
-       "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
-    len = lstrlenA(SHORTDIR) + 1;
-    tmpstr[len] = toupper(tmpstr[len]);
-    ok(GetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
-    ok(lstrcmpiA(tmpstr,tmpstr1)==0 && lstrcmpA(tmpstr,tmpstr1) != 0,
-       "GetLongPathNameA returned '%s' instead of '%s/%s'\n",tmpstr1,SHORTDIR,SHORTFILE);
-  }
+  len = lstrlenA(LONGDIR) + 1;
+  sprintf(tmpstr,"%s/%s",LONGDIR,LONGFILE);
+  ok(GetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
+  ok(lstrcmpiA(tmpstr,tmpstr1)==0,
+     "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
+  tmpstr[len] = tolower(tmpstr[len]);
+  ok(GetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
+  ok(lstrcmpA(tmpstr,tmpstr1)==0,
+     "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
+  sprintf(tmpstr,"%s/%s",SHORTDIR,SHORTFILE);
+  ok(GetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
+  ok(lstrcmpiA(tmpstr,tmpstr1)==0,
+     "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
+  len = lstrlenA(SHORTDIR) + 1;
+  tmpstr[len] = toupper(tmpstr[len]);
+  ok(GetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
+  ok(lstrcmpiA(tmpstr,tmpstr1)==0 && lstrcmpA(tmpstr,tmpstr1) != 0,
+     "GetLongPathNameA returned '%s' instead of '%s/%s'\n",tmpstr1,SHORTDIR,SHORTFILE);
+
   sprintf(tmpstr,"%s/%s",SHORTDIR,SHORTFILE);
   ok(GetShortPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetShortPathNameA failed\n");
   ok(lstrcmpiA(tmpstr,tmpstr1)==0,
@@ -909,22 +876,17 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
 /* Now try some relative paths */
   ok(GetShortPathNameA(LONGDIR,tmpstr,MAX_PATH),"GetShortPathNameA failed\n");
   test_SplitShortPathA(tmpstr,dir,eight,three);
-  if(pGetLongPathNameA) {
-    ok(pGetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
-    ok(lstrcmpiA(tmpstr1,LONGDIR)==0,
-       "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,LONGDIR);
-  }
+  ok(GetLongPathNameA(tmpstr, tmpstr1, MAX_PATH), "GetLongPathNameA failed\n");
+  ok(!lstrcmpiA(tmpstr1, LONGDIR), "GetLongPathNameA returned '%s' instead of '%s'\n", tmpstr1, LONGDIR);
+
   sprintf(tmpstr,".\\%s",LONGDIR);
   ok(GetShortPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetShortPathNameA failed\n");
   test_SplitShortPathA(tmpstr1,dir,eight,three);
   ok(lstrcmpiA(dir,".")==0 || dir[0]=='\0',
      "GetShortPathNameA did not keep relative directory [%s]\n",tmpstr1);
-  if(pGetLongPathNameA) {
-    ok(pGetLongPathNameA(tmpstr1,tmpstr1,MAX_PATH),"GetLongPathNameA failed %s\n",
-       tmpstr);
-    ok(lstrcmpiA(tmpstr1,tmpstr)==0,
-       "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
-  }
+  ok(GetLongPathNameA(tmpstr1, tmpstr1, MAX_PATH), "GetLongPathNameA failed %s\n", tmpstr);
+  ok(!lstrcmpiA(tmpstr1, tmpstr), "GetLongPathNameA returned '%s' instead of '%s'\n", tmpstr1, tmpstr);
+
 /* Check out Get*PathNameA on some funny characters */
   for(i=0;i<lstrlenA(funny_chars);i++) {
     INT valid;
@@ -966,17 +928,13 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive)
   ok(lstrcmpiA(tmpstr,tmpstr1)==0,
        "GetShortPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
 
-  if (pGetLongPathNameA) {
-    sprintf(tmpstr,"%s\\\\%s",LONGDIR,LONGFILE);
-    ok(pGetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
-    ok(lstrcmpiA(tmpstr,tmpstr1)==0,
-        "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
+  sprintf(tmpstr,"%s\\\\%s",LONGDIR,LONGFILE);
+  ok(GetLongPathNameA(tmpstr, tmpstr1, MAX_PATH), "GetLongPathNameA failed\n");
+  ok(!lstrcmpiA(tmpstr,tmpstr1), "GetLongPathNameA returned '%s' instead of '%s'\n", tmpstr1, tmpstr);
 
-    sprintf(tmpstr,".\\\\%s\\\\%s",LONGDIR,LONGFILE);
-    ok(pGetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n");
-    ok(lstrcmpiA(tmpstr,tmpstr1)==0,
-       "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
-  }
+  sprintf(tmpstr,".\\\\%s\\\\%s",LONGDIR,LONGFILE);
+  ok(GetLongPathNameA(tmpstr, tmpstr1, MAX_PATH), "GetLongPathNameA failed\n");
+  ok(!lstrcmpiA(tmpstr,tmpstr1), "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr);
 }
 
 static void test_GetTempPathA(char* tmp_dir)
@@ -1202,15 +1160,12 @@ static void test_GetLongPathNameA(void)
     char temppath[MAX_PATH], temppath2[MAX_PATH];
     HANDLE file;
 
-    if (!pGetLongPathNameA)
-        return;
-
     GetTempPathA(MAX_PATH, tempfile);
     name = tempfile + strlen(tempfile);
 
     strcpy(name, "*");
     SetLastError(0xdeadbeef);
-    length = pGetLongPathNameA(tempfile, temppath, MAX_PATH);
+    length = GetLongPathNameA(tempfile, temppath, MAX_PATH);
     ok(!length, "GetLongPathNameA should fail\n");
     ok(GetLastError() == ERROR_INVALID_NAME, "wrong error %d\n", GetLastError());
 
@@ -1221,7 +1176,7 @@ static void test_GetLongPathNameA(void)
 
     /* Test a normal path with a small buffer size */
     memset(temppath, 0, MAX_PATH);
-    length = pGetLongPathNameA(tempfile, temppath, 4);
+    length = GetLongPathNameA(tempfile, temppath, 4);
     /* We have a failure so length should be the minimum plus the terminating '0'  */
     ok(length >= strlen(tempfile) + 1, "Wrong length\n");
     ok(temppath[0] == 0, "Buffer should not have been touched\n");
@@ -1235,7 +1190,7 @@ static void test_GetLongPathNameA(void)
     explength = length + 4;
 
     SetLastError(0xdeadbeef);
-    length = pGetLongPathNameA(temppath2, NULL, 0);
+    length = GetLongPathNameA(temppath2, NULL, 0);
     if (length == 0 && GetLastError() == ERROR_BAD_NET_NAME)
     {
         win_skip("UNC syntax tests don't work on Win98/WinMe\n");
@@ -1244,10 +1199,10 @@ static void test_GetLongPathNameA(void)
     }
     ok(length == explength, "Wrong length %d, expected %d\n", length, explength);
 
-    length = pGetLongPathNameA(temppath2, NULL, MAX_PATH);
+    length = GetLongPathNameA(temppath2, NULL, MAX_PATH);
     ok(length == explength, "Wrong length %d, expected %d\n", length, explength);
 
-    length = pGetLongPathNameA(temppath2, temppath, 4);
+    length = GetLongPathNameA(temppath2, temppath, 4);
     ok(length == explength, "Wrong length %d, expected %d\n", length, explength);
     ok(temppath[0] == 0, "Buffer should not have been touched\n");
 
@@ -1267,7 +1222,7 @@ static void test_GetLongPathNameA(void)
 
     /* Create a long syntax for reference */
     memset(longpath, 0, MAX_PATH);
-    pGetLongPathNameA(tempfile, temppath, MAX_PATH);
+    GetLongPathNameA(tempfile, temppath, MAX_PATH);
     lstrcpyA(longpath, unc_prefix);
     longpath[lstrlenA(longpath)] = temppath[0];
     lstrcatA(longpath, "$\\");
@@ -1275,7 +1230,7 @@ static void test_GetLongPathNameA(void)
 
     /* NULL test */
     SetLastError(0xdeadbeef);
-    length = pGetLongPathNameA(unc_short, NULL, 0);
+    length = GetLongPathNameA(unc_short, NULL, 0);
     if (length == 0 && GetLastError() == ERROR_BAD_NETPATH)
     {
         /* Seen on Window XP Home */
@@ -1287,19 +1242,19 @@ static void test_GetLongPathNameA(void)
     todo_wine
     ok(length == explength, "Wrong length %d, expected %d\n", length, explength);
 
-    length = pGetLongPathNameA(unc_short, NULL, MAX_PATH);
+    length = GetLongPathNameA(unc_short, NULL, MAX_PATH);
     todo_wine
     ok(length == explength, "Wrong length %d, expected %d\n", length, explength);
 
     memset(unc_long, 0, MAX_PATH);
-    length = pGetLongPathNameA(unc_short, unc_long, lstrlenA(unc_short));
+    length = GetLongPathNameA(unc_short, unc_long, lstrlenA(unc_short));
     /* length will include terminating '0' on failure */
     todo_wine
     ok(length == explength, "Wrong length %d, expected %d\n", length, explength);
     ok(unc_long[0] == 0, "Buffer should not have been touched\n");
 
     memset(unc_long, 0, MAX_PATH);
-    length = pGetLongPathNameA(unc_short, unc_long, length);
+    length = GetLongPathNameA(unc_short, unc_long, length);
     /* length doesn't include terminating '0' on success */
     explength--;
     todo_wine
@@ -1324,11 +1279,8 @@ static void test_GetLongPathNameW(void)
     static const WCHAR backslash[] = { '\\', 0};
     static const WCHAR letterX[] = { 'X', 0};
 
-    if (!pGetLongPathNameW)
-        return;
-
     SetLastError(0xdeadbeef); 
-    length = pGetLongPathNameW(NULL,NULL,0);
+    length = GetLongPathNameW(NULL,NULL,0);
     if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
     {
         win_skip("GetLongPathNameW is not implemented\n");
@@ -1339,7 +1291,7 @@ static void test_GetLongPathNameW(void)
 
     SetLastError(0xdeadbeef); 
     empty[0]=0;
-    length = pGetLongPathNameW(empty,NULL,0);
+    length = GetLongPathNameW(empty,NULL,0);
     ok(0==length,"GetLongPathNameW returned %d but expected 0\n",length);
     ok(GetLastError()==ERROR_PATH_NOT_FOUND,"GetLastError returned %d but expected ERROR_PATH_NOT_FOUND\n",GetLastError());
 
@@ -1366,14 +1318,14 @@ static void test_GetLongPathNameW(void)
 
     /* No prefix */
     SetLastError(0xdeadbeef);
-    length = pGetLongPathNameW(shortpath + 4, NULL, 0);
+    length = GetLongPathNameW(shortpath + 4, NULL, 0);
     ok(length == 0, "Expected 0, got %d\n", length);
     todo_wine
     ok(GetLastError() == ERROR_PATH_NOT_FOUND,
        "Expected ERROR_PATH_NOT_FOUND, got %d\n", GetLastError());
     /* With prefix */
     SetLastError(0xdeadbeef);
-    length = pGetLongPathNameW(shortpath, NULL, 0);
+    length = GetLongPathNameW(shortpath, NULL, 0);
     todo_wine
     {
     ok(length == 0, "Expected 0, got %d\n", length);
@@ -1391,21 +1343,21 @@ static void test_GetLongPathNameW(void)
 
     /* No prefix */
     SetLastError(0xdeadbeef);
-    length = pGetLongPathNameW(shortpath + 4, NULL, 0);
+    length = GetLongPathNameW(shortpath + 4, NULL, 0);
     todo_wine
     {
     ok(length == 0, "Expected 0, got %d\n", length);
     ok(GetLastError() == ERROR_PATH_NOT_FOUND, "Expected ERROR_PATH_NOT_FOUND, got %d\n", GetLastError());
     }
     /* With prefix */
-    expanded = 4 + (pGetLongPathNameW(tempdir, NULL, 0) - 1) + lstrlenW(name) + 1 + lstrlenW(name) + 1;
+    expanded = 4 + (GetLongPathNameW(tempdir, NULL, 0) - 1) + lstrlenW(name) + 1 + lstrlenW(name) + 1;
     SetLastError(0xdeadbeef);
-    length = pGetLongPathNameW(shortpath, NULL, 0);
+    length = GetLongPathNameW(shortpath, NULL, 0);
     ok(length == expanded, "Expected %d, got %d\n", expanded, length);
 
     /* NULL buffer with length crashes on Windows */
     if (0)
-        pGetLongPathNameW(shortpath, NULL, 20);
+        GetLongPathNameW(shortpath, NULL, 20);
 
     ok(DeleteFileW(shortpath), "Could not delete temporary file\n");
     ok(RemoveDirectoryW(dirpath), "Could not delete temporary directory\n");
@@ -1738,16 +1690,13 @@ static void test_drive_letter_case(void)
     ok(buf[1] == ':', "expected buf[1] == ':' got %c\n", buf[1]);
     ok(is_upper_case_letter(buf[0]), "expected buf[0] upper case letter got %c\n", buf[0]);
 
-    if (pGetLongPathNameA)
-    {
-        /* re-use the buffer returned by GetShortPathName */
-        SetLastError(0xdeadbeef);
-        ret = pGetLongPathNameA(buf, buf, sizeof(buf));
-        ok(ret, "GetLongPathNameA error %u\n", GetLastError());
-        ok(ret < sizeof(buf), "buffer should be %u bytes\n", ret);
-        ok(buf[1] == ':', "expected buf[1] == ':' got %c\n", buf[1]);
-        ok(is_upper_case_letter(buf[0]), "expected buf[0] upper case letter got %c\n", buf[0]);
-    }
+    /* re-use the buffer returned by GetShortPathName */
+    SetLastError(0xdeadbeef);
+    ret = GetLongPathNameA(buf, buf, sizeof(buf));
+    ok(ret, "GetLongPathNameA error %u\n", GetLastError());
+    ok(ret < sizeof(buf), "buffer should be %u bytes\n", ret);
+    ok(buf[1] == ':', "expected buf[1] == ':' got %c\n", buf[1]);
+    ok(is_upper_case_letter(buf[0]), "expected buf[0] upper case letter got %c\n", buf[0]);
 #undef is_upper_case_letter
 }
 
@@ -2201,8 +2150,6 @@ static void init_pointers(void)
     HMODULE mod = GetModuleHandleA("kernel32.dll");
 
 #define MAKEFUNC(f) (p##f = (void*)GetProcAddress(mod, #f))
-    MAKEFUNC(GetLongPathNameA);
-    MAKEFUNC(GetLongPathNameW);
     MAKEFUNC(NeedCurrentDirectoryForExePathA);
     MAKEFUNC(NeedCurrentDirectoryForExePathW);
     MAKEFUNC(SetSearchPathMode);
@@ -2232,8 +2179,6 @@ static void test_relative_path(void)
     int ret;
     WCHAR curdir[MAX_PATH];
 
-    if (!pGetLongPathNameA) return;
-
     GetCurrentDirectoryW(MAX_PATH, curdir);
     GetTempPathA(MAX_PATH, path);
     ret = SetCurrentDirectoryA(path);
@@ -2253,7 +2198,7 @@ static void test_relative_path(void)
     ok(ret != INVALID_FILE_ATTRIBUTES, "GetFileAttributes error %d\n", GetLastError());
 
     strcpy(buf, "deadbeef");
-    ret = pGetLongPathNameA(".", buf, MAX_PATH);
+    ret = GetLongPathNameA(".", buf, MAX_PATH);
     ok(ret, "GetLongPathName error %d\n", GetLastError());
     ok(!strcmp(buf, "."), "expected ., got %s\n", buf);
     strcpy(buf, "deadbeef");
@@ -2262,7 +2207,7 @@ static void test_relative_path(void)
     ok(!strcmp(buf, "."), "expected ., got %s\n", buf);
 
     strcpy(buf, "deadbeef");
-    ret = pGetLongPathNameA("..", buf, MAX_PATH);
+    ret = GetLongPathNameA("..", buf, MAX_PATH);
     ok(ret, "GetLongPathName error %d\n", GetLastError());
     ok(!strcmp(buf, ".."), "expected .., got %s\n", buf);
     strcpy(buf, "deadbeef");
@@ -2271,7 +2216,7 @@ static void test_relative_path(void)
     ok(!strcmp(buf, ".."), "expected .., got %s\n", buf);
 
     strcpy(buf, "deadbeef");
-    ret = pGetLongPathNameA("..\\foo\\file", buf, MAX_PATH);
+    ret = GetLongPathNameA("..\\foo\\file", buf, MAX_PATH);
     ok(ret, "GetLongPathName error %d\n", GetLastError());
     ok(!strcmp(buf, "..\\foo\\file"), "expected ..\\foo\\file, got %s\n", buf);
     strcpy(buf, "deadbeef");
@@ -2280,7 +2225,7 @@ static void test_relative_path(void)
     ok(!strcmp(buf, "..\\foo\\file"), "expected ..\\foo\\file, got %s\n", buf);
 
     strcpy(buf, "deadbeef");
-    ret = pGetLongPathNameA(".\\..\\foo\\file", buf, MAX_PATH);
+    ret = GetLongPathNameA(".\\..\\foo\\file", buf, MAX_PATH);
     ok(ret, "GetLongPathName error %d\n", GetLastError());
     ok(!strcmp(buf, ".\\..\\foo\\file"), "expected .\\..\\foo\\file, got %s\n", buf);
     strcpy(buf, "deadbeef");
@@ -2290,7 +2235,7 @@ static void test_relative_path(void)
 
     /* test double delimiters */
     strcpy(buf, "deadbeef");
-    ret = pGetLongPathNameA("..\\\\foo\\file", buf, MAX_PATH);
+    ret = GetLongPathNameA("..\\\\foo\\file", buf, MAX_PATH);
     ok(ret, "GetLongPathName error %d\n", GetLastError());
     ok(!strcmp(buf, "..\\\\foo\\file"), "expected ..\\\\foo\\file, got %s\n", buf);
     strcpy(buf, "deadbeef");
@@ -2751,10 +2696,6 @@ START_TEST(path)
     init_pointers();
 
     /* Report only once */
-    if (!pGetLongPathNameA)
-        win_skip("GetLongPathNameA is not available\n");
-    if (!pGetLongPathNameW)
-        win_skip("GetLongPathNameW is not available\n");
     if (!pActivateActCtx)
         win_skip("Activation contexts not supported, some tests will be skipped\n");
 
-- 
2.24.1




More information about the wine-devel mailing list