openat: don’t close (-1)
[gnulib.git] / tests / test-stdio-c++.cc
blob35219eaf48cc2b23b57928d99dfbacb433ec03c7
1 /* Test of <stdio.h> substitute in C++ mode.
2 Copyright (C) 2010-2024 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
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
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <https://www.gnu.org/licenses/>. */
17 /* Written by Bruno Haible <bruno@clisp.org>, 2010. */
19 #define GNULIB_NAMESPACE gnulib
20 #include <config.h>
22 #include <stdio.h>
24 #include "signature.h"
27 #if GNULIB_TEST_DPRINTF
28 SIGNATURE_CHECK (GNULIB_NAMESPACE::dprintf, int, (int, const char *, ...));
29 #endif
31 #if GNULIB_TEST_FCLOSE
32 SIGNATURE_CHECK (GNULIB_NAMESPACE::fclose, int, (FILE *));
33 #endif
35 #if GNULIB_TEST_FDOPEN
36 SIGNATURE_CHECK (GNULIB_NAMESPACE::fdopen, FILE *, (int, const char *));
37 #endif
39 #if GNULIB_TEST_FFLUSH
40 SIGNATURE_CHECK (GNULIB_NAMESPACE::fflush, int, (FILE *));
41 #endif
43 #if GNULIB_TEST_FGETC
44 SIGNATURE_CHECK (GNULIB_NAMESPACE::fgetc, int, (FILE *));
45 #endif
47 #if GNULIB_TEST_FGETS
48 SIGNATURE_CHECK (GNULIB_NAMESPACE::fgets, char *, (char *, int, FILE *));
49 #endif
51 #if GNULIB_TEST_FOPEN
52 SIGNATURE_CHECK (GNULIB_NAMESPACE::fopen, FILE *,
53 (const char *, const char *));
54 #endif
56 #if GNULIB_TEST_FPRINTF_POSIX || GNULIB_TEST_FPRINTF
57 SIGNATURE_CHECK (GNULIB_NAMESPACE::fprintf, int, (FILE *, const char *, ...));
58 #endif
60 #if GNULIB_TEST_FPURGE
61 SIGNATURE_CHECK (GNULIB_NAMESPACE::fpurge, int, (FILE *));
62 #endif
64 #if GNULIB_TEST_FPUTC
65 SIGNATURE_CHECK (GNULIB_NAMESPACE::fputc, int, (int, FILE *));
66 #endif
68 #if GNULIB_TEST_FPUTS
69 SIGNATURE_CHECK (GNULIB_NAMESPACE::fputs, int, (const char *, FILE *));
70 #endif
72 #if GNULIB_TEST_FREAD
73 SIGNATURE_CHECK (GNULIB_NAMESPACE::fread, size_t,
74 (void *, size_t, size_t, FILE *));
75 #endif
77 #if GNULIB_TEST_FREOPEN
78 SIGNATURE_CHECK (GNULIB_NAMESPACE::freopen, FILE *,
79 (const char *, const char *, FILE *));
80 #endif
82 #if GNULIB_TEST_FSCANF
83 SIGNATURE_CHECK (GNULIB_NAMESPACE::fscanf, int, (FILE *, const char *, ...));
84 #endif
86 #if GNULIB_TEST_FSEEK
87 SIGNATURE_CHECK (GNULIB_NAMESPACE::fseek, int, (FILE *, long, int));
88 #endif
90 #if GNULIB_TEST_FSEEKO
91 SIGNATURE_CHECK (GNULIB_NAMESPACE::fseeko, int, (FILE *, off_t, int));
92 #endif
94 #if GNULIB_TEST_FTELL
95 SIGNATURE_CHECK (GNULIB_NAMESPACE::ftell, long, (FILE *));
96 #endif
98 #if GNULIB_TEST_FTELLO
99 SIGNATURE_CHECK (GNULIB_NAMESPACE::ftello, off_t, (FILE *));
100 #endif
102 #if GNULIB_TEST_FWRITE
103 SIGNATURE_CHECK (GNULIB_NAMESPACE::fwrite, size_t,
104 (const void *, size_t, size_t, FILE *));
105 #endif
107 #if GNULIB_TEST_GETC
108 SIGNATURE_CHECK (GNULIB_NAMESPACE::getc, int, (FILE *));
109 #endif
111 #if GNULIB_TEST_GETCHAR
112 SIGNATURE_CHECK (GNULIB_NAMESPACE::getchar, int, (void));
113 #endif
115 #if GNULIB_TEST_GETDELIM
116 SIGNATURE_CHECK (GNULIB_NAMESPACE::getdelim, ssize_t,
117 (char **, size_t *, int, FILE *));
118 #endif
120 #if GNULIB_TEST_GETLINE
121 SIGNATURE_CHECK (GNULIB_NAMESPACE::getline, ssize_t,
122 (char **, size_t *, FILE *));
123 #endif
125 /* Don't bother testing gets; it should never be used. */
127 #if GNULIB_TEST_OBSTACK_PRINTF || GNULIB_TEST_OBSTACK_PRINTF_POSIX
128 SIGNATURE_CHECK (GNULIB_NAMESPACE::obstack_printf, int,
129 (struct obstack *, const char *, ...));
130 SIGNATURE_CHECK (GNULIB_NAMESPACE::obstack_vprintf, int,
131 (struct obstack *, const char *, va_list));
132 #endif
134 #if GNULIB_TEST_PCLOSE
135 SIGNATURE_CHECK (GNULIB_NAMESPACE::pclose, int, (FILE *));
136 #endif
138 //SIGNATURE_CHECK (GNULIB_NAMESPACE::pclose, int, (FILE *));
140 #if GNULIB_TEST_PERROR
141 SIGNATURE_CHECK (GNULIB_NAMESPACE::perror, void, (const char *));
142 #endif
144 #if GNULIB_TEST_POPEN
145 SIGNATURE_CHECK (GNULIB_NAMESPACE::popen, FILE *,
146 (const char *, const char *));
147 #endif
149 #if GNULIB_TEST_PRINTF_POSIX || GNULIB_TEST_PRINTF
150 SIGNATURE_CHECK (GNULIB_NAMESPACE::printf, int, (const char *, ...));
151 #endif
153 #if GNULIB_TEST_PUTC
154 SIGNATURE_CHECK (GNULIB_NAMESPACE::putc, int, (int, FILE *));
155 #endif
157 #if GNULIB_TEST_PUTCHAR
158 SIGNATURE_CHECK (GNULIB_NAMESPACE::putchar, int, (int));
159 #endif
161 #if GNULIB_TEST_PUTS
162 SIGNATURE_CHECK (GNULIB_NAMESPACE::puts, int, (const char *));
163 #endif
165 #if GNULIB_TEST_REMOVE
166 SIGNATURE_CHECK (GNULIB_NAMESPACE::remove, int, (const char *));
167 #endif
169 #if GNULIB_TEST_RENAME
170 SIGNATURE_CHECK (GNULIB_NAMESPACE::rename, int, (const char *, const char *));
171 #endif
173 #if GNULIB_TEST_RENAMEAT
174 SIGNATURE_CHECK (GNULIB_NAMESPACE::renameat, int,
175 (int, char const *, int, char const *));
176 #endif
178 #if GNULIB_TEST_SCANF
179 SIGNATURE_CHECK (GNULIB_NAMESPACE::scanf, int, (const char *, ...));
180 #endif
182 #if GNULIB_TEST_SNPRINTF
183 SIGNATURE_CHECK (GNULIB_NAMESPACE::snprintf, int,
184 (char *, size_t, const char *, ...));
185 #endif
187 #if GNULIB_TEST_SPRINTF_POSIX
188 SIGNATURE_CHECK (GNULIB_NAMESPACE::sprintf, int, (char *, const char *, ...));
189 #endif
191 #if GNULIB_TEST_TMPFILE
192 SIGNATURE_CHECK (GNULIB_NAMESPACE::tmpfile, FILE *, (void));
193 #endif
195 #if GNULIB_TEST_VASPRINTF
196 SIGNATURE_CHECK (GNULIB_NAMESPACE::asprintf, int,
197 (char **, const char *, ...));
198 SIGNATURE_CHECK (GNULIB_NAMESPACE::vasprintf, int,
199 (char **, const char *, va_list));
200 #endif
202 #if GNULIB_TEST_VDPRINTF
203 SIGNATURE_CHECK (GNULIB_NAMESPACE::vdprintf, int,
204 (int, const char *, va_list));
205 #endif
207 #if GNULIB_TEST_VFPRINTF_POSIX || GNULIB_TEST_VFPRINTF
208 SIGNATURE_CHECK (GNULIB_NAMESPACE::vfprintf, int,
209 (FILE *, const char *, va_list));
210 #endif
212 #if GNULIB_TEST_VFSCANF
213 SIGNATURE_CHECK (GNULIB_NAMESPACE::vfscanf, int,
214 (FILE *, const char *, va_list));
215 #endif
217 #if GNULIB_TEST_VPRINTF_POSIX || GNULIB_TEST_VPRINTF
218 SIGNATURE_CHECK (GNULIB_NAMESPACE::vprintf, int, (const char *, va_list));
219 #endif
221 #if GNULIB_TEST_VSCANF
222 SIGNATURE_CHECK (GNULIB_NAMESPACE::vscanf, int, (const char *, va_list));
223 #endif
225 #if GNULIB_TEST_VSNPRINTF
226 SIGNATURE_CHECK (GNULIB_NAMESPACE::vsnprintf, int,
227 (char *, size_t, const char *, va_list));
228 #endif
230 #if GNULIB_TEST_VSPRINTF_POSIX
231 SIGNATURE_CHECK (GNULIB_NAMESPACE::vsprintf, int,
232 (char *, const char *, va_list));
233 #endif
237 main ()