[NTFS]
[reactos.git] / rostests / apitests / msvcrt / splitpath.c
index a8208e0..55f8277 100644 (file)
@@ -5,24 +5,22 @@
  * PROGRAMMER:      Timo Kreuzer
  */
 
-#include <wine/test.h>
+#include <apitest.h>
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <strings.h>
 #include <stdarg.h>
 
-#define ok_str(x, y) \
-    ok(strcmp(x, y) == 0, "got '%s', expected '%s'\n", x, y);
-
-#define ok_int(x, y) \
-    ok(x == y, "got %d, expected %d\n", x, y);
-
 START_TEST(splitpath)
 {
     char drive[5];
     char dir[64];
     char fname[32];
     char ext[10];
+    DWORD Major;
+
+    Major = (DWORD)(LOBYTE(LOWORD(GetVersion())));
 
     _splitpath("c:\\dir1\\dir2\\file.ext", drive, dir, fname, ext);
     ok_str(drive, "c:");
@@ -34,17 +32,32 @@ START_TEST(splitpath)
     _splitpath("c:\\dir1\\dir2\\file.ext", 0, 0, 0, 0);
     ok_int(*_errno(), 0);
 
-    *_errno() = 0;
-    _splitpath(0, drive, dir, fname, ext);
-    ok_int(*_errno(), EINVAL);
-    ok_str(drive, "");
-    ok_str(dir, "");
-    ok_str(fname, "");
-    ok_str(ext, "");
+    if (Major >= 6)
+    {
+        *_errno() = 0;
+        _splitpath(0, drive, dir, fname, ext);
+        ok_int(*_errno(), EINVAL);
+        ok_str(drive, "");
+        ok_str(dir, "");
+        ok_str(fname, "");
+        ok_str(ext, "");
+    }
+    else
+    {
+        win_skip("This test only succeed on NT6+\n");
+    }
 
     _splitpath("\\\\?\\c:\\dir1\\dir2\\file.ext", drive, dir, fname, ext);
-    ok_str(drive, "c:");
-    ok_str(dir, "\\dir1\\dir2\\");
+    if (Major >= 6)
+    {
+        ok_str(drive, "c:");
+        ok_str(dir, "\\dir1\\dir2\\");
+    }
+    else
+    {
+        ok_str(drive, "");
+        ok_str(dir, "\\\\?\\c:\\dir1\\dir2\\");
+    }
     ok_str(fname, "file");
     ok_str(ext, ".ext");
 
@@ -61,8 +74,16 @@ START_TEST(splitpath)
     ok_str(ext, ".ext");
 
     _splitpath("\\\\?\\0:/dir1\\dir2/file.", drive, dir, fname, ext);
-    ok_str(drive, "0:");
-    ok_str(dir, "/dir1\\dir2/");
+    if (Major >= 6)
+    {
+        ok_str(drive, "0:");
+        ok_str(dir, "/dir1\\dir2/");
+    }
+    else
+    {
+        ok_str(drive, "");
+        ok_str(dir, "\\\\?\\0:/dir1\\dir2/");
+    }
     ok_str(fname, "file");
     ok_str(ext, ".");