]> pd.if.org Git - pdclib.old/blob - functions/stdio/snprintf.c
Enable per-thread locale support to be compiled out
[pdclib.old] / functions / stdio / snprintf.c
1 /* $Id$ */
2
3 /* snprintf( char *, size_t, const char *, ... )
4
5    This file is part of the Public Domain C Library (PDCLib).
6    Permission is granted to use, modify, and / or redistribute at will.
7 */
8
9 #include <stdio.h>
10 #include <stdarg.h>
11
12 #ifndef REGTEST
13
14 int snprintf( char * _PDCLIB_restrict s, size_t n, const char * _PDCLIB_restrict format, ...)
15 {
16     int rc;
17     va_list ap;
18     va_start( ap, format );
19     rc = vsnprintf( s, n, format, ap );
20     va_end( ap );
21     return rc;
22 }
23
24 #endif
25
26 #ifdef TEST
27 #define _PDCLIB_FILEID "stdio/snprintf.c"
28 #define _PDCLIB_STRINGIO
29 #include <stdint.h>
30 #include <stddef.h>
31
32 #include <_PDCLIB_test.h>
33
34 #define testprintf( s, ... ) snprintf( s, 100, __VA_ARGS__ )
35
36 int main( void )
37 {
38     char target[100];
39 #include "printf_testcases.h"
40     TESTCASE( snprintf( NULL, 0, "foo" ) == 3 );
41     TESTCASE( snprintf( NULL, 0, "%d", 100 ) == 3 );
42     return TEST_RESULTS;
43 }
44
45 #endif