Use a warranty disclaimer in all-permissive license notices, part 2.
[gnulib.git] / lib / unistdio / u16-vasnprintf.c
blob9e53aa291ae828e4cb55a2d2bbbd36b456f14f25
1 /* Formatted output to UTF-16 strings.
2 Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
3 Inc.
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)
13 any later version, or
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
20 for more details.
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. */
29 #ifndef _GNU_SOURCE
30 # define _GNU_SOURCE 1
31 #endif
33 #include <config.h>
34 #include <alloca.h>
36 /* Specification. */
37 #include "unistdio.h"
39 #include "uniconv.h"
40 #include "unistr.h"
41 #include "unistdio/u-printf-parse.h"
43 #define VASNPRINTF u16_vasnprintf
44 #define FCHAR_T char
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
57 #define TCHAR_T char
58 #include "vasnprintf.c"