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