1 /* Formatted output to UTF-16 strings.
2 Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
5 This file is free software.
6 It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
7 You can redistribute it and/or modify it under either
8 - the terms of the GNU Lesser General Public License as published
9 by the Free Software Foundation, either version 3, or (at your
10 option) any later version, or
11 - the terms of the GNU General Public License as published by the
12 Free Software Foundation; either version 2, or (at your option)
14 - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
16 This file is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 Lesser General Public License and the GNU General Public License
22 You should have received a copy of the GNU Lesser General Public
23 License and of the GNU General Public License along with this
24 program. If not, see <https://www.gnu.org/licenses/>. */
26 /* Tell glibc's <stdio.h> to provide a prototype for snprintf().
27 This must come before <config.h> because <config.h> may include
28 <features.h>, and once <features.h> has been included, it's too late. */
30 # define _GNU_SOURCE 1
41 #include "unistdio/u-printf-parse.h"
43 #define VASNPRINTF u16_vasnprintf
45 #define DIRECTIVE char_directive
46 #define DIRECTIVES char_directives
47 #define FCHAR_T_ONLY_ASCII 1
48 #define PRINTF_PARSE ulc_printf_parse
49 #define DCHAR_T uint16_t
50 #define DCHAR_CPY u16_cpy
51 #define DCHAR_SET u16_set
52 #define DCHAR_MBSNLEN u16_mbsnlen
53 #define DCHAR_IS_UINT16_T 1
54 #define U8_TO_DCHAR u8_to_u16
55 #define U32_TO_DCHAR u32_to_u16
56 #define DCHAR_CONV_FROM_ENCODING u16_conv_from_encoding
58 #include "vasnprintf.c"