Index: apitests/crt/_vsnprintf.c
===================================================================
--- apitests/crt/_vsnprintf.c	(revision 64082)
+++ apitests/crt/_vsnprintf.c	(working copy)
@@ -31,37 +31,54 @@
     call_varargs(buffer, 255, 12, "%S world!", L"hello");
     call_varargs(buffer, 255, 12, "%s world!", "hello");
     call_varargs(buffer, 255, 11, "%u cookies", 100);
-    /* This is how WINE implements _vcsprintf, and they are obviously wrong */
+
     StartSeh()
+#if defined(TEST_CRTDLL)||defined(TEST_USER32)
         call_varargs(NULL, INT_MAX, -1, "%s it really work?", "does");
-#if defined(TEST_CRTDLL) || defined(TEST_USER32)
+#else
+        call_varargs(NULL, INT_MAX, 20, "%s it really work?", "does");
+#endif
+
+#if defined(TEST_CRTDLL)||defined(TEST_USER32)
     EndSeh(STATUS_ACCESS_VIOLATION);
 #else
     EndSeh(STATUS_SUCCESS);
 #endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
+
+#if defined(TEST_USER32) /* NTDLL doesn't use/set errno */
     ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
+#else
+    ok(errno == 0, "Expected 0, got %u \n", errno);
 #endif
+
     /* This one is no better */
     StartSeh()
+#if defined(TEST_CRTDLL)||defined(TEST_USER32)
         call_varargs(NULL, 0, -1, "%s it really work?", "does");
-#if defined(TEST_CRTDLL) || defined(TEST_USER32)
+#else
+        call_varargs(NULL, 0, 20, "%s it really work?", "does");
+#endif
+
+#if defined(TEST_USER32)
     EndSeh(STATUS_ACCESS_VIOLATION);
-#else
+#else 
     EndSeh(STATUS_SUCCESS);
 #endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
+
+#if defined(TEST_USER32) /* NTDLL doesn't use/set errno */
     ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
+#else
+    ok(errno == 0, "Expected 0, got %u \n", errno);
 #endif
+
     /* One more NULL checks */
     StartSeh()
         call_varargs(buffer, 255, -1, NULL);
-#if defined(TEST_CRTDLL)
     EndSeh(STATUS_ACCESS_VIOLATION);
+
+#if defined(TEST_USER32) /* NTDLL doesn't use/set errno */
+    ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
 #else
-    EndSeh(STATUS_SUCCESS);
+    ok(errno == 0, "Expected 0, got %u \n", errno);
 #endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
-    ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
-#endif
 }
Index: apitests/crt/_vsnwprintf.c
===================================================================
--- apitests/crt/_vsnwprintf.c	(revision 64082)
+++ apitests/crt/_vsnwprintf.c	(working copy)
@@ -1,7 +1,7 @@
 /*
  * PROJECT:         ReactOS api tests
  * LICENSE:         GPL - See COPYING in the top level directory
- * PURPOSE:         Test for _vsnprintf
+ * PURPOSE:         Test for _vsnwprintf
  */
 
 #include <apitest.h>
@@ -28,40 +28,43 @@
     wchar_t buffer[255];
 
     /* Test basic functionality */
-    call_varargs(buffer, 255, 19, L"%s world!", "hello");
+    call_varargs(buffer, 255, 10, L"%s world!", "hello");
     call_varargs(buffer, 255, 12, L"%s world!", L"hello");
     call_varargs(buffer, 255, 11, L"%u cookies", 100);
     /* This is how WINE implements _vcsprintf, and they are obviously wrong */
     StartSeh()
+#if defined(TEST_CRTDLL)
         call_varargs(NULL, INT_MAX, -1, L"%s it really work?", L"does");
-#if defined(TEST_CRTDLL)
+#else 
+        call_varargs(NULL, INT_MAX, 20, L"%s it really work?", L"does");
+#endif
+
+#if defined(TEST_USER32)
     EndSeh(STATUS_ACCESS_VIOLATION);
-#else
+#else 
     EndSeh(STATUS_SUCCESS);
 #endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
+
+#if defined(TEST_USER32)/* NTDLL doesn't use/set errno */
     ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
+#else 
+    ok(errno == 0, "Expected 0, got %u\n", errno);
 #endif
+    
     /* This one is no better */
     StartSeh()
+#if defined(TEST_CRTDLL)
         call_varargs(NULL, 0, -1, L"%s it really work?", L"does");
-#if defined(TEST_CRTDLL)
-    EndSeh(STATUS_ACCESS_VIOLATION);
-#else
+#else 
+        call_varargs(NULL, 0, 20, L"%s it really work?", L"does");
+#endif
     EndSeh(STATUS_SUCCESS);
-#endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
-    ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
-#endif
+    ok(errno == 0, "Expected 0, got %u\n", errno);
+
+
     /* One more NULL checks */
     StartSeh()
         call_varargs(buffer, 255, -1, NULL);
-#if defined(TEST_CRTDLL)
     EndSeh(STATUS_ACCESS_VIOLATION);
-#else
-    EndSeh(STATUS_SUCCESS);
-#endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
-    ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
-#endif
+    ok(errno == 0, "Expected 0, got %u\n", errno);
 }
