/src/ntp-dev/sntp/libopts/genshell.c
Line | Count | Source (jump to first uncovered line) |
1 | | /* -*- buffer-read-only: t -*- vi: set ro: |
2 | | * |
3 | | * DO NOT EDIT THIS FILE (genshell.c) |
4 | | * |
5 | | * It has been AutoGen-ed |
6 | | * From the definitions genshell.def |
7 | | * and the template file options |
8 | | * |
9 | | * Generated from AutoOpts 41:1:16 templates. |
10 | | * |
11 | | * AutoOpts is a copyrighted work. This source file is not encumbered |
12 | | * by AutoOpts licensing, but is provided under the licensing terms chosen |
13 | | * by the genshellopt author or copyright holder. AutoOpts is |
14 | | * licensed under the terms of the LGPL. The redistributable library |
15 | | * (``libopts'') is licensed under the terms of either the LGPL or, at the |
16 | | * users discretion, the BSD license. See the AutoOpts and/or libopts sources |
17 | | * for details. |
18 | | * |
19 | | * The genshellopt program is copyrighted and licensed |
20 | | * under the following terms: |
21 | | * |
22 | | * Copyright (C) 1999-2014 Bruce Korb, all rights reserved. |
23 | | * This is free software. It is licensed for use, modification and |
24 | | * redistribution under the terms of the GNU Lesser General Public License, |
25 | | * version 2 or later <http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html> |
26 | | * |
27 | | * The genshellopt library is free software; you can redistribute it and/or |
28 | | * modify it under the terms of the GNU Library General Public License as |
29 | | * published by the Free Software Foundation; either version 2 of the |
30 | | * License, or (at your option) any later version. |
31 | | * |
32 | | * This library is distributed in the hope that it will be useful, but |
33 | | * WITHOUT ANY WARRANTY; without even the implied warranty of |
34 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
35 | | * Library General Public License for more details. |
36 | | * |
37 | | * You should have received a copy of the GNU Library General Public |
38 | | * License along with this library; if not, see |
39 | | * <http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html> |
40 | | */ |
41 | | |
42 | | #ifndef __doxygen__ |
43 | | #define OPTION_CODE_COMPILE 1 |
44 | | #include "genshell.h" |
45 | | #include <sys/types.h> |
46 | | |
47 | | #include <limits.h> |
48 | | #include <stdio.h> |
49 | | #include <stdlib.h> |
50 | | |
51 | | #ifdef __cplusplus |
52 | | extern "C" { |
53 | | #endif |
54 | | extern FILE * option_usage_fp; |
55 | | #define zCopyright (genshellopt_opt_strs+0) |
56 | | #define zLicenseDescrip (genshellopt_opt_strs+285) |
57 | | |
58 | | extern tUsageProc genshelloptUsage; |
59 | | |
60 | | #ifndef NULL |
61 | | # define NULL 0 |
62 | | #endif |
63 | | |
64 | | /** |
65 | | * static const strings for genshellopt options |
66 | | */ |
67 | | static char const genshellopt_opt_strs[1769] = |
68 | | /* 0 */ "genshellopt 1\n" |
69 | | "Copyright (C) 1999-2014 Bruce Korb, all rights reserved.\n" |
70 | | "This is free software. It is licensed for use, modification and\n" |
71 | | "redistribution under the terms of the GNU Lesser General Public License,\n" |
72 | | "version 2 or later <http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html>\n\0" |
73 | | /* 285 */ "The genshellopt library is free software; you can redistribute it and/or\n" |
74 | | "modify it under the terms of the GNU Library General Public License as\n" |
75 | | "published by the Free Software Foundation; either version 2 of the License,\n" |
76 | | "or (at your option) any later version.\n\n" |
77 | | "This library is distributed in the hope that it will be useful, but WITHOUT\n" |
78 | | "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n" |
79 | | "FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public\n" |
80 | | "License for more details.\n\n" |
81 | | "You should have received a copy of the GNU Library General Public License\n" |
82 | | "along with this library; if not, see\n" |
83 | | "<http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html>\n\0" |
84 | | /* 957 */ "Output Script File\0" |
85 | | /* 976 */ "SCRIPT\0" |
86 | | /* 983 */ "script\0" |
87 | | /* 990 */ "Shell name (follows \"#!\" magic)\0" |
88 | | /* 1022 */ "SHELL\0" |
89 | | /* 1028 */ "no-shell\0" |
90 | | /* 1037 */ "no\0" |
91 | | /* 1040 */ "display extended usage information and exit\0" |
92 | | /* 1084 */ "help\0" |
93 | | /* 1089 */ "extended usage information passed thru pager\0" |
94 | | /* 1134 */ "more-help\0" |
95 | | /* 1144 */ "output version information and exit\0" |
96 | | /* 1180 */ "version\0" |
97 | | /* 1188 */ "GENSHELLOPT\0" |
98 | | /* 1200 */ "genshellopt - Generate Shell Option Processing Script - Ver. 1\n" |
99 | | "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n\0" |
100 | | /* 1321 */ "autogen-users@lists.sourceforge.net\0" |
101 | | /* 1357 */ "Note that 'shell' is only useful if the output file does not already exist.\n" |
102 | | "If it does, then the shell name and optional first argument will be\n" |
103 | | "extracted from the script file.\n\0" |
104 | | /* 1534 */ "If the script file already exists and contains Automated Option Processing\n" |
105 | | "text, the second line of the file through the ending tag will be replaced\n" |
106 | | "by the newly generated text. The first '#!' line will be regenerated.\n\0" |
107 | | /* 1755 */ "genshellopt 1"; |
108 | | |
109 | | /** |
110 | | * script option description: |
111 | | */ |
112 | | /** Descriptive text for the script option */ |
113 | | #define SCRIPT_DESC (genshellopt_opt_strs+957) |
114 | | /** Upper-cased name for the script option */ |
115 | | #define SCRIPT_NAME (genshellopt_opt_strs+976) |
116 | | /** Name string for the script option */ |
117 | | #define SCRIPT_name (genshellopt_opt_strs+983) |
118 | | /** Compiled in flag settings for the script option */ |
119 | | #define SCRIPT_FLAGS (OPTST_DISABLED \ |
120 | | | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) |
121 | | |
122 | | /** |
123 | | * shell option description: |
124 | | */ |
125 | | /** Descriptive text for the shell option */ |
126 | | #define SHELL_DESC (genshellopt_opt_strs+990) |
127 | | /** Upper-cased name for the shell option */ |
128 | | #define SHELL_NAME (genshellopt_opt_strs+1022) |
129 | | /** disablement name for the shell option */ |
130 | | #define NOT_SHELL_name (genshellopt_opt_strs+1028) |
131 | | /** disablement prefix for the shell option */ |
132 | | #define NOT_SHELL_PFX (genshellopt_opt_strs+1037) |
133 | | /** Name string for the shell option */ |
134 | | #define SHELL_name (NOT_SHELL_name + 3) |
135 | | /** Compiled in flag settings for the shell option */ |
136 | | #define SHELL_FLAGS (OPTST_INITENABLED \ |
137 | | | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) |
138 | | |
139 | | /* |
140 | | * Help/More_Help/Version option descriptions: |
141 | | */ |
142 | | #define HELP_DESC (genshellopt_opt_strs+1040) |
143 | | #define HELP_name (genshellopt_opt_strs+1084) |
144 | | #ifdef HAVE_WORKING_FORK |
145 | | #define MORE_HELP_DESC (genshellopt_opt_strs+1089) |
146 | | #define MORE_HELP_name (genshellopt_opt_strs+1134) |
147 | | #define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT) |
148 | | #else |
149 | | #define MORE_HELP_DESC HELP_DESC |
150 | | #define MORE_HELP_name HELP_name |
151 | | #define MORE_HELP_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) |
152 | | #endif |
153 | | #ifdef NO_OPTIONAL_OPT_ARGS |
154 | | # define VER_FLAGS (OPTST_IMM | OPTST_NO_INIT) |
155 | | #else |
156 | | # define VER_FLAGS (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \ |
157 | | OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT) |
158 | | #endif |
159 | | #define VER_DESC (genshellopt_opt_strs+1144) |
160 | | #define VER_name (genshellopt_opt_strs+1180) |
161 | | /** |
162 | | * Declare option callback procedures |
163 | | */ |
164 | | extern tOptProc |
165 | | optionBooleanVal, optionNestedVal, optionNumericVal, |
166 | | optionPagedUsage, optionPrintVersion, optionResetOpt, |
167 | | optionStackArg, optionTimeDate, optionTimeVal, |
168 | | optionUnstackArg, optionVendorOption; |
169 | | static tOptProc |
170 | | doUsageOpt; |
171 | | #define VER_PROC optionPrintVersion |
172 | | |
173 | | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ |
174 | | /** |
175 | | * Define the genshellopt Option Descriptions. |
176 | | * This is an array of GENSHELL_OPTION_CT entries, one for each |
177 | | * option that the genshellopt program responds to. |
178 | | */ |
179 | | static tOptDesc optDesc[GENSHELL_OPTION_CT] = { |
180 | | { /* entry idx, value */ 0, VALUE_GENSHELL_OPT_SCRIPT, |
181 | | /* equiv idx, value */ 0, VALUE_GENSHELL_OPT_SCRIPT, |
182 | | /* equivalenced to */ NO_EQUIVALENT, |
183 | | /* min, max, act ct */ 0, 1, 0, |
184 | | /* opt state flags */ SCRIPT_FLAGS, 0, |
185 | | /* last opt argumnt */ { NULL }, /* --script */ |
186 | | /* arg list/cookie */ NULL, |
187 | | /* must/cannot opts */ NULL, NULL, |
188 | | /* option proc */ NULL, |
189 | | /* desc, NAME, name */ SCRIPT_DESC, SCRIPT_NAME, SCRIPT_name, |
190 | | /* disablement strs */ NULL, NULL }, |
191 | | |
192 | | { /* entry idx, value */ 1, VALUE_GENSHELL_OPT_SHELL, |
193 | | /* equiv idx, value */ 1, VALUE_GENSHELL_OPT_SHELL, |
194 | | /* equivalenced to */ NO_EQUIVALENT, |
195 | | /* min, max, act ct */ 0, 1, 0, |
196 | | /* opt state flags */ SHELL_FLAGS, 0, |
197 | | /* last opt argumnt */ { NULL }, /* --shell */ |
198 | | /* arg list/cookie */ NULL, |
199 | | /* must/cannot opts */ NULL, NULL, |
200 | | /* option proc */ NULL, |
201 | | /* desc, NAME, name */ SHELL_DESC, SHELL_NAME, SHELL_name, |
202 | | /* disablement strs */ NOT_SHELL_name, NOT_SHELL_PFX }, |
203 | | |
204 | | { /* entry idx, value */ INDEX_GENSHELL_OPT_VERSION, VALUE_GENSHELL_OPT_VERSION, |
205 | | /* equiv idx value */ NO_EQUIVALENT, VALUE_GENSHELL_OPT_VERSION, |
206 | | /* equivalenced to */ NO_EQUIVALENT, |
207 | | /* min, max, act ct */ 0, 1, 0, |
208 | | /* opt state flags */ VER_FLAGS, AOUSE_VERSION, |
209 | | /* last opt argumnt */ { NULL }, |
210 | | /* arg list/cookie */ NULL, |
211 | | /* must/cannot opts */ NULL, NULL, |
212 | | /* option proc */ VER_PROC, |
213 | | /* desc, NAME, name */ VER_DESC, NULL, VER_name, |
214 | | /* disablement strs */ NULL, NULL }, |
215 | | |
216 | | |
217 | | |
218 | | { /* entry idx, value */ INDEX_GENSHELL_OPT_HELP, VALUE_GENSHELL_OPT_HELP, |
219 | | /* equiv idx value */ NO_EQUIVALENT, VALUE_GENSHELL_OPT_HELP, |
220 | | /* equivalenced to */ NO_EQUIVALENT, |
221 | | /* min, max, act ct */ 0, 1, 0, |
222 | | /* opt state flags */ OPTST_IMM | OPTST_NO_INIT, AOUSE_HELP, |
223 | | /* last opt argumnt */ { NULL }, |
224 | | /* arg list/cookie */ NULL, |
225 | | /* must/cannot opts */ NULL, NULL, |
226 | | /* option proc */ doUsageOpt, |
227 | | /* desc, NAME, name */ HELP_DESC, NULL, HELP_name, |
228 | | /* disablement strs */ NULL, NULL }, |
229 | | |
230 | | { /* entry idx, value */ INDEX_GENSHELL_OPT_MORE_HELP, VALUE_GENSHELL_OPT_MORE_HELP, |
231 | | /* equiv idx value */ NO_EQUIVALENT, VALUE_GENSHELL_OPT_MORE_HELP, |
232 | | /* equivalenced to */ NO_EQUIVALENT, |
233 | | /* min, max, act ct */ 0, 1, 0, |
234 | | /* opt state flags */ MORE_HELP_FLAGS, AOUSE_MORE_HELP, |
235 | | /* last opt argumnt */ { NULL }, |
236 | | /* arg list/cookie */ NULL, |
237 | | /* must/cannot opts */ NULL, NULL, |
238 | | /* option proc */ optionPagedUsage, |
239 | | /* desc, NAME, name */ MORE_HELP_DESC, NULL, MORE_HELP_name, |
240 | | /* disablement strs */ NULL, NULL } |
241 | | }; |
242 | | |
243 | | |
244 | | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ |
245 | | /** Reference to the upper cased version of genshellopt. */ |
246 | | #define zPROGNAME (genshellopt_opt_strs+1188) |
247 | | /** Reference to the title line for genshellopt usage. */ |
248 | | #define zUsageTitle (genshellopt_opt_strs+1200) |
249 | | /** There is no genshellopt configuration file. */ |
250 | | #define zRcName NULL |
251 | | /** There are no directories to search for genshellopt config files. */ |
252 | | #define apzHomeList NULL |
253 | | /** The genshellopt program bug email address. */ |
254 | | #define zBugsAddr (genshellopt_opt_strs+1321) |
255 | | /** Clarification/explanation of what genshellopt does. */ |
256 | | #define zExplain (genshellopt_opt_strs+1357) |
257 | | /** Extra detail explaining what genshellopt does. */ |
258 | | #define zDetail (genshellopt_opt_strs+1534) |
259 | | /** The full version string for genshellopt. */ |
260 | | #define zFullVersion (genshellopt_opt_strs+1755) |
261 | | /* extracted from optcode.tlib near line 364 */ |
262 | | |
263 | | #if defined(ENABLE_NLS) |
264 | | # define OPTPROC_BASE OPTPROC_TRANSLATE |
265 | | static tOptionXlateProc translate_option_strings; |
266 | | #else |
267 | | # define OPTPROC_BASE OPTPROC_NONE |
268 | | # define translate_option_strings NULL |
269 | | #endif /* ENABLE_NLS */ |
270 | | |
271 | | #define genshellopt_full_usage (NULL) |
272 | | #define genshellopt_short_usage (NULL) |
273 | | |
274 | | #endif /* not defined __doxygen__ */ |
275 | | |
276 | | /* |
277 | | * Create the static procedure(s) declared above. |
278 | | */ |
279 | | /** |
280 | | * The callout function that invokes the genshelloptUsage function. |
281 | | * |
282 | | * @param[in] opts the AutoOpts option description structure |
283 | | * @param[in] od the descriptor for the "help" (usage) option. |
284 | | * @noreturn |
285 | | */ |
286 | | static void |
287 | | doUsageOpt(tOptions * opts, tOptDesc * od) |
288 | 0 | { |
289 | 0 | int ex_code; |
290 | 0 | ex_code = GENSHELLOPT_EXIT_SUCCESS; |
291 | 0 | genshelloptUsage(&genshelloptOptions, ex_code); |
292 | | /* NOTREACHED */ |
293 | 0 | exit(1); |
294 | 0 | (void)opts; |
295 | 0 | (void)od; |
296 | 0 | } |
297 | | /* extracted from optmain.tlib near line 1250 */ |
298 | | |
299 | | /** |
300 | | * The directory containing the data associated with genshellopt. |
301 | | */ |
302 | | #ifndef PKGDATADIR |
303 | | # define PKGDATADIR "" |
304 | | #endif |
305 | | |
306 | | /** |
307 | | * Information about the person or institution that packaged genshellopt |
308 | | * for the current distribution. |
309 | | */ |
310 | | #ifndef WITH_PACKAGER |
311 | | # define genshellopt_packager_info NULL |
312 | | #else |
313 | | /** Packager information for genshellopt. */ |
314 | | static char const genshellopt_packager_info[] = |
315 | | "Packaged by " WITH_PACKAGER |
316 | | |
317 | | # ifdef WITH_PACKAGER_VERSION |
318 | | " ("WITH_PACKAGER_VERSION")" |
319 | | # endif |
320 | | |
321 | | # ifdef WITH_PACKAGER_BUG_REPORTS |
322 | | "\nReport genshellopt bugs to " WITH_PACKAGER_BUG_REPORTS |
323 | | # endif |
324 | | "\n"; |
325 | | #endif |
326 | | #ifndef __doxygen__ |
327 | | |
328 | | #endif /* __doxygen__ */ |
329 | | /** |
330 | | * The option definitions for genshellopt. The one structure that |
331 | | * binds them all. |
332 | | */ |
333 | | tOptions genshelloptOptions = { |
334 | | OPTIONS_STRUCT_VERSION, |
335 | | 0, NULL, /* original argc + argv */ |
336 | | ( OPTPROC_BASE |
337 | | + OPTPROC_ERRSTOP |
338 | | + OPTPROC_SHORTOPT |
339 | | + OPTPROC_LONGOPT |
340 | | + OPTPROC_NO_REQ_OPT |
341 | | + OPTPROC_NEGATIONS |
342 | | + OPTPROC_NO_ARGS ), |
343 | | 0, NULL, /* current option index, current option */ |
344 | | NULL, NULL, zPROGNAME, |
345 | | zRcName, zCopyright, zLicenseDescrip, |
346 | | zFullVersion, apzHomeList, zUsageTitle, |
347 | | zExplain, zDetail, optDesc, |
348 | | zBugsAddr, /* address to send bugs to */ |
349 | | NULL, NULL, /* extensions/saved state */ |
350 | | genshelloptUsage, /* usage procedure */ |
351 | | translate_option_strings, /* translation procedure */ |
352 | | /* |
353 | | * Indexes to special options |
354 | | */ |
355 | | { INDEX_GENSHELL_OPT_MORE_HELP, /* more-help option index */ |
356 | | NO_EQUIVALENT, /* save option index */ |
357 | | NO_EQUIVALENT, /* '-#' option index */ |
358 | | NO_EQUIVALENT /* index of default opt */ |
359 | | }, |
360 | | 5 /* full option count */, 2 /* user option count */, |
361 | | genshellopt_full_usage, genshellopt_short_usage, |
362 | | NULL, NULL, |
363 | | PKGDATADIR, genshellopt_packager_info |
364 | | }; |
365 | | |
366 | | #if ENABLE_NLS |
367 | | /** |
368 | | * This code is designed to translate translatable option text for the |
369 | | * genshellopt program. These translations happen upon entry |
370 | | * to optionProcess(). |
371 | | */ |
372 | | #include <stdio.h> |
373 | | #include <stdlib.h> |
374 | | #include <string.h> |
375 | | #include <unistd.h> |
376 | | #ifdef HAVE_DCGETTEXT |
377 | | # include <gettext.h> |
378 | | #endif |
379 | | #include <autoopts/usage-txt.h> |
380 | | |
381 | | static char * AO_gettext(char const * pz); |
382 | | static void coerce_it(void ** s); |
383 | | |
384 | | /** |
385 | | * AutoGen specific wrapper function for gettext. It relies on the macro _() |
386 | | * to convert from English to the target language, then strdup-duplicates the |
387 | | * result string. It tries the "libopts" domain first, then whatever has been |
388 | | * set via the \a textdomain(3) call. |
389 | | * |
390 | | * @param[in] pz the input text used as a lookup key. |
391 | | * @returns the translated text (if there is one), |
392 | | * or the original text (if not). |
393 | | */ |
394 | | static char * |
395 | | AO_gettext(char const * pz) |
396 | | { |
397 | | char * res; |
398 | | if (pz == NULL) |
399 | | return NULL; |
400 | | #ifdef HAVE_DCGETTEXT |
401 | | /* |
402 | | * While processing the option_xlateable_txt data, try to use the |
403 | | * "libopts" domain. Once we switch to the option descriptor data, |
404 | | * do *not* use that domain. |
405 | | */ |
406 | | if (option_xlateable_txt.field_ct != 0) { |
407 | | res = dgettext("libopts", pz); |
408 | | if (res == pz) |
409 | | res = (char *)VOIDP(_(pz)); |
410 | | } else |
411 | | res = (char *)VOIDP(_(pz)); |
412 | | #else |
413 | | res = (char *)VOIDP(_(pz)); |
414 | | #endif |
415 | | if (res == pz) |
416 | | return res; |
417 | | res = strdup(res); |
418 | | if (res == NULL) { |
419 | | fputs(_("No memory for duping translated strings\n"), stderr); |
420 | | exit(GENSHELLOPT_EXIT_FAILURE); |
421 | | } |
422 | | return res; |
423 | | } |
424 | | |
425 | | /** |
426 | | * All the pointers we use are marked "* const", but they are stored in |
427 | | * writable memory. Coerce the mutability and set the pointer. |
428 | | */ |
429 | | static void coerce_it(void ** s) { *s = AO_gettext(*s); |
430 | | } |
431 | | |
432 | | /** |
433 | | * Translate all the translatable strings in the genshelloptOptions |
434 | | * structure defined above. This is done only once. |
435 | | */ |
436 | | static void |
437 | | translate_option_strings(void) |
438 | | { |
439 | | tOptions * const opts = &genshelloptOptions; |
440 | | |
441 | | /* |
442 | | * Guard against re-translation. It won't work. The strings will have |
443 | | * been changed by the first pass through this code. One shot only. |
444 | | */ |
445 | | if (option_xlateable_txt.field_ct != 0) { |
446 | | /* |
447 | | * Do the translations. The first pointer follows the field count |
448 | | * field. The field count field is the size of a pointer. |
449 | | */ |
450 | | char ** ppz = (char**)VOIDP(&(option_xlateable_txt)); |
451 | | int ix = option_xlateable_txt.field_ct; |
452 | | |
453 | | do { |
454 | | ppz++; /* skip over field_ct */ |
455 | | *ppz = AO_gettext(*ppz); |
456 | | } while (--ix > 0); |
457 | | /* prevent re-translation and disable "libopts" domain lookup */ |
458 | | option_xlateable_txt.field_ct = 0; |
459 | | |
460 | | coerce_it(VOIDP(&(opts->pzCopyright))); |
461 | | coerce_it(VOIDP(&(opts->pzCopyNotice))); |
462 | | coerce_it(VOIDP(&(opts->pzFullVersion))); |
463 | | coerce_it(VOIDP(&(opts->pzUsageTitle))); |
464 | | coerce_it(VOIDP(&(opts->pzExplain))); |
465 | | coerce_it(VOIDP(&(opts->pzDetail))); |
466 | | { |
467 | | tOptDesc * od = opts->pOptDesc; |
468 | | for (ix = opts->optCt; ix > 0; ix--, od++) |
469 | | coerce_it(VOIDP(&(od->pzText))); |
470 | | } |
471 | | } |
472 | | } |
473 | | #endif /* ENABLE_NLS */ |
474 | | |
475 | | #ifdef DO_NOT_COMPILE_THIS_CODE_IT_IS_FOR_GETTEXT |
476 | | /** I18N function strictly for xgettext. Do not compile. */ |
477 | | static void bogus_function(void) { |
478 | | /* TRANSLATORS: |
479 | | |
480 | | The following dummy function was crated solely so that xgettext can |
481 | | extract the correct strings. These strings are actually referenced |
482 | | by a field name in the genshelloptOptions structure noted in the |
483 | | comments below. The literal text is defined in genshellopt_opt_strs. |
484 | | |
485 | | NOTE: the strings below are segmented with respect to the source string |
486 | | genshellopt_opt_strs. The strings above are handed off for translation |
487 | | at run time a paragraph at a time. Consequently, they are presented here |
488 | | for translation a paragraph at a time. |
489 | | |
490 | | ALSO: often the description for an option will reference another option |
491 | | by name. These are set off with apostrophe quotes (I hope). Do not |
492 | | translate option names. |
493 | | */ |
494 | | /* referenced via genshelloptOptions.pzCopyright */ |
495 | | puts(_("genshellopt 1\n\ |
496 | | Copyright (C) 1999-2014 Bruce Korb, all rights reserved.\n\ |
497 | | This is free software. It is licensed for use, modification and\n\ |
498 | | redistribution under the terms of the GNU Lesser General Public License,\n\ |
499 | | version 2 or later <http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html>\n")); |
500 | | |
501 | | /* referenced via genshelloptOptions.pzCopyNotice */ |
502 | | puts(_("The genshellopt library is free software; you can redistribute it and/or\n\ |
503 | | modify it under the terms of the GNU Library General Public License as\n\ |
504 | | published by the Free Software Foundation; either version 2 of the License,\n\ |
505 | | or (at your option) any later version.\n\n")); |
506 | | puts(_("This library is distributed in the hope that it will be useful, but WITHOUT\n\ |
507 | | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n\ |
508 | | FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public\n\ |
509 | | License for more details.\n\n")); |
510 | | puts(_("You should have received a copy of the GNU Library General Public License\n\ |
511 | | along with this library; if not, see\n\ |
512 | | <http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html>\n")); |
513 | | |
514 | | /* referenced via genshelloptOptions.pOptDesc->pzText */ |
515 | | puts(_("Output Script File")); |
516 | | |
517 | | /* referenced via genshelloptOptions.pOptDesc->pzText */ |
518 | | puts(_("Shell name (follows \"#!\" magic)")); |
519 | | |
520 | | /* referenced via genshelloptOptions.pOptDesc->pzText */ |
521 | | puts(_("display extended usage information and exit")); |
522 | | |
523 | | /* referenced via genshelloptOptions.pOptDesc->pzText */ |
524 | | puts(_("extended usage information passed thru pager")); |
525 | | |
526 | | /* referenced via genshelloptOptions.pOptDesc->pzText */ |
527 | | puts(_("output version information and exit")); |
528 | | |
529 | | /* referenced via genshelloptOptions.pzUsageTitle */ |
530 | | puts(_("genshellopt - Generate Shell Option Processing Script - Ver. 1\n\ |
531 | | Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n")); |
532 | | |
533 | | /* referenced via genshelloptOptions.pzExplain */ |
534 | | puts(_("Note that 'shell' is only useful if the output file does not already exist.\n\ |
535 | | If it does, then the shell name and optional first argument will be\n\ |
536 | | extracted from the script file.\n")); |
537 | | |
538 | | /* referenced via genshelloptOptions.pzDetail */ |
539 | | puts(_("If the script file already exists and contains Automated Option Processing\n\ |
540 | | text, the second line of the file through the ending tag will be replaced\n\ |
541 | | by the newly generated text. The first '#!' line will be regenerated.\n")); |
542 | | |
543 | | /* referenced via genshelloptOptions.pzFullVersion */ |
544 | | puts(_("genshellopt 1")); |
545 | | |
546 | | /* referenced via genshelloptOptions.pzFullUsage */ |
547 | | puts(_("<<<NOT-FOUND>>>")); |
548 | | |
549 | | /* referenced via genshelloptOptions.pzShortUsage */ |
550 | | puts(_("<<<NOT-FOUND>>>")); |
551 | | /* LIBOPTS-MESSAGES: */ |
552 | | #line 67 "../autoopts.c" |
553 | | puts(_("allocation of %d bytes failed\n")); |
554 | | #line 93 "../autoopts.c" |
555 | | puts(_("allocation of %d bytes failed\n")); |
556 | | #line 53 "../init.c" |
557 | | puts(_("AutoOpts function called without option descriptor\n")); |
558 | | #line 86 "../init.c" |
559 | | puts(_("\tThis exceeds the compiled library version: ")); |
560 | | #line 84 "../init.c" |
561 | | puts(_("Automated Options Processing Error!\n" |
562 | | "\t%s called AutoOpts function with structure version %d:%d:%d.\n")); |
563 | | #line 80 "../autoopts.c" |
564 | | puts(_("realloc of %d bytes at 0x%p failed\n")); |
565 | | #line 88 "../init.c" |
566 | | puts(_("\tThis is less than the minimum library version: ")); |
567 | | #line 121 "../version.c" |
568 | | puts(_("Automated Options version %s\n" |
569 | | "\tCopyright (C) 1999-2014 by Bruce Korb - all rights reserved\n")); |
570 | | #line 87 "../makeshell.c" |
571 | | puts(_("(AutoOpts bug): %s.\n")); |
572 | | #line 90 "../reset.c" |
573 | | puts(_("optionResetOpt() called, but reset-option not configured")); |
574 | | #line 292 "../usage.c" |
575 | | puts(_("could not locate the 'help' option")); |
576 | | #line 336 "../autoopts.c" |
577 | | puts(_("optionProcess() was called with invalid data")); |
578 | | #line 748 "../usage.c" |
579 | | puts(_("invalid argument type specified")); |
580 | | #line 598 "../find.c" |
581 | | puts(_("defaulted to option with optional arg")); |
582 | | #line 76 "../alias.c" |
583 | | puts(_("aliasing option is out of range.")); |
584 | | #line 234 "../enum.c" |
585 | | puts(_("%s error: the keyword '%s' is ambiguous for %s\n")); |
586 | | #line 108 "../find.c" |
587 | | puts(_(" The following options match:\n")); |
588 | | #line 293 "../find.c" |
589 | | puts(_("%s: ambiguous option name: %s (matches %d options)\n")); |
590 | | #line 161 "../check.c" |
591 | | puts(_("%s: Command line arguments required\n")); |
592 | | #line 43 "../alias.c" |
593 | | puts(_("%d %s%s options allowed\n")); |
594 | | #line 94 "../makeshell.c" |
595 | | puts(_("%s error %d (%s) calling %s for '%s'\n")); |
596 | | #line 306 "../makeshell.c" |
597 | | puts(_("interprocess pipe")); |
598 | | #line 168 "../version.c" |
599 | | puts(_("error: version option argument '%c' invalid. Use:\n" |
600 | | "\t'v' - version only\n" |
601 | | "\t'c' - version and copyright\n" |
602 | | "\t'n' - version and full copyright notice\n")); |
603 | | #line 58 "../check.c" |
604 | | puts(_("%s error: the '%s' and '%s' options conflict\n")); |
605 | | #line 217 "../find.c" |
606 | | puts(_("%s: The '%s' option has been disabled.")); |
607 | | #line 430 "../find.c" |
608 | | puts(_("%s: The '%s' option has been disabled.")); |
609 | | #line 38 "../alias.c" |
610 | | puts(_("-equivalence")); |
611 | | #line 469 "../find.c" |
612 | | puts(_("%s: illegal option -- %c\n")); |
613 | | #line 110 "../reset.c" |
614 | | puts(_("%s: illegal option -- %c\n")); |
615 | | #line 271 "../find.c" |
616 | | puts(_("%s: illegal option -- %s\n")); |
617 | | #line 755 "../find.c" |
618 | | puts(_("%s: illegal option -- %s\n")); |
619 | | #line 118 "../reset.c" |
620 | | puts(_("%s: illegal option -- %s\n")); |
621 | | #line 335 "../find.c" |
622 | | puts(_("%s: unknown vendor extension option -- %s\n")); |
623 | | #line 159 "../enum.c" |
624 | | puts(_(" or an integer from %d through %d\n")); |
625 | | #line 169 "../enum.c" |
626 | | puts(_(" or an integer from %d through %d\n")); |
627 | | #line 747 "../usage.c" |
628 | | puts(_("%s error: invalid option descriptor for %s\n")); |
629 | | #line 1081 "../usage.c" |
630 | | puts(_("%s error: invalid option descriptor for %s\n")); |
631 | | #line 385 "../find.c" |
632 | | puts(_("%s: invalid option name: %s\n")); |
633 | | #line 527 "../find.c" |
634 | | puts(_("%s: The '%s' option requires an argument.\n")); |
635 | | #line 156 "../autoopts.c" |
636 | | puts(_("(AutoOpts bug): Equivalenced option '%s' was equivalenced to both\n" |
637 | | "\t'%s' and '%s'.")); |
638 | | #line 94 "../check.c" |
639 | | puts(_("%s error: The %s option is required\n")); |
640 | | #line 632 "../find.c" |
641 | | puts(_("%s: The '%s' option cannot have an argument.\n")); |
642 | | #line 151 "../check.c" |
643 | | puts(_("%s: Command line arguments are not allowed.\n")); |
644 | | #line 535 "../save.c" |
645 | | puts(_("error %d (%s) creating %s\n")); |
646 | | #line 234 "../enum.c" |
647 | | puts(_("%s error: '%s' does not match any %s keywords.\n")); |
648 | | #line 93 "../reset.c" |
649 | | puts(_("%s error: The '%s' option requires an argument.\n")); |
650 | | #line 184 "../save.c" |
651 | | puts(_("error %d (%s) stat-ing %s\n")); |
652 | | #line 238 "../save.c" |
653 | | puts(_("error %d (%s) stat-ing %s\n")); |
654 | | #line 143 "../restore.c" |
655 | | puts(_("%s error: no saved option state\n")); |
656 | | #line 231 "../autoopts.c" |
657 | | puts(_("'%s' is not a command line option.\n")); |
658 | | #line 111 "../time.c" |
659 | | puts(_("%s error: '%s' is not a recognizable date/time.\n")); |
660 | | #line 132 "../save.c" |
661 | | puts(_("'%s' not defined\n")); |
662 | | #line 50 "../time.c" |
663 | | puts(_("%s error: '%s' is not a recognizable time duration.\n")); |
664 | | #line 92 "../check.c" |
665 | | puts(_("%s error: The %s option must appear %d times.\n")); |
666 | | #line 164 "../numeric.c" |
667 | | puts(_("%s error: '%s' is not a recognizable number.\n")); |
668 | | #line 200 "../enum.c" |
669 | | puts(_("%s error: %s exceeds %s keyword count\n")); |
670 | | #line 330 "../usage.c" |
671 | | puts(_("Try '%s %s' for more information.\n")); |
672 | | #line 45 "../alias.c" |
673 | | puts(_("one %s%s option allowed\n")); |
674 | | #line 208 "../makeshell.c" |
675 | | puts(_("standard output")); |
676 | | #line 943 "../makeshell.c" |
677 | | puts(_("standard output")); |
678 | | #line 274 "../usage.c" |
679 | | puts(_("standard output")); |
680 | | #line 415 "../usage.c" |
681 | | puts(_("standard output")); |
682 | | #line 625 "../usage.c" |
683 | | puts(_("standard output")); |
684 | | #line 175 "../version.c" |
685 | | puts(_("standard output")); |
686 | | #line 274 "../usage.c" |
687 | | puts(_("standard error")); |
688 | | #line 415 "../usage.c" |
689 | | puts(_("standard error")); |
690 | | #line 625 "../usage.c" |
691 | | puts(_("standard error")); |
692 | | #line 175 "../version.c" |
693 | | puts(_("standard error")); |
694 | | #line 208 "../makeshell.c" |
695 | | puts(_("write")); |
696 | | #line 943 "../makeshell.c" |
697 | | puts(_("write")); |
698 | | #line 273 "../usage.c" |
699 | | puts(_("write")); |
700 | | #line 414 "../usage.c" |
701 | | puts(_("write")); |
702 | | #line 624 "../usage.c" |
703 | | puts(_("write")); |
704 | | #line 174 "../version.c" |
705 | | puts(_("write")); |
706 | | #line 60 "../numeric.c" |
707 | | puts(_("%s error: %s option value %ld is out of range.\n")); |
708 | | #line 44 "../check.c" |
709 | | puts(_("%s error: %s option requires the %s option\n")); |
710 | | #line 131 "../save.c" |
711 | | puts(_("%s warning: cannot save options - %s not regular file\n")); |
712 | | #line 183 "../save.c" |
713 | | puts(_("%s warning: cannot save options - %s not regular file\n")); |
714 | | #line 237 "../save.c" |
715 | | puts(_("%s warning: cannot save options - %s not regular file\n")); |
716 | | #line 256 "../save.c" |
717 | | puts(_("%s warning: cannot save options - %s not regular file\n")); |
718 | | #line 534 "../save.c" |
719 | | puts(_("%s warning: cannot save options - %s not regular file\n")); |
720 | | /* END-LIBOPTS-MESSAGES */ |
721 | | |
722 | | /* USAGE-TEXT: */ |
723 | | #line 873 "../usage.c" |
724 | | puts(_("\t\t\t\t- an alternate for '%s'\n")); |
725 | | #line 1148 "../usage.c" |
726 | | puts(_("Version, usage and configuration options:")); |
727 | | #line 924 "../usage.c" |
728 | | puts(_("\t\t\t\t- default option for unnamed options\n")); |
729 | | #line 837 "../usage.c" |
730 | | puts(_("\t\t\t\t- disabled as '--%s'\n")); |
731 | | #line 1117 "../usage.c" |
732 | | puts(_(" --- %-14s %s\n")); |
733 | | #line 1115 "../usage.c" |
734 | | puts(_("This option has been disabled")); |
735 | | #line 864 "../usage.c" |
736 | | puts(_("\t\t\t\t- enabled by default\n")); |
737 | | #line 40 "../alias.c" |
738 | | puts(_("%s error: only ")); |
739 | | #line 1194 "../usage.c" |
740 | | puts(_(" - examining environment variables named %s_*\n")); |
741 | | #line 168 "../file.c" |
742 | | puts(_("\t\t\t\t- file must not pre-exist\n")); |
743 | | #line 172 "../file.c" |
744 | | puts(_("\t\t\t\t- file must pre-exist\n")); |
745 | | #line 380 "../usage.c" |
746 | | puts(_("Options are specified by doubled hyphens and their name or by a single\n" |
747 | | "hyphen and the flag character.\n")); |
748 | | #line 921 "../makeshell.c" |
749 | | puts(_("\n" |
750 | | "= = = = = = = =\n\n" |
751 | | "This incarnation of genshell will produce\n" |
752 | | "a shell script to parse the options for %s:\n\n")); |
753 | | #line 166 "../enum.c" |
754 | | puts(_(" or an integer mask with any of the lower %d bits set\n")); |
755 | | #line 897 "../usage.c" |
756 | | puts(_("\t\t\t\t- is a set membership option\n")); |
757 | | #line 918 "../usage.c" |
758 | | puts(_("\t\t\t\t- must appear between %d and %d times\n")); |
759 | | #line 382 "../usage.c" |
760 | | puts(_("Options are specified by single or double hyphens and their name.\n")); |
761 | | #line 904 "../usage.c" |
762 | | puts(_("\t\t\t\t- may appear multiple times\n")); |
763 | | #line 891 "../usage.c" |
764 | | puts(_("\t\t\t\t- may not be preset\n")); |
765 | | #line 1309 "../usage.c" |
766 | | puts(_(" Arg Option-Name Description\n")); |
767 | | #line 1245 "../usage.c" |
768 | | puts(_(" Flg Arg Option-Name Description\n")); |
769 | | #line 1303 "../usage.c" |
770 | | puts(_(" Flg Arg Option-Name Description\n")); |
771 | | #line 1304 "../usage.c" |
772 | | puts(_(" %3s %s")); |
773 | | #line 1310 "../usage.c" |
774 | | puts(_(" %3s %s")); |
775 | | #line 387 "../usage.c" |
776 | | puts(_("The '-#<number>' option may omit the hash char\n")); |
777 | | #line 383 "../usage.c" |
778 | | puts(_("All arguments are named options.\n")); |
779 | | #line 971 "../usage.c" |
780 | | puts(_(" - reading file %s")); |
781 | | #line 409 "../usage.c" |
782 | | puts(_("\n" |
783 | | "Please send bug reports to: <%s>\n")); |
784 | | #line 100 "../version.c" |
785 | | puts(_("\n" |
786 | | "Please send bug reports to: <%s>\n")); |
787 | | #line 129 "../version.c" |
788 | | puts(_("\n" |
789 | | "Please send bug reports to: <%s>\n")); |
790 | | #line 903 "../usage.c" |
791 | | puts(_("\t\t\t\t- may NOT appear - preset only\n")); |
792 | | #line 944 "../usage.c" |
793 | | puts(_("\n" |
794 | | "The following option preset mechanisms are supported:\n")); |
795 | | #line 1192 "../usage.c" |
796 | | puts(_("\n" |
797 | | "The following option preset mechanisms are supported:\n")); |
798 | | #line 682 "../usage.c" |
799 | | puts(_("prohibits these options:\n")); |
800 | | #line 677 "../usage.c" |
801 | | puts(_("prohibits the option '%s'\n")); |
802 | | #line 81 "../numeric.c" |
803 | | puts(_("%s%ld to %ld")); |
804 | | #line 79 "../numeric.c" |
805 | | puts(_("%sgreater than or equal to %ld")); |
806 | | #line 75 "../numeric.c" |
807 | | puts(_("%s%ld exactly")); |
808 | | #line 68 "../numeric.c" |
809 | | puts(_("%sit must lie in one of the ranges:\n")); |
810 | | #line 68 "../numeric.c" |
811 | | puts(_("%sit must be in the range:\n")); |
812 | | #line 88 "../numeric.c" |
813 | | puts(_(", or\n")); |
814 | | #line 66 "../numeric.c" |
815 | | puts(_("%sis scalable with a suffix: k/K/m/M/g/G/t/T\n")); |
816 | | #line 77 "../numeric.c" |
817 | | puts(_("%sless than or equal to %ld")); |
818 | | #line 390 "../usage.c" |
819 | | puts(_("Operands and options may be intermixed. They will be reordered.\n")); |
820 | | #line 652 "../usage.c" |
821 | | puts(_("requires the option '%s'\n")); |
822 | | #line 655 "../usage.c" |
823 | | puts(_("requires these options:\n")); |
824 | | #line 1321 "../usage.c" |
825 | | puts(_(" Arg Option-Name Req? Description\n")); |
826 | | #line 1315 "../usage.c" |
827 | | puts(_(" Flg Arg Option-Name Req? Description\n")); |
828 | | #line 167 "../enum.c" |
829 | | puts(_("or you may use a numeric representation. Preceding these with a '!'\n" |
830 | | "will clear the bits, specifying 'none' will clear all bits, and 'all'\n" |
831 | | "will set them all. Multiple entries may be passed as an option\n" |
832 | | "argument list.\n")); |
833 | | #line 910 "../usage.c" |
834 | | puts(_("\t\t\t\t- may appear up to %d times\n")); |
835 | | #line 77 "../enum.c" |
836 | | puts(_("The valid \"%s\" option keywords are:\n")); |
837 | | #line 1152 "../usage.c" |
838 | | puts(_("The next option supports vendor supported extra options:")); |
839 | | #line 773 "../usage.c" |
840 | | puts(_("These additional options are:")); |
841 | | /* END-USAGE-TEXT */ |
842 | | } |
843 | | #endif /* uncompilable code */ |
844 | | #ifdef __cplusplus |
845 | | } |
846 | | #endif |
847 | | /* genshell.c ends here */ |