[MSVCRT_CRT_APITEST]
[reactos.git] / rostests / apitests / crt / _vscprintf.c
1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for _vscprintf
5 */
6
7 #include <apitest.h>
8
9 #include <stdio.h>
10 #include <tchar.h>
11 #include <errno.h>
12
13 static void call_varargs(int expected_ret, LPCSTR formatString, ...)
14 {
15 va_list args;
16 int ret;
17 /* Test the basic functionality */
18 va_start(args, formatString);
19 ret = _vscprintf(formatString, args);
20 ok(expected_ret == ret, "Test failed: expected %i, got %i.\n", expected_ret, ret);
21 }
22
23 START_TEST(_vscprintf)
24 {
25 /* Here you can mix wide and ANSI strings */
26 call_varargs(12, "%S world!", L"hello");
27 call_varargs(12, "%s world!", "hello");
28 call_varargs(11, "%u cookies", 100);
29 /* Do not test NULL argument. That is verified to SEGV on a */
30 /* release-build with VC10 and MS' msvcrt. */
31 }