ReactOS  0.4.14-dev-614-gbfd8a84
_vscprintf.c
Go to the documentation of this file.
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  va_end(args);
21  ok(expected_ret == ret, "Test failed: expected %i, got %i.\n", expected_ret, ret);
22 }
23 
25 {
26  /* Here you can mix wide and ANSI strings */
27  call_varargs(12, "%S world!", L"hello");
28  call_varargs(12, "%s world!", "hello");
29  call_varargs(11, "%u cookies", 100);
30  /* Do not test NULL argument. That is verified to SEGV on a */
31  /* release-build with VC10 and MS' msvcrt. */
32 }
START_TEST(_vscprintf)
Definition: _vscprintf.c:24
Definition: match.c:390
#define va_end(ap)
Definition: acmsvcex.h:90
char * va_list
Definition: acmsvcex.h:78
const char * LPCSTR
Definition: xmlstorage.h:183
static void call_varargs(int expected_ret, LPCSTR formatString,...)
Definition: _vscprintf.c:13
int ret
static const WCHAR L[]
Definition: oid.c:1250
int __cdecl _vscprintf(const char *format, va_list argptr)
Definition: _vscprintf.c:15
#define ok(value,...)
Definition: atltest.h:57
#define va_start(ap, A)
Definition: acmsvcex.h:91
#define args
Definition: format.c:66