1 | /* Name frobnication for compiling argp outside of glibc |
2 | Copyright (C) 1997-2021 Free Software Foundation, Inc. |
3 | This file is part of the GNU C Library. |
4 | Written by Miles Bader <miles@gnu.ai.mit.edu>. |
5 | |
6 | The GNU C Library is free software; you can redistribute it and/or |
7 | modify it under the terms of the GNU Lesser General Public |
8 | License as published by the Free Software Foundation; either |
9 | version 2.1 of the License, or (at your option) any later version. |
10 | |
11 | The GNU C Library is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | Lesser General Public License for more details. |
15 | |
16 | You should have received a copy of the GNU Lesser General Public |
17 | License along with the GNU C Library; if not, see |
18 | <https://www.gnu.org/licenses/>. */ |
19 | |
20 | #if !_LIBC |
21 | /* This code is written for inclusion in gnu-libc, and uses names in the |
22 | namespace reserved for libc. If we're not compiling in libc, define those |
23 | names to be the normal ones instead. */ |
24 | |
25 | /* argp-parse functions */ |
26 | #undef __argp_parse |
27 | #define __argp_parse argp_parse |
28 | #undef __option_is_end |
29 | #define __option_is_end _option_is_end |
30 | #undef __option_is_short |
31 | #define __option_is_short _option_is_short |
32 | #undef __argp_input |
33 | #define __argp_input _argp_input |
34 | |
35 | /* argp-help functions */ |
36 | #undef __argp_help |
37 | #define __argp_help argp_help |
38 | #undef __argp_error |
39 | #define __argp_error argp_error |
40 | #undef __argp_failure |
41 | #define __argp_failure argp_failure |
42 | #undef __argp_state_help |
43 | #define __argp_state_help argp_state_help |
44 | #undef __argp_usage |
45 | #define __argp_usage argp_usage |
46 | |
47 | /* argp-fmtstream functions */ |
48 | #undef __argp_make_fmtstream |
49 | #define __argp_make_fmtstream argp_make_fmtstream |
50 | #undef __argp_fmtstream_free |
51 | #define __argp_fmtstream_free argp_fmtstream_free |
52 | #undef __argp_fmtstream_putc |
53 | #define __argp_fmtstream_putc argp_fmtstream_putc |
54 | #undef __argp_fmtstream_puts |
55 | #define __argp_fmtstream_puts argp_fmtstream_puts |
56 | #undef __argp_fmtstream_write |
57 | #define __argp_fmtstream_write argp_fmtstream_write |
58 | #undef __argp_fmtstream_printf |
59 | #define __argp_fmtstream_printf argp_fmtstream_printf |
60 | #undef __argp_fmtstream_set_lmargin |
61 | #define __argp_fmtstream_set_lmargin argp_fmtstream_set_lmargin |
62 | #undef __argp_fmtstream_set_rmargin |
63 | #define __argp_fmtstream_set_rmargin argp_fmtstream_set_rmargin |
64 | #undef __argp_fmtstream_set_wmargin |
65 | #define __argp_fmtstream_set_wmargin argp_fmtstream_set_wmargin |
66 | #undef __argp_fmtstream_point |
67 | #define __argp_fmtstream_point argp_fmtstream_point |
68 | #undef __argp_fmtstream_update |
69 | #define __argp_fmtstream_update _argp_fmtstream_update |
70 | #undef __argp_fmtstream_ensure |
71 | #define __argp_fmtstream_ensure _argp_fmtstream_ensure |
72 | #undef __argp_fmtstream_lmargin |
73 | #define __argp_fmtstream_lmargin argp_fmtstream_lmargin |
74 | #undef __argp_fmtstream_rmargin |
75 | #define __argp_fmtstream_rmargin argp_fmtstream_rmargin |
76 | #undef __argp_fmtstream_wmargin |
77 | #define __argp_fmtstream_wmargin argp_fmtstream_wmargin |
78 | |
79 | #include "mempcpy.h" |
80 | #include "strcase.h" |
81 | #include "strchrnul.h" |
82 | #include "strndup.h" |
83 | |
84 | /* normal libc functions we call */ |
85 | #undef __flockfile |
86 | #define __flockfile flockfile |
87 | #undef __funlockfile |
88 | #define __funlockfile funlockfile |
89 | #undef __mempcpy |
90 | #define __mempcpy mempcpy |
91 | #undef __sleep |
92 | #define __sleep sleep |
93 | #undef __strcasecmp |
94 | #define __strcasecmp strcasecmp |
95 | #undef __strchrnul |
96 | #define __strchrnul strchrnul |
97 | #undef __strerror_r |
98 | #define __strerror_r strerror_r |
99 | #undef __strndup |
100 | #define __strndup strndup |
101 | |
102 | #if defined(HAVE_DECL_CLEARERR_UNLOCKED) && !HAVE_DECL_CLEARERR_UNLOCKED |
103 | # define clearerr_unlocked(x) clearerr (x) |
104 | #endif |
105 | #if defined(HAVE_DECL_FEOF_UNLOCKED) && !HAVE_DECL_FEOF_UNLOCKED |
106 | # define feof_unlocked(x) feof (x) |
107 | # endif |
108 | #if defined(HAVE_DECL_FERROR_UNLOCKED) && !HAVE_DECL_FERROR_UNLOCKED |
109 | # define ferror_unlocked(x) ferror (x) |
110 | # endif |
111 | #if defined(HAVE_DECL_FFLUSH_UNLOCKED) && !HAVE_DECL_FFLUSH_UNLOCKED |
112 | # define fflush_unlocked(x) fflush (x) |
113 | # endif |
114 | #if defined(HAVE_DECL_FGETS_UNLOCKED) && !HAVE_DECL_FGETS_UNLOCKED |
115 | # define fgets_unlocked(x,y,z) fgets (x,y,z) |
116 | # endif |
117 | #if defined(HAVE_DECL_FPUTC_UNLOCKED) && !HAVE_DECL_FPUTC_UNLOCKED |
118 | # define fputc_unlocked(x,y) fputc (x,y) |
119 | # endif |
120 | #if defined(HAVE_DECL_FPUTS_UNLOCKED) && !HAVE_DECL_FPUTS_UNLOCKED |
121 | # define fputs_unlocked(x,y) fputs (x,y) |
122 | # endif |
123 | #if defined(HAVE_DECL_FREAD_UNLOCKED) && !HAVE_DECL_FREAD_UNLOCKED |
124 | # define fread_unlocked(w,x,y,z) fread (w,x,y,z) |
125 | # endif |
126 | #if defined(HAVE_DECL_FWRITE_UNLOCKED) && !HAVE_DECL_FWRITE_UNLOCKED |
127 | # define fwrite_unlocked(w,x,y,z) fwrite (w,x,y,z) |
128 | # endif |
129 | #if defined(HAVE_DECL_GETC_UNLOCKED) && !HAVE_DECL_GETC_UNLOCKED |
130 | # define getc_unlocked(x) getc (x) |
131 | # endif |
132 | #if defined(HAVE_DECL_GETCHAR_UNLOCKED) && !HAVE_DECL_GETCHAR_UNLOCKED |
133 | # define getchar_unlocked() getchar () |
134 | # endif |
135 | #if defined(HAVE_DECL_PUTC_UNLOCKED) && !HAVE_DECL_PUTC_UNLOCKED |
136 | # define putc_unlocked(x,y) putc (x,y) |
137 | # endif |
138 | #if defined(HAVE_DECL_PUTCHAR_UNLOCKED) && !HAVE_DECL_PUTCHAR_UNLOCKED |
139 | # define putchar_unlocked(x) putchar (x) |
140 | # endif |
141 | |
142 | extern char *__argp_basename (char *name); |
143 | |
144 | #endif /* !_LIBC */ |
145 | |
146 | #ifndef __set_errno |
147 | #define __set_errno(e) (errno = (e)) |
148 | #endif |
149 | |
150 | #if defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME |
151 | # define __argp_short_program_name() (program_invocation_short_name) |
152 | #else |
153 | extern char *__argp_short_program_name (void); |
154 | #endif |
155 | |