17ae282cd957c1b9a80240125bde510d3e2e3def
[platform/upstream/libunistring.git] / lib / unistdio / u32-u32-vasnprintf.c
1 /* Formatted output to UTF-32 strings.
2    Copyright (C) 1999, 2002, 2006-2007, 2009-2010 Free Software Foundation,
3    Inc.
4
5    This program is free software: you can redistribute it and/or modify it
6    under the terms of the GNU Lesser General Public License as published
7    by the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17
18 /* Tell glibc's <stdio.h> to provide a prototype for snprintf().
19    This must come before <config.h> because <config.h> may include
20    <features.h>, and once <features.h> has been included, it's too late.  */
21 #ifndef _GNU_SOURCE
22 # define _GNU_SOURCE    1
23 #endif
24
25 #include <config.h>
26 #include <alloca.h>
27
28 /* Specification.  */
29 #include "unistdio.h"
30
31 #include "uniconv.h"
32 #include "unistr.h"
33 #include "unistdio/u-printf-parse.h"
34
35 #define VASNPRINTF u32_u32_vasnprintf
36 #define FCHAR_T uint32_t
37 #define DIRECTIVE u32_directive
38 #define DIRECTIVES u32_directives
39 #define PRINTF_PARSE u32_printf_parse
40 #define DCHAR_T uint32_t
41 #define DCHAR_T_IS_UINT32_T 1
42 #define DCHAR_CPY u32_cpy
43 #define DCHAR_SET u32_set
44 #define DCHAR_MBSNLEN u32_mbsnlen
45 #define DCHAR_IS_UINT32_T 1
46 #define U8_TO_DCHAR u8_to_u32
47 #define U16_TO_DCHAR u16_to_u32
48 #define DCHAR_CONV_FROM_ENCODING u32_conv_from_encoding
49 #define TCHAR_T char
50 #include "vasnprintf.c"