timevar: import from Bison.
[gnulib.git] / lib / unistdio / u16-vasnprintf.c
bloba85de07e7973f87ade3ba737e4c528b378272c2d
1 /* Formatted output to UTF-16 strings.
2 Copyright (C) 1999, 2002, 2006-2007, 2009-2018 Free Software Foundation,
3 Inc.
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.
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.
15 You should have received a copy of the GNU Lesser General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>. */
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
25 #include <config.h>
26 #include <alloca.h>
28 /* Specification. */
29 #include "unistdio.h"
31 #include "uniconv.h"
32 #include "unistr.h"
33 #include "unistdio/u-printf-parse.h"
35 #define VASNPRINTF u16_vasnprintf
36 #define FCHAR_T char
37 #define DIRECTIVE char_directive
38 #define DIRECTIVES char_directives
39 #define FCHAR_T_ONLY_ASCII 1
40 #define PRINTF_PARSE ulc_printf_parse
41 #define DCHAR_T uint16_t
42 #define DCHAR_T_IS_UINT16_T 1
43 #define DCHAR_CPY u16_cpy
44 #define DCHAR_SET u16_set
45 #define DCHAR_MBSNLEN u16_mbsnlen
46 #define DCHAR_IS_UINT16_T 1
47 #define U8_TO_DCHAR u8_to_u16
48 #define U32_TO_DCHAR u32_to_u16
49 #define DCHAR_CONV_FROM_ENCODING u16_conv_from_encoding
50 #define TCHAR_T char
51 #include "vasnprintf.c"