Annotation of embedaddon/libiconv/srclib/stdlib.in.h, revision 1.1.1.3
1.1 misho 1: /* A GNU-like <stdlib.h>.
2:
1.1.1.3 ! misho 3: Copyright (C) 1995, 2001-2004, 2006-2019 Free Software Foundation, Inc.
1.1 misho 4:
5: This program is free software: you can redistribute it and/or modify
6: it under the terms of the GNU General Public License as published by
7: the Free Software Foundation; either version 3 of the License, or
8: (at your option) any later version.
9:
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
13: GNU General Public License for more details.
14:
15: You should have received a copy of the GNU General Public License
1.1.1.3 ! misho 16: along with this program. If not, see <https://www.gnu.org/licenses/>. */
1.1 misho 17:
18: #if __GNUC__ >= 3
19: @PRAGMA_SYSTEM_HEADER@
20: #endif
1.1.1.2 misho 21: @PRAGMA_COLUMNS@
1.1 misho 22:
1.1.1.3 ! misho 23: #if defined __need_system_stdlib_h || defined __need_malloc_and_calloc
! 24: /* Special invocation conventions inside some gnulib header files,
! 25: and inside some glibc header files, respectively. */
1.1 misho 26:
27: #@INCLUDE_NEXT@ @NEXT_STDLIB_H@
28:
29: #else
30: /* Normal invocation convention. */
31:
1.1.1.2 misho 32: #ifndef _@GUARD_PREFIX@_STDLIB_H
1.1 misho 33:
34: /* The include_next requires a split double-inclusion guard. */
35: #@INCLUDE_NEXT@ @NEXT_STDLIB_H@
36:
1.1.1.2 misho 37: #ifndef _@GUARD_PREFIX@_STDLIB_H
38: #define _@GUARD_PREFIX@_STDLIB_H
1.1 misho 39:
1.1.1.2 misho 40: /* NetBSD 5.0 mis-defines NULL. */
41: #include <stddef.h>
42:
43: /* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>. */
44: #if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
45: # include <sys/wait.h>
46: #endif
1.1 misho 47:
48: /* Solaris declares getloadavg() in <sys/loadavg.h>. */
1.1.1.2 misho 49: #if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
1.1.1.3 ! misho 50: /* OpenIndiana has a bug: <sys/time.h> must be included before
! 51: <sys/loadavg.h>. */
! 52: # include <sys/time.h>
1.1 misho 53: # include <sys/loadavg.h>
54: #endif
55:
1.1.1.3 ! misho 56: /* Native Windows platforms declare mktemp() in <io.h>. */
! 57: #if 0 && (defined _WIN32 && ! defined __CYGWIN__)
! 58: # include <io.h>
! 59: #endif
! 60:
1.1.1.2 misho 61: #if @GNULIB_RANDOM_R@
62:
1.1 misho 63: /* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
1.1.1.2 misho 64: from <stdlib.h> if _REENTRANT is defined. Include it whenever we need
65: 'struct random_data'. */
66: # if @HAVE_RANDOM_H@
67: # include <random.h>
68: # endif
1.1 misho 69:
1.1.1.3 ! misho 70: # if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@
1.1.1.2 misho 71: # include <stdint.h>
72: # endif
1.1 misho 73:
1.1.1.2 misho 74: # if !@HAVE_STRUCT_RANDOM_DATA@
75: /* Define 'struct random_data'.
76: But allow multiple gnulib generated <stdlib.h> replacements to coexist. */
77: # if !GNULIB_defined_struct_random_data
1.1 misho 78: struct random_data
79: {
1.1.1.2 misho 80: int32_t *fptr; /* Front pointer. */
81: int32_t *rptr; /* Rear pointer. */
82: int32_t *state; /* Array of state values. */
83: int rand_type; /* Type of random number generator. */
84: int rand_deg; /* Degree of random number generator. */
85: int rand_sep; /* Distance between front and rear. */
86: int32_t *end_ptr; /* Pointer behind state table. */
1.1 misho 87: };
1.1.1.2 misho 88: # define GNULIB_defined_struct_random_data 1
89: # endif
90: # endif
91: #endif
92:
1.1.1.3 ! misho 93: #if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_MKOSTEMP@ || @GNULIB_MKOSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__)
! 94: /* On Mac OS X 10.3, only <unistd.h> declares mkstemp. */
! 95: /* On Mac OS X 10.5, only <unistd.h> declares mkstemps. */
! 96: /* On Mac OS X 10.13, only <unistd.h> declares mkostemp and mkostemps. */
1.1.1.2 misho 97: /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt. */
98: /* But avoid namespace pollution on glibc systems and native Windows. */
99: # include <unistd.h>
1.1 misho 100: #endif
101:
1.1.1.3 ! misho 102: /* The __attribute__ feature is available in gcc versions 2.5 and later.
! 103: The attribute __pure__ was added in gcc 2.96. */
! 104: #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
! 105: # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
! 106: #else
! 107: # define _GL_ATTRIBUTE_PURE /* empty */
! 108: #endif
! 109:
1.1.1.2 misho 110: /* The definition of _Noreturn is copied here. */
111:
112: /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
113:
114: /* The definition of _GL_ARG_NONNULL is copied here. */
115:
116: /* The definition of _GL_WARN_ON_USE is copied here. */
1.1 misho 117:
118:
119: /* Some systems do not define EXIT_*, despite otherwise supporting C89. */
120: #ifndef EXIT_SUCCESS
121: # define EXIT_SUCCESS 0
122: #endif
123: /* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
124: with proper operation of xargs. */
125: #ifndef EXIT_FAILURE
126: # define EXIT_FAILURE 1
127: #elif EXIT_FAILURE != 1
128: # undef EXIT_FAILURE
129: # define EXIT_FAILURE 1
130: #endif
131:
132:
1.1.1.2 misho 133: #if @GNULIB__EXIT@
134: /* Terminate the current process with the given return code, without running
135: the 'atexit' handlers. */
136: # if !@HAVE__EXIT@
137: _GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
138: # endif
139: _GL_CXXALIAS_SYS (_Exit, void, (int status));
140: _GL_CXXALIASWARN (_Exit);
141: #elif defined GNULIB_POSIXCHECK
142: # undef _Exit
143: # if HAVE_RAW_DECL__EXIT
144: _GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
145: "use gnulib module _Exit for portability");
1.1 misho 146: # endif
147: #endif
148:
149:
1.1.1.2 misho 150: #if @GNULIB_ATOLL@
151: /* Parse a signed decimal integer.
152: Returns the value of the integer. Errors are not detected. */
153: # if !@HAVE_ATOLL@
1.1.1.3 ! misho 154: _GL_FUNCDECL_SYS (atoll, long long, (const char *string)
! 155: _GL_ATTRIBUTE_PURE
! 156: _GL_ARG_NONNULL ((1)));
1.1 misho 157: # endif
1.1.1.2 misho 158: _GL_CXXALIAS_SYS (atoll, long long, (const char *string));
159: _GL_CXXALIASWARN (atoll);
1.1 misho 160: #elif defined GNULIB_POSIXCHECK
1.1.1.2 misho 161: # undef atoll
162: # if HAVE_RAW_DECL_ATOLL
163: _GL_WARN_ON_USE (atoll, "atoll is unportable - "
164: "use gnulib module atoll for portability");
165: # endif
1.1 misho 166: #endif
167:
168: #if @GNULIB_CALLOC_POSIX@
1.1.1.2 misho 169: # if @REPLACE_CALLOC@
170: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
171: # undef calloc
172: # define calloc rpl_calloc
173: # endif
174: _GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
175: _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
176: # else
177: _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
1.1 misho 178: # endif
1.1.1.2 misho 179: _GL_CXXALIASWARN (calloc);
1.1 misho 180: #elif defined GNULIB_POSIXCHECK
181: # undef calloc
1.1.1.2 misho 182: /* Assume calloc is always declared. */
183: _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
184: "use gnulib module calloc-posix for portability");
1.1 misho 185: #endif
186:
1.1.1.2 misho 187: #if @GNULIB_CANONICALIZE_FILE_NAME@
188: # if @REPLACE_CANONICALIZE_FILE_NAME@
189: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
190: # define canonicalize_file_name rpl_canonicalize_file_name
191: # endif
192: _GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
193: _GL_ARG_NONNULL ((1)));
194: _GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
195: # else
196: # if !@HAVE_CANONICALIZE_FILE_NAME@
197: _GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
198: _GL_ARG_NONNULL ((1)));
199: # endif
200: _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
1.1 misho 201: # endif
1.1.1.2 misho 202: _GL_CXXALIASWARN (canonicalize_file_name);
1.1 misho 203: #elif defined GNULIB_POSIXCHECK
1.1.1.2 misho 204: # undef canonicalize_file_name
205: # if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
206: _GL_WARN_ON_USE (canonicalize_file_name,
207: "canonicalize_file_name is unportable - "
208: "use gnulib module canonicalize-lgpl for portability");
209: # endif
1.1 misho 210: #endif
211:
212: #if @GNULIB_GETLOADAVG@
213: /* Store max(NELEM,3) load average numbers in LOADAVG[].
214: The three numbers are the load average of the last 1 minute, the last 5
215: minutes, and the last 15 minutes, respectively.
216: LOADAVG is an array of NELEM numbers. */
1.1.1.2 misho 217: # if !@HAVE_DECL_GETLOADAVG@
218: _GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
219: _GL_ARG_NONNULL ((1)));
1.1 misho 220: # endif
1.1.1.2 misho 221: _GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
222: _GL_CXXALIASWARN (getloadavg);
1.1 misho 223: #elif defined GNULIB_POSIXCHECK
224: # undef getloadavg
1.1.1.2 misho 225: # if HAVE_RAW_DECL_GETLOADAVG
226: _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
227: "use gnulib module getloadavg for portability");
228: # endif
1.1 misho 229: #endif
230:
231: #if @GNULIB_GETSUBOPT@
232: /* Assuming *OPTIONP is a comma separated list of elements of the form
233: "token" or "token=value", getsubopt parses the first of these elements.
234: If the first element refers to a "token" that is member of the given
235: NULL-terminated array of tokens:
236: - It replaces the comma with a NUL byte, updates *OPTIONP to point past
237: the first option and the comma, sets *VALUEP to the value of the
238: element (or NULL if it doesn't contain an "=" sign),
239: - It returns the index of the "token" in the given array of tokens.
240: Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
241: For more details see the POSIX:2001 specification.
242: http://www.opengroup.org/susv3xsh/getsubopt.html */
243: # if !@HAVE_GETSUBOPT@
1.1.1.2 misho 244: _GL_FUNCDECL_SYS (getsubopt, int,
245: (char **optionp, char *const *tokens, char **valuep)
246: _GL_ARG_NONNULL ((1, 2, 3)));
247: # endif
248: _GL_CXXALIAS_SYS (getsubopt, int,
249: (char **optionp, char *const *tokens, char **valuep));
250: _GL_CXXALIASWARN (getsubopt);
1.1 misho 251: #elif defined GNULIB_POSIXCHECK
252: # undef getsubopt
1.1.1.2 misho 253: # if HAVE_RAW_DECL_GETSUBOPT
254: _GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
255: "use gnulib module getsubopt for portability");
256: # endif
257: #endif
258:
259: #if @GNULIB_GRANTPT@
260: /* Change the ownership and access permission of the slave side of the
261: pseudo-terminal whose master side is specified by FD. */
262: # if !@HAVE_GRANTPT@
263: _GL_FUNCDECL_SYS (grantpt, int, (int fd));
264: # endif
265: _GL_CXXALIAS_SYS (grantpt, int, (int fd));
266: _GL_CXXALIASWARN (grantpt);
267: #elif defined GNULIB_POSIXCHECK
268: # undef grantpt
269: # if HAVE_RAW_DECL_GRANTPT
1.1.1.3 ! misho 270: _GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
1.1.1.2 misho 271: "use gnulib module grantpt for portability");
272: # endif
1.1 misho 273: #endif
274:
1.1.1.2 misho 275: /* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
276: rely on GNU or POSIX semantics for malloc and realloc (for example,
277: by never specifying a zero size), so it does not need malloc or
278: realloc to be redefined. */
279: #if @GNULIB_MALLOC_POSIX@
280: # if @REPLACE_MALLOC@
281: # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
282: || _GL_USE_STDLIB_ALLOC)
283: # undef malloc
284: # define malloc rpl_malloc
285: # endif
286: _GL_FUNCDECL_RPL (malloc, void *, (size_t size));
287: _GL_CXXALIAS_RPL (malloc, void *, (size_t size));
288: # else
289: _GL_CXXALIAS_SYS (malloc, void *, (size_t size));
290: # endif
291: _GL_CXXALIASWARN (malloc);
292: #elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
293: # undef malloc
294: /* Assume malloc is always declared. */
295: _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
296: "use gnulib module malloc-posix for portability");
297: #endif
298:
299: /* Convert a multibyte character to a wide character. */
300: #if @GNULIB_MBTOWC@
301: # if @REPLACE_MBTOWC@
302: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
303: # undef mbtowc
304: # define mbtowc rpl_mbtowc
305: # endif
306: _GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
307: _GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
308: # else
1.1.1.3 ! misho 309: # if !@HAVE_MBTOWC@
! 310: _GL_FUNCDECL_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
! 311: # endif
1.1.1.2 misho 312: _GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
313: # endif
314: _GL_CXXALIASWARN (mbtowc);
1.1.1.3 ! misho 315: #elif defined GNULIB_POSIXCHECK
! 316: # undef mbtowc
! 317: # if HAVE_RAW_DECL_MBTOWC
! 318: _GL_WARN_ON_USE (mbtowc, "mbtowc is not portable - "
! 319: "use gnulib module mbtowc for portability");
! 320: # endif
1.1.1.2 misho 321: #endif
1.1 misho 322:
323: #if @GNULIB_MKDTEMP@
324: /* Create a unique temporary directory from TEMPLATE.
325: The last six characters of TEMPLATE must be "XXXXXX";
326: they are replaced with a string that makes the directory name unique.
327: Returns TEMPLATE, or a null pointer if it cannot get a unique name.
328: The directory is created mode 700. */
1.1.1.2 misho 329: # if !@HAVE_MKDTEMP@
330: _GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
1.1 misho 331: # endif
1.1.1.2 misho 332: _GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
333: _GL_CXXALIASWARN (mkdtemp);
1.1 misho 334: #elif defined GNULIB_POSIXCHECK
335: # undef mkdtemp
1.1.1.2 misho 336: # if HAVE_RAW_DECL_MKDTEMP
337: _GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
338: "use gnulib module mkdtemp for portability");
339: # endif
340: #endif
341:
342: #if @GNULIB_MKOSTEMP@
343: /* Create a unique temporary file from TEMPLATE.
344: The last six characters of TEMPLATE must be "XXXXXX";
345: they are replaced with a string that makes the file name unique.
346: The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
347: and O_TEXT, O_BINARY (defined in "binary-io.h").
348: The file is then created, with the specified flags, ensuring it didn't exist
349: before.
350: The file is created read-write (mask at least 0600 & ~umask), but it may be
351: world-readable and world-writable (mask 0666 & ~umask), depending on the
352: implementation.
353: Returns the open file descriptor if successful, otherwise -1 and errno
354: set. */
355: # if !@HAVE_MKOSTEMP@
356: _GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
357: _GL_ARG_NONNULL ((1)));
358: # endif
359: _GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
360: _GL_CXXALIASWARN (mkostemp);
361: #elif defined GNULIB_POSIXCHECK
362: # undef mkostemp
363: # if HAVE_RAW_DECL_MKOSTEMP
364: _GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
365: "use gnulib module mkostemp for portability");
366: # endif
1.1 misho 367: #endif
368:
1.1.1.2 misho 369: #if @GNULIB_MKOSTEMPS@
370: /* Create a unique temporary file from TEMPLATE.
371: The last six characters of TEMPLATE before a suffix of length
372: SUFFIXLEN must be "XXXXXX";
373: they are replaced with a string that makes the file name unique.
374: The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
375: and O_TEXT, O_BINARY (defined in "binary-io.h").
376: The file is then created, with the specified flags, ensuring it didn't exist
377: before.
378: The file is created read-write (mask at least 0600 & ~umask), but it may be
379: world-readable and world-writable (mask 0666 & ~umask), depending on the
380: implementation.
381: Returns the open file descriptor if successful, otherwise -1 and errno
382: set. */
383: # if !@HAVE_MKOSTEMPS@
384: _GL_FUNCDECL_SYS (mkostemps, int,
385: (char * /*template*/, int /*suffixlen*/, int /*flags*/)
386: _GL_ARG_NONNULL ((1)));
387: # endif
388: _GL_CXXALIAS_SYS (mkostemps, int,
389: (char * /*template*/, int /*suffixlen*/, int /*flags*/));
390: _GL_CXXALIASWARN (mkostemps);
391: #elif defined GNULIB_POSIXCHECK
392: # undef mkostemps
393: # if HAVE_RAW_DECL_MKOSTEMPS
394: _GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
395: "use gnulib module mkostemps for portability");
396: # endif
397: #endif
1.1 misho 398:
399: #if @GNULIB_MKSTEMP@
400: /* Create a unique temporary file from TEMPLATE.
401: The last six characters of TEMPLATE must be "XXXXXX";
402: they are replaced with a string that makes the file name unique.
403: The file is then created, ensuring it didn't exist before.
404: The file is created read-write (mask at least 0600 & ~umask), but it may be
405: world-readable and world-writable (mask 0666 & ~umask), depending on the
406: implementation.
407: Returns the open file descriptor if successful, otherwise -1 and errno
408: set. */
1.1.1.2 misho 409: # if @REPLACE_MKSTEMP@
410: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
411: # define mkstemp rpl_mkstemp
412: # endif
413: _GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
414: _GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
1.1 misho 415: # else
1.1.1.2 misho 416: # if ! @HAVE_MKSTEMP@
417: _GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
418: # endif
419: _GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
1.1 misho 420: # endif
1.1.1.2 misho 421: _GL_CXXALIASWARN (mkstemp);
1.1 misho 422: #elif defined GNULIB_POSIXCHECK
423: # undef mkstemp
1.1.1.2 misho 424: # if HAVE_RAW_DECL_MKSTEMP
425: _GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
426: "use gnulib module mkstemp for portability");
427: # endif
428: #endif
429:
430: #if @GNULIB_MKSTEMPS@
431: /* Create a unique temporary file from TEMPLATE.
432: The last six characters of TEMPLATE prior to a suffix of length
433: SUFFIXLEN must be "XXXXXX";
434: they are replaced with a string that makes the file name unique.
435: The file is then created, ensuring it didn't exist before.
436: The file is created read-write (mask at least 0600 & ~umask), but it may be
437: world-readable and world-writable (mask 0666 & ~umask), depending on the
438: implementation.
439: Returns the open file descriptor if successful, otherwise -1 and errno
440: set. */
441: # if !@HAVE_MKSTEMPS@
442: _GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
443: _GL_ARG_NONNULL ((1)));
444: # endif
445: _GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
446: _GL_CXXALIASWARN (mkstemps);
447: #elif defined GNULIB_POSIXCHECK
448: # undef mkstemps
449: # if HAVE_RAW_DECL_MKSTEMPS
450: _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
451: "use gnulib module mkstemps for portability");
452: # endif
1.1 misho 453: #endif
454:
1.1.1.3 ! misho 455: #if @GNULIB_POSIX_OPENPT@
! 456: /* Return an FD open to the master side of a pseudo-terminal. Flags should
! 457: include O_RDWR, and may also include O_NOCTTY. */
! 458: # if !@HAVE_POSIX_OPENPT@
! 459: _GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
! 460: # endif
! 461: _GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
! 462: _GL_CXXALIASWARN (posix_openpt);
! 463: #elif defined GNULIB_POSIXCHECK
! 464: # undef posix_openpt
! 465: # if HAVE_RAW_DECL_POSIX_OPENPT
! 466: _GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
! 467: "use gnulib module posix_openpt for portability");
! 468: # endif
! 469: #endif
! 470:
1.1.1.2 misho 471: #if @GNULIB_PTSNAME@
472: /* Return the pathname of the pseudo-terminal slave associated with
473: the master FD is open on, or NULL on errors. */
1.1.1.3 ! misho 474: # if @REPLACE_PTSNAME@
! 475: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 476: # undef ptsname
! 477: # define ptsname rpl_ptsname
! 478: # endif
! 479: _GL_FUNCDECL_RPL (ptsname, char *, (int fd));
! 480: _GL_CXXALIAS_RPL (ptsname, char *, (int fd));
! 481: # else
! 482: # if !@HAVE_PTSNAME@
1.1.1.2 misho 483: _GL_FUNCDECL_SYS (ptsname, char *, (int fd));
1.1.1.3 ! misho 484: # endif
1.1.1.2 misho 485: _GL_CXXALIAS_SYS (ptsname, char *, (int fd));
1.1.1.3 ! misho 486: # endif
1.1.1.2 misho 487: _GL_CXXALIASWARN (ptsname);
488: #elif defined GNULIB_POSIXCHECK
489: # undef ptsname
490: # if HAVE_RAW_DECL_PTSNAME
491: _GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
492: "use gnulib module ptsname for portability");
493: # endif
494: #endif
1.1 misho 495:
1.1.1.3 ! misho 496: #if @GNULIB_PTSNAME_R@
! 497: /* Set the pathname of the pseudo-terminal slave associated with
! 498: the master FD is open on and return 0, or set errno and return
! 499: non-zero on errors. */
! 500: # if @REPLACE_PTSNAME_R@
! 501: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 502: # undef ptsname_r
! 503: # define ptsname_r rpl_ptsname_r
! 504: # endif
! 505: _GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
! 506: _GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
! 507: # else
! 508: # if !@HAVE_PTSNAME_R@
! 509: _GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
! 510: # endif
! 511: _GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
! 512: # endif
! 513: _GL_CXXALIASWARN (ptsname_r);
! 514: #elif defined GNULIB_POSIXCHECK
! 515: # undef ptsname_r
! 516: # if HAVE_RAW_DECL_PTSNAME_R
! 517: _GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
! 518: "use gnulib module ptsname_r for portability");
! 519: # endif
! 520: #endif
! 521:
1.1 misho 522: #if @GNULIB_PUTENV@
523: # if @REPLACE_PUTENV@
1.1.1.2 misho 524: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
525: # undef putenv
526: # define putenv rpl_putenv
527: # endif
528: _GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
529: _GL_CXXALIAS_RPL (putenv, int, (char *string));
530: # else
531: _GL_CXXALIAS_SYS (putenv, int, (char *string));
1.1 misho 532: # endif
1.1.1.2 misho 533: _GL_CXXALIASWARN (putenv);
1.1 misho 534: #endif
535:
1.1.1.3 ! misho 536: #if @GNULIB_QSORT_R@
! 537: /* Sort an array of NMEMB elements, starting at address BASE, each element
! 538: occupying SIZE bytes, in ascending order according to the comparison
! 539: function COMPARE. */
! 540: # if @REPLACE_QSORT_R@
! 541: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 542: # undef qsort_r
! 543: # define qsort_r rpl_qsort_r
! 544: # endif
! 545: _GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
! 546: int (*compare) (void const *, void const *,
! 547: void *),
! 548: void *arg) _GL_ARG_NONNULL ((1, 4)));
! 549: _GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
! 550: int (*compare) (void const *, void const *,
! 551: void *),
! 552: void *arg));
! 553: # else
! 554: # if !@HAVE_QSORT_R@
! 555: _GL_FUNCDECL_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
! 556: int (*compare) (void const *, void const *,
! 557: void *),
! 558: void *arg) _GL_ARG_NONNULL ((1, 4)));
! 559: # endif
! 560: _GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
! 561: int (*compare) (void const *, void const *,
! 562: void *),
! 563: void *arg));
! 564: # endif
! 565: _GL_CXXALIASWARN (qsort_r);
! 566: #elif defined GNULIB_POSIXCHECK
! 567: # undef qsort_r
! 568: # if HAVE_RAW_DECL_QSORT_R
! 569: _GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - "
! 570: "use gnulib module qsort_r for portability");
! 571: # endif
! 572: #endif
! 573:
1.1 misho 574:
575: #if @GNULIB_RANDOM_R@
576: # if !@HAVE_RANDOM_R@
577: # ifndef RAND_MAX
578: # define RAND_MAX 2147483647
579: # endif
1.1.1.2 misho 580: # endif
581: #endif
1.1 misho 582:
1.1.1.3 ! misho 583:
! 584: #if @GNULIB_RANDOM@
! 585: # if @REPLACE_RANDOM@
! 586: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 587: # undef random
! 588: # define random rpl_random
! 589: # endif
! 590: _GL_FUNCDECL_RPL (random, long, (void));
! 591: _GL_CXXALIAS_RPL (random, long, (void));
! 592: # else
! 593: # if !@HAVE_RANDOM@
! 594: _GL_FUNCDECL_SYS (random, long, (void));
! 595: # endif
! 596: _GL_CXXALIAS_SYS (random, long, (void));
! 597: # endif
! 598: _GL_CXXALIASWARN (random);
! 599: #elif defined GNULIB_POSIXCHECK
! 600: # undef random
! 601: # if HAVE_RAW_DECL_RANDOM
! 602: _GL_WARN_ON_USE (random, "random is unportable - "
! 603: "use gnulib module random for portability");
! 604: # endif
! 605: #endif
! 606:
! 607: #if @GNULIB_RANDOM@
! 608: # if @REPLACE_RANDOM@
! 609: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 610: # undef srandom
! 611: # define srandom rpl_srandom
! 612: # endif
! 613: _GL_FUNCDECL_RPL (srandom, void, (unsigned int seed));
! 614: _GL_CXXALIAS_RPL (srandom, void, (unsigned int seed));
! 615: # else
! 616: # if !@HAVE_RANDOM@
! 617: _GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
! 618: # endif
! 619: _GL_CXXALIAS_SYS (srandom, void, (unsigned int seed));
! 620: # endif
! 621: _GL_CXXALIASWARN (srandom);
! 622: #elif defined GNULIB_POSIXCHECK
! 623: # undef srandom
! 624: # if HAVE_RAW_DECL_SRANDOM
! 625: _GL_WARN_ON_USE (srandom, "srandom is unportable - "
! 626: "use gnulib module random for portability");
! 627: # endif
! 628: #endif
! 629:
! 630: #if @GNULIB_RANDOM@
! 631: # if @REPLACE_INITSTATE@
! 632: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 633: # undef initstate
! 634: # define initstate rpl_initstate
! 635: # endif
! 636: _GL_FUNCDECL_RPL (initstate, char *,
! 637: (unsigned int seed, char *buf, size_t buf_size)
! 638: _GL_ARG_NONNULL ((2)));
! 639: _GL_CXXALIAS_RPL (initstate, char *,
! 640: (unsigned int seed, char *buf, size_t buf_size));
! 641: # else
! 642: # if !@HAVE_INITSTATE@ || !@HAVE_DECL_INITSTATE@
! 643: _GL_FUNCDECL_SYS (initstate, char *,
! 644: (unsigned int seed, char *buf, size_t buf_size)
! 645: _GL_ARG_NONNULL ((2)));
! 646: # endif
! 647: _GL_CXXALIAS_SYS (initstate, char *,
! 648: (unsigned int seed, char *buf, size_t buf_size));
! 649: # endif
! 650: _GL_CXXALIASWARN (initstate);
! 651: #elif defined GNULIB_POSIXCHECK
! 652: # undef initstate
! 653: # if HAVE_RAW_DECL_INITSTATE
! 654: _GL_WARN_ON_USE (initstate, "initstate is unportable - "
! 655: "use gnulib module random for portability");
! 656: # endif
! 657: #endif
! 658:
! 659: #if @GNULIB_RANDOM@
! 660: # if @REPLACE_SETSTATE@
! 661: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 662: # undef setstate
! 663: # define setstate rpl_setstate
! 664: # endif
! 665: _GL_FUNCDECL_RPL (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
! 666: _GL_CXXALIAS_RPL (setstate, char *, (char *arg_state));
! 667: # else
! 668: # if !@HAVE_SETSTATE@ || !@HAVE_DECL_SETSTATE@
! 669: _GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
! 670: # endif
! 671: _GL_CXXALIAS_SYS (setstate, char *, (char *arg_state));
! 672: # endif
! 673: _GL_CXXALIASWARN (setstate);
! 674: #elif defined GNULIB_POSIXCHECK
! 675: # undef setstate
! 676: # if HAVE_RAW_DECL_SETSTATE
! 677: _GL_WARN_ON_USE (setstate, "setstate is unportable - "
! 678: "use gnulib module random for portability");
! 679: # endif
! 680: #endif
! 681:
! 682:
1.1.1.2 misho 683: #if @GNULIB_RANDOM_R@
1.1.1.3 ! misho 684: # if @REPLACE_RANDOM_R@
! 685: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 686: # undef random_r
! 687: # define random_r rpl_random_r
! 688: # endif
! 689: _GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
! 690: _GL_ARG_NONNULL ((1, 2)));
! 691: _GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
! 692: # else
! 693: # if !@HAVE_RANDOM_R@
1.1.1.2 misho 694: _GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
695: _GL_ARG_NONNULL ((1, 2)));
1.1.1.3 ! misho 696: # endif
1.1.1.2 misho 697: _GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
1.1.1.3 ! misho 698: # endif
1.1.1.2 misho 699: _GL_CXXALIASWARN (random_r);
1.1 misho 700: #elif defined GNULIB_POSIXCHECK
701: # undef random_r
1.1.1.2 misho 702: # if HAVE_RAW_DECL_RANDOM_R
703: _GL_WARN_ON_USE (random_r, "random_r is unportable - "
704: "use gnulib module random_r for portability");
705: # endif
706: #endif
707:
708: #if @GNULIB_RANDOM_R@
1.1.1.3 ! misho 709: # if @REPLACE_RANDOM_R@
! 710: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 711: # undef srandom_r
! 712: # define srandom_r rpl_srandom_r
! 713: # endif
! 714: _GL_FUNCDECL_RPL (srandom_r, int,
! 715: (unsigned int seed, struct random_data *rand_state)
! 716: _GL_ARG_NONNULL ((2)));
! 717: _GL_CXXALIAS_RPL (srandom_r, int,
! 718: (unsigned int seed, struct random_data *rand_state));
! 719: # else
! 720: # if !@HAVE_RANDOM_R@
1.1.1.2 misho 721: _GL_FUNCDECL_SYS (srandom_r, int,
722: (unsigned int seed, struct random_data *rand_state)
723: _GL_ARG_NONNULL ((2)));
1.1.1.3 ! misho 724: # endif
1.1.1.2 misho 725: _GL_CXXALIAS_SYS (srandom_r, int,
726: (unsigned int seed, struct random_data *rand_state));
1.1.1.3 ! misho 727: # endif
1.1.1.2 misho 728: _GL_CXXALIASWARN (srandom_r);
729: #elif defined GNULIB_POSIXCHECK
1.1 misho 730: # undef srandom_r
1.1.1.2 misho 731: # if HAVE_RAW_DECL_SRANDOM_R
732: _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
733: "use gnulib module random_r for portability");
734: # endif
735: #endif
736:
737: #if @GNULIB_RANDOM_R@
1.1.1.3 ! misho 738: # if @REPLACE_RANDOM_R@
! 739: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 740: # undef initstate_r
! 741: # define initstate_r rpl_initstate_r
! 742: # endif
! 743: _GL_FUNCDECL_RPL (initstate_r, int,
! 744: (unsigned int seed, char *buf, size_t buf_size,
! 745: struct random_data *rand_state)
! 746: _GL_ARG_NONNULL ((2, 4)));
! 747: _GL_CXXALIAS_RPL (initstate_r, int,
! 748: (unsigned int seed, char *buf, size_t buf_size,
! 749: struct random_data *rand_state));
! 750: # else
! 751: # if !@HAVE_RANDOM_R@
1.1.1.2 misho 752: _GL_FUNCDECL_SYS (initstate_r, int,
753: (unsigned int seed, char *buf, size_t buf_size,
754: struct random_data *rand_state)
755: _GL_ARG_NONNULL ((2, 4)));
1.1.1.3 ! misho 756: # endif
1.1.1.2 misho 757: _GL_CXXALIAS_SYS (initstate_r, int,
758: (unsigned int seed, char *buf, size_t buf_size,
759: struct random_data *rand_state));
1.1.1.3 ! misho 760: # endif
1.1.1.2 misho 761: _GL_CXXALIASWARN (initstate_r);
762: #elif defined GNULIB_POSIXCHECK
763: # undef initstate_r
764: # if HAVE_RAW_DECL_INITSTATE_R
765: _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
766: "use gnulib module random_r for portability");
767: # endif
768: #endif
769:
770: #if @GNULIB_RANDOM_R@
1.1.1.3 ! misho 771: # if @REPLACE_RANDOM_R@
! 772: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 773: # undef setstate_r
! 774: # define setstate_r rpl_setstate_r
! 775: # endif
! 776: _GL_FUNCDECL_RPL (setstate_r, int,
! 777: (char *arg_state, struct random_data *rand_state)
! 778: _GL_ARG_NONNULL ((1, 2)));
! 779: _GL_CXXALIAS_RPL (setstate_r, int,
! 780: (char *arg_state, struct random_data *rand_state));
! 781: # else
! 782: # if !@HAVE_RANDOM_R@
1.1.1.2 misho 783: _GL_FUNCDECL_SYS (setstate_r, int,
784: (char *arg_state, struct random_data *rand_state)
785: _GL_ARG_NONNULL ((1, 2)));
1.1.1.3 ! misho 786: # endif
1.1.1.2 misho 787: _GL_CXXALIAS_SYS (setstate_r, int,
788: (char *arg_state, struct random_data *rand_state));
1.1.1.3 ! misho 789: # endif
1.1.1.2 misho 790: _GL_CXXALIASWARN (setstate_r);
791: #elif defined GNULIB_POSIXCHECK
1.1 misho 792: # undef setstate_r
1.1.1.2 misho 793: # if HAVE_RAW_DECL_SETSTATE_R
794: _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
795: "use gnulib module random_r for portability");
796: # endif
797: #endif
798:
799:
800: #if @GNULIB_REALLOC_POSIX@
801: # if @REPLACE_REALLOC@
802: # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
803: || _GL_USE_STDLIB_ALLOC)
804: # undef realloc
805: # define realloc rpl_realloc
806: # endif
807: _GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
808: _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
809: # else
810: _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
811: # endif
812: _GL_CXXALIASWARN (realloc);
813: #elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
814: # undef realloc
815: /* Assume realloc is always declared. */
816: _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
817: "use gnulib module realloc-posix for portability");
1.1 misho 818: #endif
819:
1.1.1.3 ! misho 820:
! 821: #if @GNULIB_REALLOCARRAY@
! 822: # if ! @HAVE_REALLOCARRAY@
! 823: _GL_FUNCDECL_SYS (reallocarray, void *,
! 824: (void *ptr, size_t nmemb, size_t size));
! 825: # endif
! 826: _GL_CXXALIAS_SYS (reallocarray, void *,
! 827: (void *ptr, size_t nmemb, size_t size));
! 828: _GL_CXXALIASWARN (reallocarray);
! 829: #elif defined GNULIB_POSIXCHECK
! 830: # undef reallocarray
! 831: # if HAVE_RAW_DECL_REALLOCARRAY
! 832: _GL_WARN_ON_USE (reallocarray, "reallocarray is not portable - "
! 833: "use gnulib module reallocarray for portability");
! 834: # endif
! 835: #endif
! 836:
1.1.1.2 misho 837: #if @GNULIB_REALPATH@
838: # if @REPLACE_REALPATH@
839: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
840: # define realpath rpl_realpath
841: # endif
842: _GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
843: _GL_ARG_NONNULL ((1)));
844: _GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
845: # else
846: # if !@HAVE_REALPATH@
847: _GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
848: _GL_ARG_NONNULL ((1)));
849: # endif
850: _GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
851: # endif
852: _GL_CXXALIASWARN (realpath);
853: #elif defined GNULIB_POSIXCHECK
854: # undef realpath
855: # if HAVE_RAW_DECL_REALPATH
856: _GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
857: "canonicalize or canonicalize-lgpl for portability");
858: # endif
859: #endif
1.1 misho 860:
861: #if @GNULIB_RPMATCH@
862: /* Test a user response to a question.
863: Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */
1.1.1.2 misho 864: # if !@HAVE_RPMATCH@
865: _GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
1.1 misho 866: # endif
1.1.1.2 misho 867: _GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
868: _GL_CXXALIASWARN (rpmatch);
1.1 misho 869: #elif defined GNULIB_POSIXCHECK
870: # undef rpmatch
1.1.1.2 misho 871: # if HAVE_RAW_DECL_RPMATCH
872: _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
873: "use gnulib module rpmatch for portability");
874: # endif
1.1 misho 875: #endif
876:
1.1.1.3 ! misho 877: #if @GNULIB_SECURE_GETENV@
! 878: /* Look up NAME in the environment, returning 0 in insecure situations. */
! 879: # if !@HAVE_SECURE_GETENV@
! 880: _GL_FUNCDECL_SYS (secure_getenv, char *,
! 881: (char const *name) _GL_ARG_NONNULL ((1)));
! 882: # endif
! 883: _GL_CXXALIAS_SYS (secure_getenv, char *, (char const *name));
! 884: _GL_CXXALIASWARN (secure_getenv);
! 885: #elif defined GNULIB_POSIXCHECK
! 886: # undef secure_getenv
! 887: # if HAVE_RAW_DECL_SECURE_GETENV
! 888: _GL_WARN_ON_USE (secure_getenv, "secure_getenv is unportable - "
! 889: "use gnulib module secure_getenv for portability");
! 890: # endif
! 891: #endif
! 892:
1.1 misho 893: #if @GNULIB_SETENV@
894: /* Set NAME to VALUE in the environment.
895: If REPLACE is nonzero, overwrite an existing value. */
1.1.1.2 misho 896: # if @REPLACE_SETENV@
897: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
898: # undef setenv
899: # define setenv rpl_setenv
1.1 misho 900: # endif
1.1.1.2 misho 901: _GL_FUNCDECL_RPL (setenv, int,
902: (const char *name, const char *value, int replace)
903: _GL_ARG_NONNULL ((1)));
904: _GL_CXXALIAS_RPL (setenv, int,
905: (const char *name, const char *value, int replace));
1.1 misho 906: # else
1.1.1.2 misho 907: # if !@HAVE_DECL_SETENV@
908: _GL_FUNCDECL_SYS (setenv, int,
909: (const char *name, const char *value, int replace)
910: _GL_ARG_NONNULL ((1)));
911: # endif
912: _GL_CXXALIAS_SYS (setenv, int,
913: (const char *name, const char *value, int replace));
914: # endif
915: # if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
916: _GL_CXXALIASWARN (setenv);
917: # endif
918: #elif defined GNULIB_POSIXCHECK
919: # undef setenv
920: # if HAVE_RAW_DECL_SETENV
921: _GL_WARN_ON_USE (setenv, "setenv is unportable - "
922: "use gnulib module setenv for portability");
1.1 misho 923: # endif
924: #endif
925:
926: #if @GNULIB_STRTOD@
927: /* Parse a double from STRING, updating ENDP if appropriate. */
1.1.1.2 misho 928: # if @REPLACE_STRTOD@
929: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
930: # define strtod rpl_strtod
931: # endif
1.1.1.3 ! misho 932: # define GNULIB_defined_strtod_function 1
1.1.1.2 misho 933: _GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
934: _GL_ARG_NONNULL ((1)));
935: _GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
936: # else
937: # if !@HAVE_STRTOD@
938: _GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
939: _GL_ARG_NONNULL ((1)));
940: # endif
941: _GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
1.1 misho 942: # endif
1.1.1.2 misho 943: _GL_CXXALIASWARN (strtod);
1.1 misho 944: #elif defined GNULIB_POSIXCHECK
945: # undef strtod
1.1.1.2 misho 946: # if HAVE_RAW_DECL_STRTOD
947: _GL_WARN_ON_USE (strtod, "strtod is unportable - "
948: "use gnulib module strtod for portability");
949: # endif
1.1 misho 950: #endif
951:
1.1.1.3 ! misho 952: #if @GNULIB_STRTOLD@
! 953: /* Parse a 'long double' from STRING, updating ENDP if appropriate. */
! 954: # if @REPLACE_STRTOLD@
! 955: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 956: # define strtold rpl_strtold
! 957: # endif
! 958: # define GNULIB_defined_strtold_function 1
! 959: _GL_FUNCDECL_RPL (strtold, long double, (const char *str, char **endp)
! 960: _GL_ARG_NONNULL ((1)));
! 961: _GL_CXXALIAS_RPL (strtold, long double, (const char *str, char **endp));
! 962: # else
! 963: # if !@HAVE_STRTOLD@
! 964: _GL_FUNCDECL_SYS (strtold, long double, (const char *str, char **endp)
! 965: _GL_ARG_NONNULL ((1)));
! 966: # endif
! 967: _GL_CXXALIAS_SYS (strtold, long double, (const char *str, char **endp));
! 968: # endif
! 969: _GL_CXXALIASWARN (strtold);
! 970: #elif defined GNULIB_POSIXCHECK
! 971: # undef strtold
! 972: # if HAVE_RAW_DECL_STRTOLD
! 973: _GL_WARN_ON_USE (strtold, "strtold is unportable - "
! 974: "use gnulib module strtold for portability");
! 975: # endif
! 976: #endif
! 977:
1.1 misho 978: #if @GNULIB_STRTOLL@
979: /* Parse a signed integer whose textual representation starts at STRING.
980: The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
981: it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
982: "0x").
983: If ENDPTR is not NULL, the address of the first byte after the integer is
984: stored in *ENDPTR.
985: Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
986: to ERANGE. */
1.1.1.2 misho 987: # if !@HAVE_STRTOLL@
988: _GL_FUNCDECL_SYS (strtoll, long long,
989: (const char *string, char **endptr, int base)
990: _GL_ARG_NONNULL ((1)));
991: # endif
992: _GL_CXXALIAS_SYS (strtoll, long long,
993: (const char *string, char **endptr, int base));
994: _GL_CXXALIASWARN (strtoll);
1.1 misho 995: #elif defined GNULIB_POSIXCHECK
996: # undef strtoll
1.1.1.2 misho 997: # if HAVE_RAW_DECL_STRTOLL
998: _GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
999: "use gnulib module strtoll for portability");
1000: # endif
1.1 misho 1001: #endif
1002:
1003: #if @GNULIB_STRTOULL@
1004: /* Parse an unsigned integer whose textual representation starts at STRING.
1005: The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
1006: it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
1007: "0x").
1008: If ENDPTR is not NULL, the address of the first byte after the integer is
1009: stored in *ENDPTR.
1010: Upon overflow, the return value is ULLONG_MAX, and errno is set to
1011: ERANGE. */
1.1.1.2 misho 1012: # if !@HAVE_STRTOULL@
1013: _GL_FUNCDECL_SYS (strtoull, unsigned long long,
1014: (const char *string, char **endptr, int base)
1015: _GL_ARG_NONNULL ((1)));
1016: # endif
1017: _GL_CXXALIAS_SYS (strtoull, unsigned long long,
1018: (const char *string, char **endptr, int base));
1019: _GL_CXXALIASWARN (strtoull);
1.1 misho 1020: #elif defined GNULIB_POSIXCHECK
1021: # undef strtoull
1.1.1.2 misho 1022: # if HAVE_RAW_DECL_STRTOULL
1023: _GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
1024: "use gnulib module strtoull for portability");
1025: # endif
1.1 misho 1026: #endif
1027:
1.1.1.2 misho 1028: #if @GNULIB_UNLOCKPT@
1029: /* Unlock the slave side of the pseudo-terminal whose master side is specified
1030: by FD, so that it can be opened. */
1031: # if !@HAVE_UNLOCKPT@
1032: _GL_FUNCDECL_SYS (unlockpt, int, (int fd));
1033: # endif
1034: _GL_CXXALIAS_SYS (unlockpt, int, (int fd));
1035: _GL_CXXALIASWARN (unlockpt);
1036: #elif defined GNULIB_POSIXCHECK
1037: # undef unlockpt
1038: # if HAVE_RAW_DECL_UNLOCKPT
1039: _GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
1040: "use gnulib module unlockpt for portability");
1041: # endif
1042: #endif
1043:
1044: #if @GNULIB_UNSETENV@
1045: /* Remove the variable NAME from the environment. */
1046: # if @REPLACE_UNSETENV@
1047: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1048: # undef unsetenv
1049: # define unsetenv rpl_unsetenv
1050: # endif
1051: _GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
1052: _GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
1053: # else
1054: # if !@HAVE_DECL_UNSETENV@
1055: _GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
1056: # endif
1057: _GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
1058: # endif
1059: # if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
1060: _GL_CXXALIASWARN (unsetenv);
1061: # endif
1062: #elif defined GNULIB_POSIXCHECK
1063: # undef unsetenv
1064: # if HAVE_RAW_DECL_UNSETENV
1065: _GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
1066: "use gnulib module unsetenv for portability");
1067: # endif
1068: #endif
1.1 misho 1069:
1.1.1.2 misho 1070: /* Convert a wide character to a multibyte character. */
1071: #if @GNULIB_WCTOMB@
1072: # if @REPLACE_WCTOMB@
1073: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1074: # undef wctomb
1075: # define wctomb rpl_wctomb
1076: # endif
1077: _GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
1078: _GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
1079: # else
1080: _GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
1081: # endif
1082: _GL_CXXALIASWARN (wctomb);
1.1 misho 1083: #endif
1084:
1.1.1.2 misho 1085:
1086: #endif /* _@GUARD_PREFIX@_STDLIB_H */
1087: #endif /* _@GUARD_PREFIX@_STDLIB_H */
1.1 misho 1088: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>