1 /* Formatted output to UTF-8 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 u8_u8_vasnprintf
44 #define FCHAR_T uint8_t
45 #define DIRECTIVE u8_directive
46 #define DIRECTIVES u8_directives
47 #define PRINTF_PARSE u8_printf_parse
48 #define DCHAR_T uint8_t
49 #define DCHAR_CPY u8_cpy
50 #define DCHAR_SET u8_set
51 #define DCHAR_MBSNLEN u8_mbsnlen
52 #define DCHAR_IS_UINT8_T 1
53 #define U16_TO_DCHAR u16_to_u8
54 #define U32_TO_DCHAR u32_to_u8
55 #define DCHAR_CONV_FROM_ENCODING u8_conv_from_encoding
57 #include "vasnprintf.c"