1/* -*- buffer-read-only: t -*- vi: set ro: 2 * 3 * DO NOT EDIT THIS FILE (shar-opts.c) 4 * 5 * It has been AutoGen-ed 6 * From the definitions shar-opts.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 shar 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 shar program is copyrighted and licensed 20 * under the following terms: 21 * 22 * Copyright (C) 1994-2015 Free Software Foundation, Inc., all rights reserved. 23 * This is free software. It is licensed for use, modification and 24 * redistribution under the terms of the GNU General Public License, 25 * version 3 or later <http://gnu.org/licenses/gpl.html> 26 * 27 * shar is free software: you can redistribute it and/or modify it 28 * under the terms of the GNU General Public License as published by the 29 * Free Software Foundation, either version 3 of the License, or 30 * (at your option) any later version. 31 * 32 * shar 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. 35 * See the GNU General Public License for more details. 36 * 37 * You should have received a copy of the GNU General Public License along 38 * with this program. If not, see <http://www.gnu.org/licenses/>. 39 */ 40 41#ifndef __doxygen__ 42#define OPTION_CODE_COMPILE 1 43#include "shar-opts.h" 44#include <sys/types.h> 45 46#include <limits.h> 47#include <stdio.h> 48#include <stdlib.h> 49#include <errno.h> 50 51#ifdef __cplusplus 52extern "C" { 53#endif 54extern FILE * option_usage_fp; 55#define zCopyright (shar_opt_strs+0) 56#define zLicenseDescrip (shar_opt_strs+290) 57 58/* 59 * global included definitions 60 */ 61char const * const program_name = "shar"; 62 63bool initialization_done = false; 64int optidx = 0; 65 66#ifndef NULL 67# define NULL 0 68#endif 69 70/** 71 * static const strings for shar options 72 */ 73static char const shar_opt_strs[10327] = 74/* 0 */ "shar (GNU sharutils) 4.15.2\n" 75 "Copyright (C) 1994-2015 Free Software Foundation, Inc., all rights reserved.\n" 76 "This is free software. It is licensed for use, modification and\n" 77 "redistribution under the terms of the GNU General Public License,\n" 78 "version 3 or later <http://gnu.org/licenses/gpl.html>\n\0" 79/* 290 */ "shar is free software: you can redistribute it and/or modify it under the\n" 80 "terms of the GNU General Public License as published by the Free Software\n" 81 "Foundation, either version 3 of the License, or (at your option) any later\n" 82 "version.\n\n" 83 "shar is distributed in the hope that it will be useful, but WITHOUT ANY\n" 84 "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n" 85 "FOR A PARTICULAR PURPOSE. See the GNU General Public License for more\n" 86 "details.\n\n" 87 "You should have received a copy of the GNU General Public License along\n" 88 "with this program. If not, see <http://www.gnu.org/licenses/>.\n\0" 89/* 887 */ "Specifying compression:\0" 90/* 911 */ "specify compression for input files\0" 91/* 947 */ "INTERMIX_TYPE\0" 92/* 961 */ "intermix-type\0" 93/* 975 */ "specify compaction (compression) program\0" 94/* 1016 */ "COMPACTOR\0" 95/* 1026 */ "compactor\0" 96/* 1036 */ "pass LEVEL for compression\0" 97/* 1063 */ "LEVEL_OF_COMPRESSION\0" 98/* 1084 */ "level-of-compression\0" 99/* 1105 */ "bzip2 and uuencode files (deprecated)\0" 100/* 1143 */ "BZIP2\0" 101/* 1149 */ "bzip2\0" 102/* 1155 */ "gzip and uuencode files (deprecated)\0" 103/* 1192 */ "GZIP\0" 104/* 1197 */ "gzip\0" 105/* 1202 */ "compress and uuencode files (deprecated)\0" 106/* 1243 */ "COMPRESS\0" 107/* 1252 */ "compress\0" 108/* 1261 */ "an alias for the 'level-of-compression' option (deprecated)\0" 109/* 1321 */ "level-for-gzip\0" 110/* 1336 */ "pass bits (default 12) to compress (deprecated)\0" 111/* 1384 */ "BITS_PER_CODE\0" 112/* 1398 */ "bits-per-code\0" 113/* 1412 */ "12\0" 114/* 1415 */ "Specifying file encoding methodology:\0" 115/* 1453 */ "decide uuencoding for each file\0" 116/* 1485 */ "MIXED_UUENCODE\0" 117/* 1500 */ "mixed-uuencode\0" 118/* 1515 */ "treat all files as binary\0" 119/* 1541 */ "UUENCODE\0" 120/* 1550 */ "uuencode\0" 121/* 1559 */ "treat all files as text\0" 122/* 1583 */ "TEXT_FILES\0" 123/* 1594 */ "text-files\0" 124/* 1605 */ "Specifying file selection and output modes:\0" 125/* 1649 */ "print output to file PREFIX.nn\0" 126/* 1680 */ "OUTPUT_PREFIX\0" 127/* 1694 */ "output-prefix\0" 128/* 1708 */ "split archive, not files, to size\0" 129/* 1742 */ "WHOLE_SIZE_LIMIT\0" 130/* 1759 */ "whole-size-limit\0" 131/* 1776 */ "split archive or files to size\0" 132/* 1807 */ "SPLIT_SIZE_LIMIT\0" 133/* 1824 */ "split-size-limit\0" 134/* 1841 */ "read file list from a file\0" 135/* 1868 */ "INPUT_FILE_LIST\0" 136/* 1884 */ "input-file-list\0" 137/* 1900 */ "read file list from standard input (deprecated)\0" 138/* 1948 */ "STDIN_FILE_LIST\0" 139/* 1964 */ "stdin-file-list\0" 140/* 1980 */ "Controlling the shar headers:\0" 141/* 2010 */ "use name to document the archive\0" 142/* 2043 */ "ARCHIVE_NAME\0" 143/* 2056 */ "archive-name\0" 144/* 2069 */ "override the submitter name\0" 145/* 2097 */ "SUBMITTER\0" 146/* 2107 */ "submitter\0" 147/* 2117 */ "output Submitted-by: & Archive-name: headers\0" 148/* 2162 */ "NET_HEADERS\0" 149/* 2174 */ "net-headers\0" 150/* 2186 */ "start the shar with a cut line\0" 151/* 2217 */ "CUT_MARK\0" 152/* 2226 */ "cut-mark\0" 153/* 2235 */ "translate messages in the script\0" 154/* 2268 */ "TRANSLATE\0" 155/* 2278 */ "translate\0" 156/* 2288 */ "Protecting against transmission issues:\0" 157/* 2328 */ "do not use `wc -c' to check size\0" 158/* 2361 */ "NO_CHARACTER_COUNT\0" 159/* 2380 */ "no-character-count\0" 160/* 2399 */ "do not use md5sum digest to verify\0" 161/* 2434 */ "NO_MD5_DIGEST\0" 162/* 2448 */ "no-md5-digest\0" 163/* 2462 */ "apply the prefix character on every line\0" 164/* 2503 */ "FORCE_PREFIX\0" 165/* 2516 */ "force-prefix\0" 166/* 2529 */ "use delim to delimit the files\0" 167/* 2560 */ "HERE_DELIMITER\0" 168/* 2575 */ "here-delimiter\0" 169/* 2590 */ "SHAR_EOF\0" 170/* 2599 */ "Producing different kinds of shars:\0" 171/* 2635 */ "produce very simple shars\0" 172/* 2661 */ "VANILLA_OPERATION\0" 173/* 2679 */ "vanilla-operation\0" 174/* 2697 */ "use temporary files between programs\0" 175/* 2734 */ "NO_PIPING\0" 176/* 2744 */ "no-piping\0" 177/* 2754 */ "blindly overwrite existing files\0" 178/* 2787 */ "NO_CHECK_EXISTING\0" 179/* 2805 */ "no-check-existing\0" 180/* 2823 */ "ask user before overwriting files\0" 181/* 2857 */ "QUERY_USER\0" 182/* 2868 */ "query-user\0" 183/* 2879 */ "do not restore modification times\0" 184/* 2913 */ "NO_TIMESTAMP\0" 185/* 2926 */ "no-timestamp\0" 186/* 2939 */ "avoid verbose messages at unshar time\0" 187/* 2977 */ "QUIET_UNSHAR\0" 188/* 2990 */ "quiet-unshar\0" 189/* 3003 */ "restore in one directory, despite hierarchy\0" 190/* 3047 */ "BASENAME\0" 191/* 3056 */ "basename\0" 192/* 3065 */ "Internationalization options:\0" 193/* 3095 */ "do not internationalize\0" 194/* 3119 */ "NO_I18N\0" 195/* 3127 */ "no-i18n\0" 196/* 3135 */ "print directory with shar messages\0" 197/* 3170 */ "PRINT_TEXT_DOMAIN_DIR\0" 198/* 3192 */ "print-text-domain-dir\0" 199/* 3214 */ "User feedback/entertainment:\0" 200/* 3243 */ "do not output verbose messages\0" 201/* 3274 */ "QUIET\0" 202/* 3280 */ "quiet\0" 203/* 3286 */ "an alias for the 'quiet' option\0" 204/* 3318 */ "silent\0" 205/* 3325 */ "display extended usage information and exit\0" 206/* 3369 */ "help\0" 207/* 3374 */ "extended usage information passed thru pager\0" 208/* 3419 */ "more-help\0" 209/* 3429 */ "output version information and exit\0" 210/* 3465 */ "version\0" 211/* 3473 */ "save the option state to a config file\0" 212/* 3512 */ "save-opts\0" 213/* 3522 */ "load options from a config file\0" 214/* 3554 */ "LOAD_OPTS\0" 215/* 3564 */ "no-load-opts\0" 216/* 3577 */ "no\0" 217/* 3580 */ "SHAR\0" 218/* 3585 */ "shar (GNU sharutils) - create a shell archive\n" 219 "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [<file>...]\n\0" 220/* 3701 */ "$HOME\0" 221/* 3707 */ ".sharrc\0" 222/* 3715 */ "bug-gnu-utils@gnu.org\0" 223/* 3737 */ "If no 'file's are specified, the list of input files is read from standard\n" 224 "input. Standard input must not be a terminal.\n\0" 225/* 3860 */ "'shar' creates \"shell archives\" (or shar files) which are in text format\n" 226 "and can be emailed. These files may be unpacked later by executing them\n" 227 "with '/bin/sh'. The resulting archive is sent to standard out unless the\n" 228 "'-o' option is given. A wide range of features provide extensive\n" 229 "flexibility in manufacturing shars and in specifying 'shar' \"smartness\".\n" 230 "Archives may be fairly simple ('--vanilla-operation') or essentially a\n" 231 "mailable 'tar' archive.\n\n" 232 "Options may be specified in any order until a 'file' argument is\n" 233 "recognized. If the '--intermix-type' option has been specified, more\n" 234 "compression and encoding options will be recognized between the 'file'\n" 235 "arguments.\n\n" 236 "Though this program supports 'uuencode'-d files, they are deprecated. If\n" 237 "you are emailing files, please consider mime-encoded files. If you do\n" 238 "'uuencode', base64 is the preferred encoding method.\n\0" 239/* 4732 */ "shar (GNU sharutils) 4.15.2\0" 240/* 4760 */ "shar (GNU sharutils) - create a shell archive\n" 241 "Usage: shar [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [<file>...]\n\n" 242 "Specify compression:\n" 243 " -p, --intermix-type specify compression for input files\n" 244 " - prohibits the option 'vanilla-operation'\n" 245 " -C, --compactor=PROG specify compaction (compression) program PROG\n" 246 " - prohibits the option 'vanilla-operation'\n" 247 " - may appear multiple times\n" 248 " - it must be known to shar: xz gzip bzip2\n" 249 " -g, --level-of-compression=LEVEL\n" 250 " pass LEVEL for compression\n" 251 " - it must be in the range: 1 to 9\n\n" 252 "Specify file encoding methodology:\n" 253 " -M, --mixed-uuencode decide uuencoding for each file\n" 254 " -B, --uuencode treat all files as binary\n" 255 " - an alternate for mixed-uuencode\n" 256 " -T, --text-files treat all files as text\n" 257 " - an alternate for mixed-uuencode\n\n" 258 "Specifying file selection and output modes:\n" 259 " -o, --output-prefix=str print output to file PREFIX.nn\n" 260 " -l, --whole-size-limit=SIZE\n" 261 " split archive, not files, to SIZE\n" 262 " - requires the option 'output-prefix'\n" 263 " - is scalable with a suffix: k/K/m/M/g/G/t/T\n" 264 " - it must lie in one of the ranges:\n" 265 " 8 to 1023, or 8192 to 4194304\n" 266 " -L, --split-size-limit=SIZE\n" 267 " split archive or files to SIZE\n" 268 " - requires the option 'output-prefix'\n" 269 " - is scalable with a suffix: k/K/m/M/g/G/t/T\n" 270 " - it must lie in one of the ranges:\n" 271 " 8 to 1023, or 8192 to 4194304\n" 272 " - an alternate for 'whole-size-limit'\n" 273 " -I, --input-file-list=FILE read file list from FILE\n\n" 274 "Controlling the shar headers:\n" 275 " -n, --archive-name=NAME use NAME to document the archive\n" 276 " -s, --submitter=NAME override the submitter name with NAME\n" 277 " -a, --net-headers output Submitted-by: & Archive-name: headers\n" 278 " - requires the option 'archive-name'\n" 279 " -c, --cut-mark start the shar with a cut line\n" 280 " -t, --translate translate messages in the script\n\n" 281 "Protecting against transmission issues:\n" 282 " --no-character-count do not use `wc -c' to check size\n" 283 " -D, --no-md5-digest do not use md5sum digest to verify\n" 284 " -F, --force-prefix apply the prefix character on every line\n" 285 " -d, --here-delimiter=DELIM use DELIM to delimit the files\n\n" 286 "Producing different kinds of shars:\n" 287 " -V, --vanilla-operation produce very simple shars\n" 288 " -P, --no-piping use temporary files between programs\n" 289 " -x, --no-check-existing blindly overwrite existing files\n" 290 " -X, --query-user ask user before overwriting files\n" 291 " - prohibits the option 'vanilla-operation'\n" 292 " -m, --no-timestamp do not restore modification times\n" 293 " -Q, --quiet-unshar avoid verbose messages at unshar time\n" 294 " -f, --basename restore in one directory, despite hierarchy\n\n" 295 "Internationalization options:\n" 296 " --no-i18n do not internationalize\n" 297 " --print-text-domain-dir print directory with shar messages\n\n" 298 "User feedback/entertainment:\n" 299 " -q, --quiet do not output verbose messages\n" 300 " --silent an alias for the 'quiet' option\n\n" 301 "Version, usage and configuration options:\n" 302 " -v, --version[=MODE] output version information and exit\n" 303 " -h, --help display extended usage information and exit\n" 304 " -!, --more-help extended usage information passed thru pager\n" 305 " -R, --save-opts[=FILE] save the option state to a config file FILE\n" 306 " -r, --load-opts=FILE load options from the config file FILE\n" 307 " - disabled with '--no-load-opts'\n" 308 " - may appear multiple times\n\n" 309 "Options are specified by doubled hyphens and their name or by a single\n" 310 "hyphen and the flag character.\n" 311 "If no 'file's are specified, the list of input files is read from a\n" 312 "standard input. Standard input must not be a terminal.\n\n" 313 "The following option preset mechanisms are supported:\n" 314 " - reading file $HOME/.sharrc\n\n" 315 "'shar' creates \"shell archives\" (or shar files) which are in text format\n" 316 "and can be emailed. These files may be unpacked later by executing them\n" 317 "with '/bin/sh'. The resulting archive is sent to standard out unless the\n" 318 "'-o' option is given. A wide range of features provide extensive\n" 319 "flexibility in manufacturing shars and in specifying 'shar' \"smartness\".\n" 320 "Archives may be fairly simple ('--vanilla-operation') or essentially a\n" 321 "mailable 'tar' archive.\n\n" 322 "Options may be specified in any order until a 'file' argument is\n" 323 "recognized. If the '--intermix-type' option has been specified, more\n" 324 "compression and encoding options will be recognized between the 'file'\n" 325 "arguments.\n\n" 326 "Though this program supports 'uuencode'-d files, they are deprecated. If\n" 327 "you are emailing files, please consider mime-encoded files. If you do\n" 328 "'uuencode', base64 is the preferred encoding method.\n\n" 329 "Please send bug reports to: <bug-gnu-utils@gnu.org>\n\0" 330/* 10169 */ "shar (GNU sharutils) - create a shell archive\n" 331 "Usage: shar [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [<file>...]\n" 332 "Try 'shar --help' for more information.\n"; 333 334/** 335 * compression option description: 336 */ 337/** compression option separation text */ 338#define COMPRESSION_DESC (shar_opt_strs+887) 339#define COMPRESSION_FLAGS (OPTST_DOCUMENT | OPTST_NO_INIT) 340 341/** 342 * intermix-type option description with 343 * "Must also have options" and "Incompatible options": 344 */ 345/** Descriptive text for the intermix-type option */ 346#define INTERMIX_TYPE_DESC (shar_opt_strs+911) 347/** Upper-cased name for the intermix-type option */ 348#define INTERMIX_TYPE_NAME (shar_opt_strs+947) 349/** Name string for the intermix-type option */ 350#define INTERMIX_TYPE_name (shar_opt_strs+961) 351/** Other options that appear in conjunction with the intermix-type option */ 352static int const aIntermix_TypeCantList[] = { 353 INDEX_OPT_VANILLA_OPERATION, NO_EQUIVALENT }; 354/** Compiled in flag settings for the intermix-type option */ 355#define INTERMIX_TYPE_FLAGS (OPTST_DISABLED) 356 357/** 358 * compactor option description with 359 * "Must also have options" and "Incompatible options": 360 */ 361/** Descriptive text for the compactor option */ 362#define COMPACTOR_DESC (shar_opt_strs+975) 363/** Upper-cased name for the compactor option */ 364#define COMPACTOR_NAME (shar_opt_strs+1016) 365/** Name string for the compactor option */ 366#define COMPACTOR_name (shar_opt_strs+1026) 367/** Other options that appear in conjunction with the compactor option */ 368static int const aCompactorCantList[] = { 369 INDEX_OPT_VANILLA_OPERATION, NO_EQUIVALENT }; 370/** Compiled in flag settings for the compactor option */ 371#define COMPACTOR_FLAGS (OPTST_DISABLED \ 372 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 373 374/** 375 * level-of-compression option description: 376 */ 377/** Descriptive text for the level-of-compression option */ 378#define LEVEL_OF_COMPRESSION_DESC (shar_opt_strs+1036) 379/** Upper-cased name for the level-of-compression option */ 380#define LEVEL_OF_COMPRESSION_NAME (shar_opt_strs+1063) 381/** Name string for the level-of-compression option */ 382#define LEVEL_OF_COMPRESSION_name (shar_opt_strs+1084) 383/** The compiled in default value for the level-of-compression option argument */ 384#define LEVEL_OF_COMPRESSION_DFT_ARG ((char const*)9) 385/** Compiled in flag settings for the level-of-compression option */ 386#define LEVEL_OF_COMPRESSION_FLAGS (OPTST_DISABLED \ 387 | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) 388 389/** 390 * bzip2 option description: 391 */ 392/** Descriptive text for the bzip2 option */ 393#define BZIP2_DESC (shar_opt_strs+1105) 394/** Upper-cased name for the bzip2 option */ 395#define BZIP2_NAME (shar_opt_strs+1143) 396/** Name string for the bzip2 option */ 397#define BZIP2_name (shar_opt_strs+1149) 398/** Compiled in flag settings for the bzip2 option */ 399#define BZIP2_FLAGS (OPTST_DISABLED | OPTST_DEPRECATED) 400 401/** 402 * gzip option description: 403 */ 404/** Descriptive text for the gzip option */ 405#define GZIP_DESC (shar_opt_strs+1155) 406/** Upper-cased name for the gzip option */ 407#define GZIP_NAME (shar_opt_strs+1192) 408/** Name string for the gzip option */ 409#define GZIP_name (shar_opt_strs+1197) 410/** Compiled in flag settings for the gzip option */ 411#define GZIP_FLAGS (OPTST_DISABLED | OPTST_DEPRECATED) 412 413/** 414 * compress option description: 415 */ 416#ifdef HAVE_COMPRESS 417/** Descriptive text for the compress option */ 418#define COMPRESS_DESC (shar_opt_strs+1202) 419/** Upper-cased name for the compress option */ 420#define COMPRESS_NAME (shar_opt_strs+1243) 421/** Name string for the compress option */ 422#define COMPRESS_name (shar_opt_strs+1252) 423/** Compiled in flag settings for the compress option */ 424#define COMPRESS_FLAGS (OPTST_DISABLED | OPTST_DEPRECATED) 425 426#else /* disable compress */ 427#define COMPRESS_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 428#define COMPRESS_NAME NULL 429#define COMPRESS_DESC NULL 430#define COMPRESS_name NULL 431#endif /* HAVE_COMPRESS */ 432 433/** 434 * level-for-gzip option description: 435 */ 436/** Descriptive text for the level-for-gzip option */ 437#define LEVEL_FOR_GZIP_DESC (shar_opt_strs+1261) 438#define LEVEL_FOR_GZIP_NAME NULL 439/** Unmodified name string for the level-for-gzip option */ 440#define LEVEL_FOR_GZIP_name (shar_opt_strs+1321) 441/** Compiled in flag settings for the level-for-gzip option */ 442#define LEVEL_FOR_GZIP_FLAGS (LEVEL_OF_COMPRESSION_FLAGS | OPTST_ALIAS | OPTST_DEPRECATED) 443 444/** 445 * bits-per-code option description: 446 */ 447#ifdef HAVE_COMPRESS 448/** Descriptive text for the bits-per-code option */ 449#define BITS_PER_CODE_DESC (shar_opt_strs+1336) 450/** Upper-cased name for the bits-per-code option */ 451#define BITS_PER_CODE_NAME (shar_opt_strs+1384) 452/** Name string for the bits-per-code option */ 453#define BITS_PER_CODE_name (shar_opt_strs+1398) 454/** The compiled in default value for the bits-per-code option argument */ 455#define BITS_PER_CODE_DFT_ARG (shar_opt_strs+1412) 456/** Compiled in flag settings for the bits-per-code option */ 457#define BITS_PER_CODE_FLAGS (OPTST_DISABLED | OPTST_DEPRECATED \ 458 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 459 460#else /* disable bits-per-code */ 461#define BITS_PER_CODE_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 462#define BITS_PER_CODE_DFT_ARG NULL 463#define BITS_PER_CODE_NAME NULL 464#define BITS_PER_CODE_DESC NULL 465#define BITS_PER_CODE_name NULL 466#endif /* HAVE_COMPRESS */ 467 468/** 469 * encoding option description: 470 */ 471/** encoding option separation text */ 472#define ENCODING_DESC (shar_opt_strs+1415) 473#define ENCODING_FLAGS (OPTST_DOCUMENT | OPTST_NO_INIT) 474 475/** 476 * mixed-uuencode option description: 477 */ 478/** Descriptive text for the mixed-uuencode option */ 479#define MIXED_UUENCODE_DESC (shar_opt_strs+1453) 480/** Upper-cased name for the mixed-uuencode option */ 481#define MIXED_UUENCODE_NAME (shar_opt_strs+1485) 482/** Name string for the mixed-uuencode option */ 483#define MIXED_UUENCODE_name (shar_opt_strs+1500) 484/** Compiled in flag settings for the mixed-uuencode option */ 485#define MIXED_UUENCODE_FLAGS (OPTST_DISABLED) 486 487/** 488 * uuencode option description: 489 */ 490/** Descriptive text for the uuencode option */ 491#define UUENCODE_DESC (shar_opt_strs+1515) 492/** Upper-cased name for the uuencode option */ 493#define UUENCODE_NAME (shar_opt_strs+1541) 494/** Name string for the uuencode option */ 495#define UUENCODE_name (shar_opt_strs+1550) 496/** Compiled in flag settings for the uuencode option */ 497#define UUENCODE_FLAGS (OPTST_DISABLED) 498 499/** 500 * text-files option description: 501 */ 502/** Descriptive text for the text-files option */ 503#define TEXT_FILES_DESC (shar_opt_strs+1559) 504/** Upper-cased name for the text-files option */ 505#define TEXT_FILES_NAME (shar_opt_strs+1583) 506/** Name string for the text-files option */ 507#define TEXT_FILES_name (shar_opt_strs+1594) 508/** Compiled in flag settings for the text-files option */ 509#define TEXT_FILES_FLAGS (OPTST_DISABLED) 510 511/** 512 * in-out option description: 513 */ 514/** in-out option separation text */ 515#define IN_OUT_DESC (shar_opt_strs+1605) 516#define IN_OUT_FLAGS (OPTST_DOCUMENT | OPTST_NO_INIT) 517 518/** 519 * output-prefix option description: 520 */ 521/** Descriptive text for the output-prefix option */ 522#define OUTPUT_PREFIX_DESC (shar_opt_strs+1649) 523/** Upper-cased name for the output-prefix option */ 524#define OUTPUT_PREFIX_NAME (shar_opt_strs+1680) 525/** Name string for the output-prefix option */ 526#define OUTPUT_PREFIX_name (shar_opt_strs+1694) 527/** Compiled in flag settings for the output-prefix option */ 528#define OUTPUT_PREFIX_FLAGS (OPTST_DISABLED \ 529 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 530 531/** 532 * whole-size-limit option description with 533 * "Must also have options" and "Incompatible options": 534 */ 535/** Descriptive text for the whole-size-limit option */ 536#define WHOLE_SIZE_LIMIT_DESC (shar_opt_strs+1708) 537/** Upper-cased name for the whole-size-limit option */ 538#define WHOLE_SIZE_LIMIT_NAME (shar_opt_strs+1742) 539/** Name string for the whole-size-limit option */ 540#define WHOLE_SIZE_LIMIT_name (shar_opt_strs+1759) 541/** Other options that are required by the whole-size-limit option */ 542static int const aWhole_Size_LimitMustList[] = { 543 INDEX_OPT_OUTPUT_PREFIX, NO_EQUIVALENT }; 544/** Compiled in flag settings for the whole-size-limit option */ 545#define WHOLE_SIZE_LIMIT_FLAGS (OPTST_DISABLED \ 546 | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC) \ 547 | OPTST_SCALED_NUM) 548 549/** 550 * split-size-limit option description with 551 * "Must also have options" and "Incompatible options": 552 */ 553/** Descriptive text for the split-size-limit option */ 554#define SPLIT_SIZE_LIMIT_DESC (shar_opt_strs+1776) 555/** Upper-cased name for the split-size-limit option */ 556#define SPLIT_SIZE_LIMIT_NAME (shar_opt_strs+1807) 557/** Name string for the split-size-limit option */ 558#define SPLIT_SIZE_LIMIT_name (shar_opt_strs+1824) 559/** Other options that are required by the split-size-limit option */ 560static int const aSplit_Size_LimitMustList[] = { 561 INDEX_OPT_OUTPUT_PREFIX, NO_EQUIVALENT }; 562/** Compiled in flag settings for the split-size-limit option */ 563#define SPLIT_SIZE_LIMIT_FLAGS (OPTST_DISABLED \ 564 | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC) \ 565 | OPTST_SCALED_NUM) 566 567/** 568 * input-file-list option description: 569 */ 570/** Descriptive text for the input-file-list option */ 571#define INPUT_FILE_LIST_DESC (shar_opt_strs+1841) 572/** Upper-cased name for the input-file-list option */ 573#define INPUT_FILE_LIST_NAME (shar_opt_strs+1868) 574/** Name string for the input-file-list option */ 575#define INPUT_FILE_LIST_name (shar_opt_strs+1884) 576/** Compiled in flag settings for the input-file-list option */ 577#define INPUT_FILE_LIST_FLAGS (OPTST_DISABLED \ 578 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 579 580/** 581 * stdin-file-list option description: 582 */ 583/** Descriptive text for the stdin-file-list option */ 584#define STDIN_FILE_LIST_DESC (shar_opt_strs+1900) 585/** Upper-cased name for the stdin-file-list option */ 586#define STDIN_FILE_LIST_NAME (shar_opt_strs+1948) 587/** Name string for the stdin-file-list option */ 588#define STDIN_FILE_LIST_name (shar_opt_strs+1964) 589/** Compiled in flag settings for the stdin-file-list option */ 590#define STDIN_FILE_LIST_FLAGS (OPTST_DISABLED | OPTST_DEPRECATED) 591 592/** 593 * headers option description: 594 */ 595/** headers option separation text */ 596#define HEADERS_DESC (shar_opt_strs+1980) 597#define HEADERS_FLAGS (OPTST_DOCUMENT | OPTST_NO_INIT) 598 599/** 600 * archive-name option description: 601 */ 602/** Descriptive text for the archive-name option */ 603#define ARCHIVE_NAME_DESC (shar_opt_strs+2010) 604/** Upper-cased name for the archive-name option */ 605#define ARCHIVE_NAME_NAME (shar_opt_strs+2043) 606/** Name string for the archive-name option */ 607#define ARCHIVE_NAME_name (shar_opt_strs+2056) 608/** Compiled in flag settings for the archive-name option */ 609#define ARCHIVE_NAME_FLAGS (OPTST_DISABLED \ 610 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 611 612/** 613 * submitter option description: 614 */ 615/** Descriptive text for the submitter option */ 616#define SUBMITTER_DESC (shar_opt_strs+2069) 617/** Upper-cased name for the submitter option */ 618#define SUBMITTER_NAME (shar_opt_strs+2097) 619/** Name string for the submitter option */ 620#define SUBMITTER_name (shar_opt_strs+2107) 621/** Compiled in flag settings for the submitter option */ 622#define SUBMITTER_FLAGS (OPTST_DISABLED \ 623 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 624 625/** 626 * net-headers option description with 627 * "Must also have options" and "Incompatible options": 628 */ 629/** Descriptive text for the net-headers option */ 630#define NET_HEADERS_DESC (shar_opt_strs+2117) 631/** Upper-cased name for the net-headers option */ 632#define NET_HEADERS_NAME (shar_opt_strs+2162) 633/** Name string for the net-headers option */ 634#define NET_HEADERS_name (shar_opt_strs+2174) 635/** Other options that are required by the net-headers option */ 636static int const aNet_HeadersMustList[] = { 637 INDEX_OPT_ARCHIVE_NAME, NO_EQUIVALENT }; 638/** Compiled in flag settings for the net-headers option */ 639#define NET_HEADERS_FLAGS (OPTST_DISABLED) 640 641/** 642 * cut-mark option description: 643 */ 644/** Descriptive text for the cut-mark option */ 645#define CUT_MARK_DESC (shar_opt_strs+2186) 646/** Upper-cased name for the cut-mark option */ 647#define CUT_MARK_NAME (shar_opt_strs+2217) 648/** Name string for the cut-mark option */ 649#define CUT_MARK_name (shar_opt_strs+2226) 650/** Compiled in flag settings for the cut-mark option */ 651#define CUT_MARK_FLAGS (OPTST_DISABLED) 652 653/** 654 * translate option description: 655 */ 656/** Descriptive text for the translate option */ 657#define TRANSLATE_DESC (shar_opt_strs+2235) 658/** Upper-cased name for the translate option */ 659#define TRANSLATE_NAME (shar_opt_strs+2268) 660/** Name string for the translate option */ 661#define TRANSLATE_name (shar_opt_strs+2278) 662/** Compiled in flag settings for the translate option */ 663#define TRANSLATE_FLAGS (OPTST_DISABLED) 664 665/** 666 * xmit-defenses option description: 667 */ 668/** xmit-defenses option separation text */ 669#define XMIT_DEFENSES_DESC (shar_opt_strs+2288) 670#define XMIT_DEFENSES_FLAGS (OPTST_DOCUMENT | OPTST_NO_INIT) 671 672/** 673 * no-character-count option description: 674 */ 675/** Descriptive text for the no-character-count option */ 676#define NO_CHARACTER_COUNT_DESC (shar_opt_strs+2328) 677/** Upper-cased name for the no-character-count option */ 678#define NO_CHARACTER_COUNT_NAME (shar_opt_strs+2361) 679/** Name string for the no-character-count option */ 680#define NO_CHARACTER_COUNT_name (shar_opt_strs+2380) 681/** Compiled in flag settings for the no-character-count option */ 682#define NO_CHARACTER_COUNT_FLAGS (OPTST_DISABLED) 683 684/** 685 * no-md5-digest option description: 686 */ 687/** Descriptive text for the no-md5-digest option */ 688#define NO_MD5_DIGEST_DESC (shar_opt_strs+2399) 689/** Upper-cased name for the no-md5-digest option */ 690#define NO_MD5_DIGEST_NAME (shar_opt_strs+2434) 691/** Name string for the no-md5-digest option */ 692#define NO_MD5_DIGEST_name (shar_opt_strs+2448) 693/** Compiled in flag settings for the no-md5-digest option */ 694#define NO_MD5_DIGEST_FLAGS (OPTST_DISABLED) 695 696/** 697 * force-prefix option description: 698 */ 699/** Descriptive text for the force-prefix option */ 700#define FORCE_PREFIX_DESC (shar_opt_strs+2462) 701/** Upper-cased name for the force-prefix option */ 702#define FORCE_PREFIX_NAME (shar_opt_strs+2503) 703/** Name string for the force-prefix option */ 704#define FORCE_PREFIX_name (shar_opt_strs+2516) 705/** Compiled in flag settings for the force-prefix option */ 706#define FORCE_PREFIX_FLAGS (OPTST_DISABLED) 707 708/** 709 * here-delimiter option description: 710 */ 711/** Descriptive text for the here-delimiter option */ 712#define HERE_DELIMITER_DESC (shar_opt_strs+2529) 713/** Upper-cased name for the here-delimiter option */ 714#define HERE_DELIMITER_NAME (shar_opt_strs+2560) 715/** Name string for the here-delimiter option */ 716#define HERE_DELIMITER_name (shar_opt_strs+2575) 717/** The compiled in default value for the here-delimiter option argument */ 718#define HERE_DELIMITER_DFT_ARG (shar_opt_strs+2590) 719/** Compiled in flag settings for the here-delimiter option */ 720#define HERE_DELIMITER_FLAGS (OPTST_DISABLED \ 721 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 722 723/** 724 * shar-flavors option description: 725 */ 726/** shar-flavors option separation text */ 727#define SHAR_FLAVORS_DESC (shar_opt_strs+2599) 728#define SHAR_FLAVORS_FLAGS (OPTST_DOCUMENT | OPTST_NO_INIT) 729 730/** 731 * vanilla-operation option description: 732 */ 733/** Descriptive text for the vanilla-operation option */ 734#define VANILLA_OPERATION_DESC (shar_opt_strs+2635) 735/** Upper-cased name for the vanilla-operation option */ 736#define VANILLA_OPERATION_NAME (shar_opt_strs+2661) 737/** Name string for the vanilla-operation option */ 738#define VANILLA_OPERATION_name (shar_opt_strs+2679) 739/** Compiled in flag settings for the vanilla-operation option */ 740#define VANILLA_OPERATION_FLAGS (OPTST_DISABLED) 741 742/** 743 * no-piping option description: 744 */ 745/** Descriptive text for the no-piping option */ 746#define NO_PIPING_DESC (shar_opt_strs+2697) 747/** Upper-cased name for the no-piping option */ 748#define NO_PIPING_NAME (shar_opt_strs+2734) 749/** Name string for the no-piping option */ 750#define NO_PIPING_name (shar_opt_strs+2744) 751/** Compiled in flag settings for the no-piping option */ 752#define NO_PIPING_FLAGS (OPTST_DISABLED) 753 754/** 755 * no-check-existing option description: 756 */ 757/** Descriptive text for the no-check-existing option */ 758#define NO_CHECK_EXISTING_DESC (shar_opt_strs+2754) 759/** Upper-cased name for the no-check-existing option */ 760#define NO_CHECK_EXISTING_NAME (shar_opt_strs+2787) 761/** Name string for the no-check-existing option */ 762#define NO_CHECK_EXISTING_name (shar_opt_strs+2805) 763/** Compiled in flag settings for the no-check-existing option */ 764#define NO_CHECK_EXISTING_FLAGS (OPTST_DISABLED) 765 766/** 767 * query-user option description with 768 * "Must also have options" and "Incompatible options": 769 */ 770/** Descriptive text for the query-user option */ 771#define QUERY_USER_DESC (shar_opt_strs+2823) 772/** Upper-cased name for the query-user option */ 773#define QUERY_USER_NAME (shar_opt_strs+2857) 774/** Name string for the query-user option */ 775#define QUERY_USER_name (shar_opt_strs+2868) 776/** Other options that appear in conjunction with the query-user option */ 777static int const aQuery_UserCantList[] = { 778 INDEX_OPT_VANILLA_OPERATION, NO_EQUIVALENT }; 779/** Compiled in flag settings for the query-user option */ 780#define QUERY_USER_FLAGS (OPTST_DISABLED) 781 782/** 783 * no-timestamp option description: 784 */ 785/** Descriptive text for the no-timestamp option */ 786#define NO_TIMESTAMP_DESC (shar_opt_strs+2879) 787/** Upper-cased name for the no-timestamp option */ 788#define NO_TIMESTAMP_NAME (shar_opt_strs+2913) 789/** Name string for the no-timestamp option */ 790#define NO_TIMESTAMP_name (shar_opt_strs+2926) 791/** Compiled in flag settings for the no-timestamp option */ 792#define NO_TIMESTAMP_FLAGS (OPTST_DISABLED) 793 794/** 795 * quiet-unshar option description: 796 */ 797/** Descriptive text for the quiet-unshar option */ 798#define QUIET_UNSHAR_DESC (shar_opt_strs+2939) 799/** Upper-cased name for the quiet-unshar option */ 800#define QUIET_UNSHAR_NAME (shar_opt_strs+2977) 801/** Name string for the quiet-unshar option */ 802#define QUIET_UNSHAR_name (shar_opt_strs+2990) 803/** Compiled in flag settings for the quiet-unshar option */ 804#define QUIET_UNSHAR_FLAGS (OPTST_DISABLED) 805 806/** 807 * basename option description: 808 */ 809/** Descriptive text for the basename option */ 810#define BASENAME_DESC (shar_opt_strs+3003) 811/** Upper-cased name for the basename option */ 812#define BASENAME_NAME (shar_opt_strs+3047) 813/** Name string for the basename option */ 814#define BASENAME_name (shar_opt_strs+3056) 815/** Compiled in flag settings for the basename option */ 816#define BASENAME_FLAGS (OPTST_DISABLED) 817 818/** 819 * internationalization option description: 820 */ 821/** internationalization option separation text */ 822#define INTERNATIONALIZATION_DESC (shar_opt_strs+3065) 823#define INTERNATIONALIZATION_FLAGS (OPTST_DOCUMENT | OPTST_NO_INIT) 824 825/** 826 * no-i18n option description: 827 */ 828/** Descriptive text for the no-i18n option */ 829#define NO_I18N_DESC (shar_opt_strs+3095) 830/** Upper-cased name for the no-i18n option */ 831#define NO_I18N_NAME (shar_opt_strs+3119) 832/** Name string for the no-i18n option */ 833#define NO_I18N_name (shar_opt_strs+3127) 834/** Compiled in flag settings for the no-i18n option */ 835#define NO_I18N_FLAGS (OPTST_DISABLED) 836 837/** 838 * print-text-domain-dir option description: 839 */ 840/** Descriptive text for the print-text-domain-dir option */ 841#define PRINT_TEXT_DOMAIN_DIR_DESC (shar_opt_strs+3135) 842/** Upper-cased name for the print-text-domain-dir option */ 843#define PRINT_TEXT_DOMAIN_DIR_NAME (shar_opt_strs+3170) 844/** Name string for the print-text-domain-dir option */ 845#define PRINT_TEXT_DOMAIN_DIR_name (shar_opt_strs+3192) 846/** Compiled in flag settings for the print-text-domain-dir option */ 847#define PRINT_TEXT_DOMAIN_DIR_FLAGS (OPTST_DISABLED) 848 849/** 850 * feedback option description: 851 */ 852/** feedback option separation text */ 853#define FEEDBACK_DESC (shar_opt_strs+3214) 854#define FEEDBACK_FLAGS (OPTST_DOCUMENT | OPTST_NO_INIT) 855 856/** 857 * quiet option description: 858 */ 859/** Descriptive text for the quiet option */ 860#define QUIET_DESC (shar_opt_strs+3243) 861/** Upper-cased name for the quiet option */ 862#define QUIET_NAME (shar_opt_strs+3274) 863/** Name string for the quiet option */ 864#define QUIET_name (shar_opt_strs+3280) 865/** Compiled in flag settings for the quiet option */ 866#define QUIET_FLAGS (OPTST_DISABLED) 867 868/** 869 * silent option description: 870 */ 871/** Descriptive text for the silent option */ 872#define SILENT_DESC (shar_opt_strs+3286) 873#define SILENT_NAME NULL 874/** Unmodified name string for the silent option */ 875#define SILENT_name (shar_opt_strs+3318) 876/** Compiled in flag settings for the silent option */ 877#define SILENT_FLAGS (QUIET_FLAGS | OPTST_ALIAS) 878 879/* 880 * Help/More_Help/Version option descriptions: 881 */ 882#define HELP_DESC (shar_opt_strs+3325) 883#define HELP_name (shar_opt_strs+3369) 884#ifdef HAVE_WORKING_FORK 885#define MORE_HELP_DESC (shar_opt_strs+3374) 886#define MORE_HELP_name (shar_opt_strs+3419) 887#define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT) 888#else 889#define MORE_HELP_DESC HELP_DESC 890#define MORE_HELP_name HELP_name 891#define MORE_HELP_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 892#endif 893#ifdef NO_OPTIONAL_OPT_ARGS 894# define VER_FLAGS (OPTST_IMM | OPTST_NO_INIT) 895#else 896# define VER_FLAGS (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \ 897 OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT) 898#endif 899#define VER_DESC (shar_opt_strs+3429) 900#define VER_name (shar_opt_strs+3465) 901#define SAVE_OPTS_DESC (shar_opt_strs+3473) 902#define SAVE_OPTS_name (shar_opt_strs+3512) 903#define LOAD_OPTS_DESC (shar_opt_strs+3522) 904#define LOAD_OPTS_NAME (shar_opt_strs+3554) 905#define NO_LOAD_OPTS_name (shar_opt_strs+3564) 906#define LOAD_OPTS_pfx (shar_opt_strs+3577) 907#define LOAD_OPTS_name (NO_LOAD_OPTS_name + 3) 908/** 909 * Declare option callback procedures 910 */ 911#ifdef HAVE_COMPRESS 912 static tOptProc doOptCompress; 913#else /* not HAVE_COMPRESS */ 914# define doOptCompress NULL 915#endif /* def/not HAVE_COMPRESS */ 916#ifdef HAVE_COMPRESS 917 static tOptProc doOptBits_Per_Code; 918#else /* not HAVE_COMPRESS */ 919# define doOptBits_Per_Code NULL 920#endif /* def/not HAVE_COMPRESS */ 921extern tOptProc 922 check_intermixing, optionBooleanVal, optionNestedVal, 923 optionNumericVal, optionPagedUsage, optionPrintVersion, 924 optionResetOpt, optionStackArg, optionTimeDate, 925 optionTimeVal, optionUnstackArg, optionVendorOption, 926 set_compaction, validate_opt_context; 927static tOptProc 928 doOptBzip2, doOptGzip, 929 doOptInput_File_List, doOptLevel_For_Gzip, 930 doOptLevel_Of_Compression, doOptPrint_Text_Domain_Dir, 931 doOptSilent, doOptSplit_Size_Limit, 932 doOptStdin_File_List, doOptVanilla_Operation, 933 doOptWhole_Size_Limit, doUsageOpt; 934#define VER_PROC optionPrintVersion 935 936/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 937/** 938 * Define the shar Option Descriptions. 939 * This is an array of OPTION_CT entries, one for each 940 * option that the shar program responds to. 941 */ 942static tOptDesc optDesc[OPTION_CT] = { 943 { /* entry idx, value */ 0, 0, 944 /* equiv idx, value */ 0, 0, 945 /* equivalenced to */ NO_EQUIVALENT, 946 /* min, max, act ct */ 0, 0, 0, 947 /* opt state flags */ COMPRESSION_FLAGS, 0, 948 /* last opt argumnt */ { NULL }, 949 /* arg list/cookie */ NULL, 950 /* must/cannot opts */ NULL, NULL, 951 /* option proc */ NULL, 952 /* desc, NAME, name */ COMPRESSION_DESC, NULL, NULL, 953 /* disablement strs */ NULL, NULL }, 954 955 { /* entry idx, value */ 1, VALUE_OPT_INTERMIX_TYPE, 956 /* equiv idx, value */ 1, VALUE_OPT_INTERMIX_TYPE, 957 /* equivalenced to */ NO_EQUIVALENT, 958 /* min, max, act ct */ 0, 1, 0, 959 /* opt state flags */ INTERMIX_TYPE_FLAGS, 0, 960 /* last opt argumnt */ { NULL }, /* --intermix-type */ 961 /* arg list/cookie */ NULL, 962 /* must/cannot opts */ NULL, aIntermix_TypeCantList, 963 /* option proc */ validate_opt_context, 964 /* desc, NAME, name */ INTERMIX_TYPE_DESC, INTERMIX_TYPE_NAME, INTERMIX_TYPE_name, 965 /* disablement strs */ NULL, NULL }, 966 967 { /* entry idx, value */ 2, VALUE_OPT_COMPACTOR, 968 /* equiv idx, value */ 2, VALUE_OPT_COMPACTOR, 969 /* equivalenced to */ NO_EQUIVALENT, 970 /* min, max, act ct */ 0, NOLIMIT, 0, 971 /* opt state flags */ COMPACTOR_FLAGS, 0, 972 /* last opt argumnt */ { NULL }, /* --compactor */ 973 /* arg list/cookie */ NULL, 974 /* must/cannot opts */ NULL, aCompactorCantList, 975 /* option proc */ set_compaction, 976 /* desc, NAME, name */ COMPACTOR_DESC, COMPACTOR_NAME, COMPACTOR_name, 977 /* disablement strs */ NULL, NULL }, 978 979 { /* entry idx, value */ 3, VALUE_OPT_LEVEL_OF_COMPRESSION, 980 /* equiv idx, value */ 3, VALUE_OPT_LEVEL_OF_COMPRESSION, 981 /* equivalenced to */ NO_EQUIVALENT, 982 /* min, max, act ct */ 0, 1, 0, 983 /* opt state flags */ LEVEL_OF_COMPRESSION_FLAGS, 0, 984 /* last opt argumnt */ { LEVEL_OF_COMPRESSION_DFT_ARG }, 985 /* arg list/cookie */ NULL, 986 /* must/cannot opts */ NULL, NULL, 987 /* option proc */ doOptLevel_Of_Compression, 988 /* desc, NAME, name */ LEVEL_OF_COMPRESSION_DESC, LEVEL_OF_COMPRESSION_NAME, LEVEL_OF_COMPRESSION_name, 989 /* disablement strs */ NULL, NULL }, 990 991 { /* entry idx, value */ 4, VALUE_OPT_BZIP2, 992 /* equiv idx, value */ 4, VALUE_OPT_BZIP2, 993 /* equivalenced to */ NO_EQUIVALENT, 994 /* min, max, act ct */ 0, NOLIMIT, 0, 995 /* opt state flags */ BZIP2_FLAGS, 0, 996 /* last opt argumnt */ { NULL }, /* --bzip2 */ 997 /* arg list/cookie */ NULL, 998 /* must/cannot opts */ NULL, NULL, 999 /* option proc */ doOptBzip2, 1000 /* desc, NAME, name */ BZIP2_DESC, BZIP2_NAME, BZIP2_name, 1001 /* disablement strs */ NULL, NULL }, 1002 1003 { /* entry idx, value */ 5, VALUE_OPT_GZIP, 1004 /* equiv idx, value */ 5, VALUE_OPT_GZIP, 1005 /* equivalenced to */ NO_EQUIVALENT, 1006 /* min, max, act ct */ 0, NOLIMIT, 0, 1007 /* opt state flags */ GZIP_FLAGS, 0, 1008 /* last opt argumnt */ { NULL }, /* --gzip */ 1009 /* arg list/cookie */ NULL, 1010 /* must/cannot opts */ NULL, NULL, 1011 /* option proc */ doOptGzip, 1012 /* desc, NAME, name */ GZIP_DESC, GZIP_NAME, GZIP_name, 1013 /* disablement strs */ NULL, NULL }, 1014 1015 { /* entry idx, value */ 6, VALUE_OPT_COMPRESS, 1016 /* equiv idx, value */ 6, VALUE_OPT_COMPRESS, 1017 /* equivalenced to */ NO_EQUIVALENT, 1018 /* min, max, act ct */ 0, NOLIMIT, 0, 1019 /* opt state flags */ COMPRESS_FLAGS, 0, 1020 /* last opt argumnt */ { NULL }, /* --compress */ 1021 /* arg list/cookie */ NULL, 1022 /* must/cannot opts */ NULL, NULL, 1023 /* option proc */ doOptCompress, 1024 /* desc, NAME, name */ COMPRESS_DESC, COMPRESS_NAME, COMPRESS_name, 1025 /* disablement strs */ NULL, NULL }, 1026 1027 { /* entry idx, value */ 7, VALUE_OPT_LEVEL_FOR_GZIP, 1028 /* equiv idx, value */ 7, VALUE_OPT_LEVEL_FOR_GZIP, 1029 /* equivalenced to */ NO_EQUIVALENT, 1030 /* min, max, act ct */ 0, 1, 0, 1031 /* opt state flags */ LEVEL_FOR_GZIP_FLAGS, 0, 1032 /* last opt argumnt */ { NULL }, /* --level-for-gzip */ 1033 /* arg list/cookie */ NULL, 1034 /* must/cannot opts */ NULL, NULL, 1035 /* option proc */ doOptLevel_For_Gzip, 1036 /* desc, NAME, name */ LEVEL_FOR_GZIP_DESC, LEVEL_FOR_GZIP_NAME, LEVEL_FOR_GZIP_name, 1037 /* disablement strs */ 0, 0 }, 1038 1039 { /* entry idx, value */ 8, VALUE_OPT_BITS_PER_CODE, 1040 /* equiv idx, value */ 8, VALUE_OPT_BITS_PER_CODE, 1041 /* equivalenced to */ NO_EQUIVALENT, 1042 /* min, max, act ct */ 0, 1, 0, 1043 /* opt state flags */ BITS_PER_CODE_FLAGS, 0, 1044 /* last opt argumnt */ { BITS_PER_CODE_DFT_ARG }, 1045 /* arg list/cookie */ NULL, 1046 /* must/cannot opts */ NULL, NULL, 1047 /* option proc */ doOptBits_Per_Code, 1048 /* desc, NAME, name */ BITS_PER_CODE_DESC, BITS_PER_CODE_NAME, BITS_PER_CODE_name, 1049 /* disablement strs */ NULL, NULL }, 1050 1051 { /* entry idx, value */ 0, 0, 1052 /* equiv idx, value */ 0, 0, 1053 /* equivalenced to */ NO_EQUIVALENT, 1054 /* min, max, act ct */ 0, 0, 0, 1055 /* opt state flags */ ENCODING_FLAGS, 0, 1056 /* last opt argumnt */ { NULL }, 1057 /* arg list/cookie */ NULL, 1058 /* must/cannot opts */ NULL, NULL, 1059 /* option proc */ NULL, 1060 /* desc, NAME, name */ ENCODING_DESC, NULL, NULL, 1061 /* disablement strs */ NULL, NULL }, 1062 1063 { /* entry idx, value */ 10, VALUE_OPT_MIXED_UUENCODE, 1064 /* equiv idx, value */ NO_EQUIVALENT, 0, 1065 /* equivalenced to */ NO_EQUIVALENT, 1066 /* min, max, act ct */ 0, 1, 0, 1067 /* opt state flags */ MIXED_UUENCODE_FLAGS, 0, 1068 /* last opt argumnt */ { NULL }, /* --mixed-uuencode */ 1069 /* arg list/cookie */ NULL, 1070 /* must/cannot opts */ NULL, NULL, 1071 /* option proc */ check_intermixing, 1072 /* desc, NAME, name */ MIXED_UUENCODE_DESC, MIXED_UUENCODE_NAME, MIXED_UUENCODE_name, 1073 /* disablement strs */ NULL, NULL }, 1074 1075 { /* entry idx, value */ 11, VALUE_OPT_UUENCODE, 1076 /* equiv idx, value */ NOLIMIT, NOLIMIT, 1077 /* equivalenced to */ INDEX_OPT_MIXED_UUENCODE, 1078 /* min, max, act ct */ 0, 1, 0, 1079 /* opt state flags */ UUENCODE_FLAGS, 0, 1080 /* last opt argumnt */ { NULL }, /* --uuencode */ 1081 /* arg list/cookie */ NULL, 1082 /* must/cannot opts */ NULL, NULL, 1083 /* option proc */ check_intermixing, 1084 /* desc, NAME, name */ UUENCODE_DESC, UUENCODE_NAME, UUENCODE_name, 1085 /* disablement strs */ NULL, NULL }, 1086 1087 { /* entry idx, value */ 12, VALUE_OPT_TEXT_FILES, 1088 /* equiv idx, value */ NOLIMIT, NOLIMIT, 1089 /* equivalenced to */ INDEX_OPT_MIXED_UUENCODE, 1090 /* min, max, act ct */ 0, 1, 0, 1091 /* opt state flags */ TEXT_FILES_FLAGS, 0, 1092 /* last opt argumnt */ { NULL }, /* --text-files */ 1093 /* arg list/cookie */ NULL, 1094 /* must/cannot opts */ NULL, NULL, 1095 /* option proc */ check_intermixing, 1096 /* desc, NAME, name */ TEXT_FILES_DESC, TEXT_FILES_NAME, TEXT_FILES_name, 1097 /* disablement strs */ NULL, NULL }, 1098 1099 { /* entry idx, value */ 0, 0, 1100 /* equiv idx, value */ 0, 0, 1101 /* equivalenced to */ NO_EQUIVALENT, 1102 /* min, max, act ct */ 0, 0, 0, 1103 /* opt state flags */ IN_OUT_FLAGS, 0, 1104 /* last opt argumnt */ { NULL }, 1105 /* arg list/cookie */ NULL, 1106 /* must/cannot opts */ NULL, NULL, 1107 /* option proc */ NULL, 1108 /* desc, NAME, name */ IN_OUT_DESC, NULL, NULL, 1109 /* disablement strs */ NULL, NULL }, 1110 1111 { /* entry idx, value */ 14, VALUE_OPT_OUTPUT_PREFIX, 1112 /* equiv idx, value */ 14, VALUE_OPT_OUTPUT_PREFIX, 1113 /* equivalenced to */ NO_EQUIVALENT, 1114 /* min, max, act ct */ 0, 1, 0, 1115 /* opt state flags */ OUTPUT_PREFIX_FLAGS, 0, 1116 /* last opt argumnt */ { NULL }, /* --output-prefix */ 1117 /* arg list/cookie */ NULL, 1118 /* must/cannot opts */ NULL, NULL, 1119 /* option proc */ validate_opt_context, 1120 /* desc, NAME, name */ OUTPUT_PREFIX_DESC, OUTPUT_PREFIX_NAME, OUTPUT_PREFIX_name, 1121 /* disablement strs */ NULL, NULL }, 1122 1123 { /* entry idx, value */ 15, VALUE_OPT_WHOLE_SIZE_LIMIT, 1124 /* equiv idx, value */ NO_EQUIVALENT, 0, 1125 /* equivalenced to */ NO_EQUIVALENT, 1126 /* min, max, act ct */ 0, 1, 0, 1127 /* opt state flags */ WHOLE_SIZE_LIMIT_FLAGS, 0, 1128 /* last opt argumnt */ { NULL }, /* --whole-size-limit */ 1129 /* arg list/cookie */ NULL, 1130 /* must/cannot opts */ aWhole_Size_LimitMustList, NULL, 1131 /* option proc */ doOptWhole_Size_Limit, 1132 /* desc, NAME, name */ WHOLE_SIZE_LIMIT_DESC, WHOLE_SIZE_LIMIT_NAME, WHOLE_SIZE_LIMIT_name, 1133 /* disablement strs */ NULL, NULL }, 1134 1135 { /* entry idx, value */ 16, VALUE_OPT_SPLIT_SIZE_LIMIT, 1136 /* equiv idx, value */ NOLIMIT, NOLIMIT, 1137 /* equivalenced to */ INDEX_OPT_WHOLE_SIZE_LIMIT, 1138 /* min, max, act ct */ 0, 1, 0, 1139 /* opt state flags */ SPLIT_SIZE_LIMIT_FLAGS, 0, 1140 /* last opt argumnt */ { NULL }, /* --split-size-limit */ 1141 /* arg list/cookie */ NULL, 1142 /* must/cannot opts */ aSplit_Size_LimitMustList, NULL, 1143 /* option proc */ doOptSplit_Size_Limit, 1144 /* desc, NAME, name */ SPLIT_SIZE_LIMIT_DESC, SPLIT_SIZE_LIMIT_NAME, SPLIT_SIZE_LIMIT_name, 1145 /* disablement strs */ NULL, NULL }, 1146 1147 { /* entry idx, value */ 17, VALUE_OPT_INPUT_FILE_LIST, 1148 /* equiv idx, value */ 17, VALUE_OPT_INPUT_FILE_LIST, 1149 /* equivalenced to */ NO_EQUIVALENT, 1150 /* min, max, act ct */ 0, 1, 0, 1151 /* opt state flags */ INPUT_FILE_LIST_FLAGS, 0, 1152 /* last opt argumnt */ { NULL }, /* --input-file-list */ 1153 /* arg list/cookie */ NULL, 1154 /* must/cannot opts */ NULL, NULL, 1155 /* option proc */ doOptInput_File_List, 1156 /* desc, NAME, name */ INPUT_FILE_LIST_DESC, INPUT_FILE_LIST_NAME, INPUT_FILE_LIST_name, 1157 /* disablement strs */ NULL, NULL }, 1158 1159 { /* entry idx, value */ 18, VALUE_OPT_STDIN_FILE_LIST, 1160 /* equiv idx, value */ 18, VALUE_OPT_STDIN_FILE_LIST, 1161 /* equivalenced to */ NO_EQUIVALENT, 1162 /* min, max, act ct */ 0, 1, 0, 1163 /* opt state flags */ STDIN_FILE_LIST_FLAGS, 0, 1164 /* last opt argumnt */ { NULL }, /* --stdin-file-list */ 1165 /* arg list/cookie */ NULL, 1166 /* must/cannot opts */ NULL, NULL, 1167 /* option proc */ doOptStdin_File_List, 1168 /* desc, NAME, name */ STDIN_FILE_LIST_DESC, STDIN_FILE_LIST_NAME, STDIN_FILE_LIST_name, 1169 /* disablement strs */ NULL, NULL }, 1170 1171 { /* entry idx, value */ 0, 0, 1172 /* equiv idx, value */ 0, 0, 1173 /* equivalenced to */ NO_EQUIVALENT, 1174 /* min, max, act ct */ 0, 0, 0, 1175 /* opt state flags */ HEADERS_FLAGS, 0, 1176 /* last opt argumnt */ { NULL }, 1177 /* arg list/cookie */ NULL, 1178 /* must/cannot opts */ NULL, NULL, 1179 /* option proc */ NULL, 1180 /* desc, NAME, name */ HEADERS_DESC, NULL, NULL, 1181 /* disablement strs */ NULL, NULL }, 1182 1183 { /* entry idx, value */ 20, VALUE_OPT_ARCHIVE_NAME, 1184 /* equiv idx, value */ 20, VALUE_OPT_ARCHIVE_NAME, 1185 /* equivalenced to */ NO_EQUIVALENT, 1186 /* min, max, act ct */ 0, 1, 0, 1187 /* opt state flags */ ARCHIVE_NAME_FLAGS, 0, 1188 /* last opt argumnt */ { NULL }, /* --archive-name */ 1189 /* arg list/cookie */ NULL, 1190 /* must/cannot opts */ NULL, NULL, 1191 /* option proc */ validate_opt_context, 1192 /* desc, NAME, name */ ARCHIVE_NAME_DESC, ARCHIVE_NAME_NAME, ARCHIVE_NAME_name, 1193 /* disablement strs */ NULL, NULL }, 1194 1195 { /* entry idx, value */ 21, VALUE_OPT_SUBMITTER, 1196 /* equiv idx, value */ 21, VALUE_OPT_SUBMITTER, 1197 /* equivalenced to */ NO_EQUIVALENT, 1198 /* min, max, act ct */ 0, 1, 0, 1199 /* opt state flags */ SUBMITTER_FLAGS, 0, 1200 /* last opt argumnt */ { NULL }, /* --submitter */ 1201 /* arg list/cookie */ NULL, 1202 /* must/cannot opts */ NULL, NULL, 1203 /* option proc */ validate_opt_context, 1204 /* desc, NAME, name */ SUBMITTER_DESC, SUBMITTER_NAME, SUBMITTER_name, 1205 /* disablement strs */ NULL, NULL }, 1206 1207 { /* entry idx, value */ 22, VALUE_OPT_NET_HEADERS, 1208 /* equiv idx, value */ 22, VALUE_OPT_NET_HEADERS, 1209 /* equivalenced to */ NO_EQUIVALENT, 1210 /* min, max, act ct */ 0, 1, 0, 1211 /* opt state flags */ NET_HEADERS_FLAGS, 0, 1212 /* last opt argumnt */ { NULL }, /* --net-headers */ 1213 /* arg list/cookie */ NULL, 1214 /* must/cannot opts */ aNet_HeadersMustList, NULL, 1215 /* option proc */ validate_opt_context, 1216 /* desc, NAME, name */ NET_HEADERS_DESC, NET_HEADERS_NAME, NET_HEADERS_name, 1217 /* disablement strs */ NULL, NULL }, 1218 1219 { /* entry idx, value */ 23, VALUE_OPT_CUT_MARK, 1220 /* equiv idx, value */ 23, VALUE_OPT_CUT_MARK, 1221 /* equivalenced to */ NO_EQUIVALENT, 1222 /* min, max, act ct */ 0, 1, 0, 1223 /* opt state flags */ CUT_MARK_FLAGS, 0, 1224 /* last opt argumnt */ { NULL }, /* --cut-mark */ 1225 /* arg list/cookie */ NULL, 1226 /* must/cannot opts */ NULL, NULL, 1227 /* option proc */ validate_opt_context, 1228 /* desc, NAME, name */ CUT_MARK_DESC, CUT_MARK_NAME, CUT_MARK_name, 1229 /* disablement strs */ NULL, NULL }, 1230 1231 { /* entry idx, value */ 24, VALUE_OPT_TRANSLATE, 1232 /* equiv idx, value */ 24, VALUE_OPT_TRANSLATE, 1233 /* equivalenced to */ NO_EQUIVALENT, 1234 /* min, max, act ct */ 0, 1, 0, 1235 /* opt state flags */ TRANSLATE_FLAGS, 0, 1236 /* last opt argumnt */ { NULL }, /* --translate */ 1237 /* arg list/cookie */ NULL, 1238 /* must/cannot opts */ NULL, NULL, 1239 /* option proc */ validate_opt_context, 1240 /* desc, NAME, name */ TRANSLATE_DESC, TRANSLATE_NAME, TRANSLATE_name, 1241 /* disablement strs */ NULL, NULL }, 1242 1243 { /* entry idx, value */ 0, 0, 1244 /* equiv idx, value */ 0, 0, 1245 /* equivalenced to */ NO_EQUIVALENT, 1246 /* min, max, act ct */ 0, 0, 0, 1247 /* opt state flags */ XMIT_DEFENSES_FLAGS, 0, 1248 /* last opt argumnt */ { NULL }, 1249 /* arg list/cookie */ NULL, 1250 /* must/cannot opts */ NULL, NULL, 1251 /* option proc */ NULL, 1252 /* desc, NAME, name */ XMIT_DEFENSES_DESC, NULL, NULL, 1253 /* disablement strs */ NULL, NULL }, 1254 1255 { /* entry idx, value */ 26, VALUE_OPT_NO_CHARACTER_COUNT, 1256 /* equiv idx, value */ 26, VALUE_OPT_NO_CHARACTER_COUNT, 1257 /* equivalenced to */ NO_EQUIVALENT, 1258 /* min, max, act ct */ 0, 1, 0, 1259 /* opt state flags */ NO_CHARACTER_COUNT_FLAGS, 0, 1260 /* last opt argumnt */ { NULL }, /* --no-character-count */ 1261 /* arg list/cookie */ NULL, 1262 /* must/cannot opts */ NULL, NULL, 1263 /* option proc */ validate_opt_context, 1264 /* desc, NAME, name */ NO_CHARACTER_COUNT_DESC, NO_CHARACTER_COUNT_NAME, NO_CHARACTER_COUNT_name, 1265 /* disablement strs */ NULL, NULL }, 1266 1267 { /* entry idx, value */ 27, VALUE_OPT_NO_MD5_DIGEST, 1268 /* equiv idx, value */ 27, VALUE_OPT_NO_MD5_DIGEST, 1269 /* equivalenced to */ NO_EQUIVALENT, 1270 /* min, max, act ct */ 0, 1, 0, 1271 /* opt state flags */ NO_MD5_DIGEST_FLAGS, 0, 1272 /* last opt argumnt */ { NULL }, /* --no-md5-digest */ 1273 /* arg list/cookie */ NULL, 1274 /* must/cannot opts */ NULL, NULL, 1275 /* option proc */ validate_opt_context, 1276 /* desc, NAME, name */ NO_MD5_DIGEST_DESC, NO_MD5_DIGEST_NAME, NO_MD5_DIGEST_name, 1277 /* disablement strs */ NULL, NULL }, 1278 1279 { /* entry idx, value */ 28, VALUE_OPT_FORCE_PREFIX, 1280 /* equiv idx, value */ 28, VALUE_OPT_FORCE_PREFIX, 1281 /* equivalenced to */ NO_EQUIVALENT, 1282 /* min, max, act ct */ 0, 1, 0, 1283 /* opt state flags */ FORCE_PREFIX_FLAGS, 0, 1284 /* last opt argumnt */ { NULL }, /* --force-prefix */ 1285 /* arg list/cookie */ NULL, 1286 /* must/cannot opts */ NULL, NULL, 1287 /* option proc */ validate_opt_context, 1288 /* desc, NAME, name */ FORCE_PREFIX_DESC, FORCE_PREFIX_NAME, FORCE_PREFIX_name, 1289 /* disablement strs */ NULL, NULL }, 1290 1291 { /* entry idx, value */ 29, VALUE_OPT_HERE_DELIMITER, 1292 /* equiv idx, value */ 29, VALUE_OPT_HERE_DELIMITER, 1293 /* equivalenced to */ NO_EQUIVALENT, 1294 /* min, max, act ct */ 0, 1, 0, 1295 /* opt state flags */ HERE_DELIMITER_FLAGS, 0, 1296 /* last opt argumnt */ { HERE_DELIMITER_DFT_ARG }, 1297 /* arg list/cookie */ NULL, 1298 /* must/cannot opts */ NULL, NULL, 1299 /* option proc */ validate_opt_context, 1300 /* desc, NAME, name */ HERE_DELIMITER_DESC, HERE_DELIMITER_NAME, HERE_DELIMITER_name, 1301 /* disablement strs */ NULL, NULL }, 1302 1303 { /* entry idx, value */ 0, 0, 1304 /* equiv idx, value */ 0, 0, 1305 /* equivalenced to */ NO_EQUIVALENT, 1306 /* min, max, act ct */ 0, 0, 0, 1307 /* opt state flags */ SHAR_FLAVORS_FLAGS, 0, 1308 /* last opt argumnt */ { NULL }, 1309 /* arg list/cookie */ NULL, 1310 /* must/cannot opts */ NULL, NULL, 1311 /* option proc */ NULL, 1312 /* desc, NAME, name */ SHAR_FLAVORS_DESC, NULL, NULL, 1313 /* disablement strs */ NULL, NULL }, 1314 1315 { /* entry idx, value */ 31, VALUE_OPT_VANILLA_OPERATION, 1316 /* equiv idx, value */ 31, VALUE_OPT_VANILLA_OPERATION, 1317 /* equivalenced to */ NO_EQUIVALENT, 1318 /* min, max, act ct */ 0, 1, 0, 1319 /* opt state flags */ VANILLA_OPERATION_FLAGS, 0, 1320 /* last opt argumnt */ { NULL }, /* --vanilla-operation */ 1321 /* arg list/cookie */ NULL, 1322 /* must/cannot opts */ NULL, NULL, 1323 /* option proc */ doOptVanilla_Operation, 1324 /* desc, NAME, name */ VANILLA_OPERATION_DESC, VANILLA_OPERATION_NAME, VANILLA_OPERATION_name, 1325 /* disablement strs */ NULL, NULL }, 1326 1327 { /* entry idx, value */ 32, VALUE_OPT_NO_PIPING, 1328 /* equiv idx, value */ 32, VALUE_OPT_NO_PIPING, 1329 /* equivalenced to */ NO_EQUIVALENT, 1330 /* min, max, act ct */ 0, 1, 0, 1331 /* opt state flags */ NO_PIPING_FLAGS, 0, 1332 /* last opt argumnt */ { NULL }, /* --no-piping */ 1333 /* arg list/cookie */ NULL, 1334 /* must/cannot opts */ NULL, NULL, 1335 /* option proc */ validate_opt_context, 1336 /* desc, NAME, name */ NO_PIPING_DESC, NO_PIPING_NAME, NO_PIPING_name, 1337 /* disablement strs */ NULL, NULL }, 1338 1339 { /* entry idx, value */ 33, VALUE_OPT_NO_CHECK_EXISTING, 1340 /* equiv idx, value */ 33, VALUE_OPT_NO_CHECK_EXISTING, 1341 /* equivalenced to */ NO_EQUIVALENT, 1342 /* min, max, act ct */ 0, 1, 0, 1343 /* opt state flags */ NO_CHECK_EXISTING_FLAGS, 0, 1344 /* last opt argumnt */ { NULL }, /* --no-check-existing */ 1345 /* arg list/cookie */ NULL, 1346 /* must/cannot opts */ NULL, NULL, 1347 /* option proc */ validate_opt_context, 1348 /* desc, NAME, name */ NO_CHECK_EXISTING_DESC, NO_CHECK_EXISTING_NAME, NO_CHECK_EXISTING_name, 1349 /* disablement strs */ NULL, NULL }, 1350 1351 { /* entry idx, value */ 34, VALUE_OPT_QUERY_USER, 1352 /* equiv idx, value */ 34, VALUE_OPT_QUERY_USER, 1353 /* equivalenced to */ NO_EQUIVALENT, 1354 /* min, max, act ct */ 0, 1, 0, 1355 /* opt state flags */ QUERY_USER_FLAGS, 0, 1356 /* last opt argumnt */ { NULL }, /* --query-user */ 1357 /* arg list/cookie */ NULL, 1358 /* must/cannot opts */ NULL, aQuery_UserCantList, 1359 /* option proc */ validate_opt_context, 1360 /* desc, NAME, name */ QUERY_USER_DESC, QUERY_USER_NAME, QUERY_USER_name, 1361 /* disablement strs */ NULL, NULL }, 1362 1363 { /* entry idx, value */ 35, VALUE_OPT_NO_TIMESTAMP, 1364 /* equiv idx, value */ 35, VALUE_OPT_NO_TIMESTAMP, 1365 /* equivalenced to */ NO_EQUIVALENT, 1366 /* min, max, act ct */ 0, 1, 0, 1367 /* opt state flags */ NO_TIMESTAMP_FLAGS, 0, 1368 /* last opt argumnt */ { NULL }, /* --no-timestamp */ 1369 /* arg list/cookie */ NULL, 1370 /* must/cannot opts */ NULL, NULL, 1371 /* option proc */ validate_opt_context, 1372 /* desc, NAME, name */ NO_TIMESTAMP_DESC, NO_TIMESTAMP_NAME, NO_TIMESTAMP_name, 1373 /* disablement strs */ NULL, NULL }, 1374 1375 { /* entry idx, value */ 36, VALUE_OPT_QUIET_UNSHAR, 1376 /* equiv idx, value */ 36, VALUE_OPT_QUIET_UNSHAR, 1377 /* equivalenced to */ NO_EQUIVALENT, 1378 /* min, max, act ct */ 0, 1, 0, 1379 /* opt state flags */ QUIET_UNSHAR_FLAGS, 0, 1380 /* last opt argumnt */ { NULL }, /* --quiet-unshar */ 1381 /* arg list/cookie */ NULL, 1382 /* must/cannot opts */ NULL, NULL, 1383 /* option proc */ validate_opt_context, 1384 /* desc, NAME, name */ QUIET_UNSHAR_DESC, QUIET_UNSHAR_NAME, QUIET_UNSHAR_name, 1385 /* disablement strs */ NULL, NULL }, 1386 1387 { /* entry idx, value */ 37, VALUE_OPT_BASENAME, 1388 /* equiv idx, value */ 37, VALUE_OPT_BASENAME, 1389 /* equivalenced to */ NO_EQUIVALENT, 1390 /* min, max, act ct */ 0, 1, 0, 1391 /* opt state flags */ BASENAME_FLAGS, 0, 1392 /* last opt argumnt */ { NULL }, /* --basename */ 1393 /* arg list/cookie */ NULL, 1394 /* must/cannot opts */ NULL, NULL, 1395 /* option proc */ validate_opt_context, 1396 /* desc, NAME, name */ BASENAME_DESC, BASENAME_NAME, BASENAME_name, 1397 /* disablement strs */ NULL, NULL }, 1398 1399 { /* entry idx, value */ 0, 0, 1400 /* equiv idx, value */ 0, 0, 1401 /* equivalenced to */ NO_EQUIVALENT, 1402 /* min, max, act ct */ 0, 0, 0, 1403 /* opt state flags */ INTERNATIONALIZATION_FLAGS, 0, 1404 /* last opt argumnt */ { NULL }, 1405 /* arg list/cookie */ NULL, 1406 /* must/cannot opts */ NULL, NULL, 1407 /* option proc */ NULL, 1408 /* desc, NAME, name */ INTERNATIONALIZATION_DESC, NULL, NULL, 1409 /* disablement strs */ NULL, NULL }, 1410 1411 { /* entry idx, value */ 39, VALUE_OPT_NO_I18N, 1412 /* equiv idx, value */ 39, VALUE_OPT_NO_I18N, 1413 /* equivalenced to */ NO_EQUIVALENT, 1414 /* min, max, act ct */ 0, 1, 0, 1415 /* opt state flags */ NO_I18N_FLAGS, 0, 1416 /* last opt argumnt */ { NULL }, /* --no-i18n */ 1417 /* arg list/cookie */ NULL, 1418 /* must/cannot opts */ NULL, NULL, 1419 /* option proc */ validate_opt_context, 1420 /* desc, NAME, name */ NO_I18N_DESC, NO_I18N_NAME, NO_I18N_name, 1421 /* disablement strs */ NULL, NULL }, 1422 1423 { /* entry idx, value */ 40, VALUE_OPT_PRINT_TEXT_DOMAIN_DIR, 1424 /* equiv idx, value */ 40, VALUE_OPT_PRINT_TEXT_DOMAIN_DIR, 1425 /* equivalenced to */ NO_EQUIVALENT, 1426 /* min, max, act ct */ 0, 1, 0, 1427 /* opt state flags */ PRINT_TEXT_DOMAIN_DIR_FLAGS, 0, 1428 /* last opt argumnt */ { NULL }, /* --print-text-domain-dir */ 1429 /* arg list/cookie */ NULL, 1430 /* must/cannot opts */ NULL, NULL, 1431 /* option proc */ doOptPrint_Text_Domain_Dir, 1432 /* desc, NAME, name */ PRINT_TEXT_DOMAIN_DIR_DESC, PRINT_TEXT_DOMAIN_DIR_NAME, PRINT_TEXT_DOMAIN_DIR_name, 1433 /* disablement strs */ NULL, NULL }, 1434 1435 { /* entry idx, value */ 0, 0, 1436 /* equiv idx, value */ 0, 0, 1437 /* equivalenced to */ NO_EQUIVALENT, 1438 /* min, max, act ct */ 0, 0, 0, 1439 /* opt state flags */ FEEDBACK_FLAGS, 0, 1440 /* last opt argumnt */ { NULL }, 1441 /* arg list/cookie */ NULL, 1442 /* must/cannot opts */ NULL, NULL, 1443 /* option proc */ NULL, 1444 /* desc, NAME, name */ FEEDBACK_DESC, NULL, NULL, 1445 /* disablement strs */ NULL, NULL }, 1446 1447 { /* entry idx, value */ 42, VALUE_OPT_QUIET, 1448 /* equiv idx, value */ 42, VALUE_OPT_QUIET, 1449 /* equivalenced to */ NO_EQUIVALENT, 1450 /* min, max, act ct */ 0, 1, 0, 1451 /* opt state flags */ QUIET_FLAGS, 0, 1452 /* last opt argumnt */ { NULL }, /* --quiet */ 1453 /* arg list/cookie */ NULL, 1454 /* must/cannot opts */ NULL, NULL, 1455 /* option proc */ validate_opt_context, 1456 /* desc, NAME, name */ QUIET_DESC, QUIET_NAME, QUIET_name, 1457 /* disablement strs */ NULL, NULL }, 1458 1459 { /* entry idx, value */ 43, VALUE_OPT_SILENT, 1460 /* equiv idx, value */ 43, VALUE_OPT_SILENT, 1461 /* equivalenced to */ NO_EQUIVALENT, 1462 /* min, max, act ct */ 0, 1, 0, 1463 /* opt state flags */ SILENT_FLAGS, 0, 1464 /* last opt argumnt */ { NULL }, /* --silent */ 1465 /* arg list/cookie */ NULL, 1466 /* must/cannot opts */ NULL, NULL, 1467 /* option proc */ doOptSilent, 1468 /* desc, NAME, name */ SILENT_DESC, SILENT_NAME, SILENT_name, 1469 /* disablement strs */ 0, 0 }, 1470 1471 { /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION, 1472 /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_VERSION, 1473 /* equivalenced to */ NO_EQUIVALENT, 1474 /* min, max, act ct */ 0, 1, 0, 1475 /* opt state flags */ VER_FLAGS, AOUSE_VERSION, 1476 /* last opt argumnt */ { NULL }, 1477 /* arg list/cookie */ NULL, 1478 /* must/cannot opts */ NULL, NULL, 1479 /* option proc */ VER_PROC, 1480 /* desc, NAME, name */ VER_DESC, NULL, VER_name, 1481 /* disablement strs */ NULL, NULL }, 1482 1483 1484 1485 { /* entry idx, value */ INDEX_OPT_HELP, VALUE_OPT_HELP, 1486 /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_HELP, 1487 /* equivalenced to */ NO_EQUIVALENT, 1488 /* min, max, act ct */ 0, 1, 0, 1489 /* opt state flags */ OPTST_IMM | OPTST_NO_INIT, AOUSE_HELP, 1490 /* last opt argumnt */ { NULL }, 1491 /* arg list/cookie */ NULL, 1492 /* must/cannot opts */ NULL, NULL, 1493 /* option proc */ doUsageOpt, 1494 /* desc, NAME, name */ HELP_DESC, NULL, HELP_name, 1495 /* disablement strs */ NULL, NULL }, 1496 1497 { /* entry idx, value */ INDEX_OPT_MORE_HELP, VALUE_OPT_MORE_HELP, 1498 /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_MORE_HELP, 1499 /* equivalenced to */ NO_EQUIVALENT, 1500 /* min, max, act ct */ 0, 1, 0, 1501 /* opt state flags */ MORE_HELP_FLAGS, AOUSE_MORE_HELP, 1502 /* last opt argumnt */ { NULL }, 1503 /* arg list/cookie */ NULL, 1504 /* must/cannot opts */ NULL, NULL, 1505 /* option proc */ optionPagedUsage, 1506 /* desc, NAME, name */ MORE_HELP_DESC, NULL, MORE_HELP_name, 1507 /* disablement strs */ NULL, NULL }, 1508 1509 { /* entry idx, value */ INDEX_OPT_SAVE_OPTS, VALUE_OPT_SAVE_OPTS, 1510 /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_SAVE_OPTS, 1511 /* equivalenced to */ NO_EQUIVALENT, 1512 /* min, max, act ct */ 0, 1, 0, 1513 /* opt state flags */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) 1514 | OPTST_ARG_OPTIONAL | OPTST_NO_INIT, AOUSE_SAVE_OPTS, 1515 /* last opt argumnt */ { NULL }, 1516 /* arg list/cookie */ NULL, 1517 /* must/cannot opts */ NULL, NULL, 1518 /* option proc */ NULL, 1519 /* desc, NAME, name */ SAVE_OPTS_DESC, NULL, SAVE_OPTS_name, 1520 /* disablement strs */ NULL, NULL }, 1521 1522 { /* entry idx, value */ INDEX_OPT_LOAD_OPTS, VALUE_OPT_LOAD_OPTS, 1523 /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_LOAD_OPTS, 1524 /* equivalenced to */ NO_EQUIVALENT, 1525 /* min, max, act ct */ 0, NOLIMIT, 0, 1526 /* opt state flags */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) 1527 | OPTST_DISABLE_IMM, AOUSE_LOAD_OPTS, 1528 /* last opt argumnt */ { NULL }, 1529 /* arg list/cookie */ NULL, 1530 /* must/cannot opts */ NULL, NULL, 1531 /* option proc */ optionLoadOpt, 1532 /* desc, NAME, name */ LOAD_OPTS_DESC, LOAD_OPTS_NAME, LOAD_OPTS_name, 1533 /* disablement strs */ NO_LOAD_OPTS_name, LOAD_OPTS_pfx } 1534}; 1535 1536 1537/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1538/** Reference to the upper cased version of shar. */ 1539#define zPROGNAME (shar_opt_strs+3580) 1540/** Reference to the title line for shar usage. */ 1541#define zUsageTitle (shar_opt_strs+3585) 1542/** shar configuration file name. */ 1543#define zRcName (shar_opt_strs+3707) 1544/** Directories to search for shar config files. */ 1545static char const * const apzHomeList[2] = { 1546 shar_opt_strs+3701, 1547 NULL }; 1548/** The shar program bug email address. */ 1549#define zBugsAddr (shar_opt_strs+3715) 1550/** Clarification/explanation of what shar does. */ 1551#define zExplain (shar_opt_strs+3737) 1552/** Extra detail explaining what shar does. */ 1553#define zDetail (shar_opt_strs+3860) 1554/** The full version string for shar. */ 1555#define zFullVersion (shar_opt_strs+4732) 1556/* extracted from optcode.tlib near line 364 */ 1557 1558#if defined(ENABLE_NLS) 1559# define OPTPROC_BASE OPTPROC_TRANSLATE 1560 static tOptionXlateProc translate_option_strings; 1561#else 1562# define OPTPROC_BASE OPTPROC_NONE 1563# define translate_option_strings NULL 1564#endif /* ENABLE_NLS */ 1565 1566#define shar_full_usage (shar_opt_strs+4760) 1567#define shar_short_usage (shar_opt_strs+10169) 1568 1569#endif /* not defined __doxygen__ */ 1570 1571/* 1572 * Create the static procedure(s) declared above. 1573 */ 1574/** 1575 * The callout function that invokes the optionUsage function. 1576 * 1577 * @param[in] opts the AutoOpts option description structure 1578 * @param[in] od the descriptor for the "help" (usage) option. 1579 * @noreturn 1580 */ 1581static void 1582doUsageOpt(tOptions * opts, tOptDesc * od) 1583{ 1584 int ex_code; 1585 ex_code = SHAR_EXIT_SUCCESS; 1586 optionUsage(&sharOptions, ex_code); 1587 /* NOTREACHED */ 1588 exit(1); 1589 (void)opts; 1590 (void)od; 1591} 1592 1593/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1594/** 1595 * Code to handle the level-of-compression option. 1596 * Some compression programs allow for a level of compression. The 1597 * default is @code{9}, but this option allows you to specify something 1598 * else. This value is used by @command{gzip}, @command{bzip2} and 1599 * @command{xz}, but not @command{compress}. 1600 * @param[in] pOptions the shar options data structure 1601 * @param[in,out] pOptDesc the option descriptor for this option. 1602 */ 1603static void 1604doOptLevel_Of_Compression(tOptions* pOptions, tOptDesc* pOptDesc) 1605{ 1606 static struct {long rmin, rmax;} const rng[1] = { 1607 { 1, 9 } }; 1608 int ix; 1609 1610 if (pOptions <= OPTPROC_EMIT_LIMIT) 1611 goto emit_ranges; 1612 optionNumericVal(pOptions, pOptDesc); 1613 1614 for (ix = 0; ix < 1; ix++) { 1615 if (pOptDesc->optArg.argInt < rng[ix].rmin) 1616 continue; /* ranges need not be ordered. */ 1617 if (pOptDesc->optArg.argInt == rng[ix].rmin) 1618 return; 1619 if (rng[ix].rmax == LONG_MIN) 1620 continue; 1621 if (pOptDesc->optArg.argInt <= rng[ix].rmax) 1622 return; 1623 } 1624 1625 option_usage_fp = stderr; 1626 1627 emit_ranges: 1628optionShowRange(pOptions, pOptDesc, VOIDP(rng), 1); 1629} 1630 1631/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1632/** 1633 * Code to handle the bzip2 option. 1634 * @command{bzip2} compress and @command{uuencode} all files 1635 * prior to packing. The recipient must have @command{uudecode} 1636 * @command{bzip2} in order to unpack. 1637 * @param[in] pOptions the shar options data structure 1638 * @param[in,out] pOptDesc the option descriptor for this option. 1639 */ 1640static void 1641doOptBzip2(tOptions* pOptions, tOptDesc* pOptDesc) 1642{ 1643 /* 1644 * Be sure the flag-code[0] handles special values for the options pointer 1645 * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit 1646 * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to 1647 * reset its state. 1648 */ 1649 /* extracted from shar-opts.def, line 139 */ 1650 SET_OPT_COMPACTOR("bzip2"); 1651 (void)pOptDesc; 1652 (void)pOptions; 1653} 1654 1655/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1656/** 1657 * Code to handle the gzip option. 1658 * @command{gzip} compress and @command{uuencode} all files prior 1659 * to packing. The recipient must have @command{uudecode} and 1660 * @command{gzip} in order to unpack. 1661 * @param[in] pOptions the shar options data structure 1662 * @param[in,out] pOptDesc the option descriptor for this option. 1663 */ 1664static void 1665doOptGzip(tOptions* pOptions, tOptDesc* pOptDesc) 1666{ 1667 /* 1668 * Be sure the flag-code[0] handles special values for the options pointer 1669 * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit 1670 * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to 1671 * reset its state. 1672 */ 1673 /* extracted from shar-opts.def, line 153 */ 1674 SET_OPT_COMPACTOR("gzip"); 1675 (void)pOptDesc; 1676 (void)pOptions; 1677} 1678 1679/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1680/** 1681 * Code to handle the compress option, when HAVE_COMPRESS is #define-d. 1682 * @command{compress} and @command{uuencode} all files prior to 1683 * packing. The recipient must have @command{uudecode} and 1684 * @command{compress} in order to unpack. 1685 * @param[in] pOptions the shar options data structure 1686 * @param[in,out] pOptDesc the option descriptor for this option. 1687 */ 1688#ifdef HAVE_COMPRESS 1689static void 1690doOptCompress(tOptions* pOptions, tOptDesc* pOptDesc) 1691{ 1692 /* 1693 * Be sure the flag-code[0] handles special values for the options pointer 1694 * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit 1695 * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to 1696 * reset its state. 1697 */ 1698 /* extracted from shar-opts.def, line 168 */ 1699 SET_OPT_COMPACTOR("compress"); 1700 (void)pOptDesc; 1701 (void)pOptions; 1702} 1703#endif /* defined HAVE_COMPRESS */ 1704 1705/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1706/** 1707 * Code to handle the level-for-gzip option. 1708 * 1709 * @param[in] pOptions the shar options data structure 1710 * @param[in,out] pOptDesc the option descriptor for this option. 1711 */ 1712static void 1713doOptLevel_For_Gzip(tOptions* pOptions, tOptDesc* pOptDesc) 1714{ 1715 int res = optionAlias(pOptions, pOptDesc, INDEX_OPT_LEVEL_OF_COMPRESSION); 1716 if ((res != 0) && ((pOptions->fOptSet & OPTPROC_ERRSTOP) != 0)) 1717 USAGE(SHAR_EXIT_USAGE_ERROR); 1718 1719} 1720 1721/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1722/** 1723 * Code to handle the bits-per-code option, when HAVE_COMPRESS is #define-d. 1724 * This is the compression factor used by the @command{compress} program. 1725 * @param[in] pOptions the shar options data structure 1726 * @param[in,out] pOptDesc the option descriptor for this option. 1727 */ 1728#ifdef HAVE_COMPRESS 1729static void 1730doOptBits_Per_Code(tOptions* pOptions, tOptDesc* pOptDesc) 1731{ 1732 /* 1733 * Be sure the flag-code[0] handles special values for the options pointer 1734 * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit 1735 * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to 1736 * reset its state. 1737 */ 1738 /* extracted from shar-opts.def, line 190 */ 1739 check_intermixing(pOptions, pOptDesc); 1740 SET_OPT_COMPACTOR("compress"); 1741} 1742#endif /* defined HAVE_COMPRESS */ 1743 1744/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1745/** 1746 * Code to handle the whole-size-limit option. 1747 * Limit the output file size to @file{size} bytes, but don't split input 1748 * files. If @file{size} is less than 1024, then it will be multiplied 1749 * by 1024. The value may also be specified with a k, K, m or M suffix. 1750 * The number is then multiplied by 1000, 1024, 1000000, or 1048576, 1751 * respectively. 4M (4194304) is the maximum allowed. 1752 * 1753 * Unlike the @code{split-size-limit} option, this allows the recipient 1754 * of the shar files to unpack them in any order. 1755 * @param[in] pOptions the shar options data structure 1756 * @param[in,out] pOptDesc the option descriptor for this option. 1757 */ 1758static void 1759doOptWhole_Size_Limit(tOptions* pOptions, tOptDesc* pOptDesc) 1760{ 1761 static struct {long rmin, rmax;} const rng[2] = { 1762 { 8, 1023 }, { 8192, 4194304 } }; 1763 int ix; 1764 1765 if (pOptions <= OPTPROC_EMIT_LIMIT) 1766 goto emit_ranges; 1767 optionNumericVal(pOptions, pOptDesc); 1768 1769 for (ix = 0; ix < 2; ix++) { 1770 if (pOptDesc->optArg.argInt < rng[ix].rmin) 1771 continue; /* ranges need not be ordered. */ 1772 if (pOptDesc->optArg.argInt == rng[ix].rmin) 1773 return; 1774 if (rng[ix].rmax == LONG_MIN) 1775 continue; 1776 if (pOptDesc->optArg.argInt <= rng[ix].rmax) 1777 return; 1778 } 1779 1780 option_usage_fp = stderr; 1781 1782 emit_ranges: 1783optionShowRange(pOptions, pOptDesc, VOIDP(rng), 2); 1784} 1785 1786/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1787/** 1788 * Code to handle the split-size-limit option. 1789 * Limit output file size to @file{size} bytes, splitting files if 1790 * necessary. The allowed values are specified as with the 1791 * @option{--whole-size-limit} option. 1792 * 1793 * The archive parts created with this option must be unpacked in the 1794 * correct order. If the recipient of the shell archives wants to put 1795 * all of them in a single email folder (file), they will have to be 1796 * saved in the correct order for @command{unshar} to unpack them all at 1797 * once (using one of the split archive options). 1798 * @xref{unshar Invocation}. 1799 * @param[in] pOptions the shar options data structure 1800 * @param[in,out] pOptDesc the option descriptor for this option. 1801 */ 1802static void 1803doOptSplit_Size_Limit(tOptions* pOptions, tOptDesc* pOptDesc) 1804{ 1805 static struct {long rmin, rmax;} const rng[2] = { 1806 { 8, 1023 }, { 8192, 4194304 } }; 1807 int ix; 1808 1809 if (pOptions <= OPTPROC_EMIT_LIMIT) 1810 goto emit_ranges; 1811 optionNumericVal(pOptions, pOptDesc); 1812 1813 for (ix = 0; ix < 2; ix++) { 1814 if (pOptDesc->optArg.argInt < rng[ix].rmin) 1815 continue; /* ranges need not be ordered. */ 1816 if (pOptDesc->optArg.argInt == rng[ix].rmin) 1817 return; 1818 if (rng[ix].rmax == LONG_MIN) 1819 continue; 1820 if (pOptDesc->optArg.argInt <= rng[ix].rmax) 1821 return; 1822 } 1823 1824 option_usage_fp = stderr; 1825 1826 emit_ranges: 1827optionShowRange(pOptions, pOptDesc, VOIDP(rng), 2); 1828} 1829 1830/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1831/** 1832 * Code to handle the input-file-list option. 1833 * This option causes @file{file} to be reopened as standard input. If 1834 * no files are found on the input line, then standard input is read for 1835 * input file names. Use of this option will prohibit input files from 1836 * being listed on the command line. 1837 * 1838 * Input must be in a form similar to that generated by @command{find}, 1839 * one filename per line. This switch is especially useful when the 1840 * command line will not hold the list of files to be archived. 1841 * 1842 * If the @option{--intermix-type} option is specified on the command 1843 * line, then the compression options may be included in the standard 1844 * input on lines by themselves and no file name may begin with a hyphen. 1845 * 1846 * For example: 1847 * @example 1848 * @{ echo --compact xz 1849 * find . -type f -print | sort 1850 * @} | shar -S -p -L50K -o /somewhere/big 1851 * @end example 1852 * @param[in] pOptions the shar options data structure 1853 * @param[in,out] pOptDesc the option descriptor for this option. 1854 */ 1855static void 1856doOptInput_File_List(tOptions* pOptions, tOptDesc* pOptDesc) 1857{ 1858 /* 1859 * Be sure the flag-code[0] handles special values for the options pointer 1860 * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit 1861 * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to 1862 * reset its state. 1863 */ 1864 /* extracted from shar-opts.def, line 358 */ 1865 char const * fnm = pOptDesc->optArg.argString; 1866 validate_opt_context (pOptions, pOptDesc); 1867 if (strcmp (fnm, "-") != 0) { 1868 FILE * fp = freopen(fnm, "r", stdin); 1869 if (fp != stdin) 1870 usage_message(_("Cannot reopen %s as stdin"), fnm); 1871 } 1872} 1873 1874/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1875/** 1876 * Code to handle the stdin-file-list option. 1877 * This option is actually a no-op. It is a wrapper for 1878 * @option{--input-file-list=-}. 1879 * @param[in] pOptions the shar options data structure 1880 * @param[in,out] pOptDesc the option descriptor for this option. 1881 */ 1882static void 1883doOptStdin_File_List(tOptions* pOptions, tOptDesc* pOptDesc) 1884{ 1885 /* 1886 * Be sure the flag-code[0] handles special values for the options pointer 1887 * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit 1888 * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to 1889 * reset its state. 1890 */ 1891 /* extracted from shar-opts.def, line 394 */ 1892 SET_OPT_INPUT_FILE_LIST("-"); 1893 (void)pOptDesc; 1894 (void)pOptions; 1895} 1896 1897/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1898/** 1899 * Code to handle the vanilla-operation option. 1900 * This option produces @samp{vanilla} shars which rely only upon the 1901 * existence of @command{echo}, @command{test} and @command{sed} in the 1902 * unpacking environment. 1903 * 1904 * It changes the default behavior from mixed mode 1905 * (@option{--mixed-uuencode}) to text mode (@option{--text-files}). 1906 * Warnings are produced if options are specified that will require 1907 * decompression or decoding in the unpacking environment. 1908 * 1909 * @param[in] pOptions the shar options data structure 1910 * @param[in,out] pOptDesc the option descriptor for this option. 1911 */ 1912static void 1913doOptVanilla_Operation(tOptions* pOptions, tOptDesc* pOptDesc) 1914{ 1915 /* 1916 * Be sure the flag-code[0] handles special values for the options pointer 1917 * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit 1918 * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to 1919 * reset its state. 1920 */ 1921 /* extracted from shar-opts.def, line 590 */ 1922 validate_opt_context (pOptions, pOptDesc); 1923 1924 SET_OPT_NO_CHARACTER_COUNT; 1925 SET_OPT_NO_TIMESTAMP; 1926 SET_OPT_NO_MD5_DIGEST; 1927 SET_OPT_NO_I18N; 1928 SET_OPT_NO_PIPING; 1929 SET_OPT_FORCE_PREFIX; 1930} 1931 1932/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1933/** 1934 * Code to handle the print-text-domain-dir option. 1935 * Prints the directory shar looks in to find messages files 1936 * for different languages, then immediately exits. 1937 * @param[in] pOptions the shar options data structure 1938 * @param[in,out] pOptDesc the option descriptor for this option. 1939 */ 1940static void 1941doOptPrint_Text_Domain_Dir(tOptions* pOptions, tOptDesc* pOptDesc) 1942{ 1943 /* 1944 * Be sure the flag-code[0] handles special values for the options pointer 1945 * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit 1946 * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to 1947 * reset its state. 1948 */ 1949 /* extracted from shar-opts.def, line 745 */ 1950 validate_opt_context (pOptions, pOptDesc); 1951 1952#if !defined ENABLE_NLS || defined HAVE_CATGETS \ 1953 || (defined HAVE_GETTEXT && !defined __USE_GNU_GETTEXT) 1954 exit (EXIT_FAILURE); 1955#else 1956 puts (LOCALEDIR); 1957 exit (EXIT_SUCCESS); 1958#endif 1959} 1960 1961/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1962/** 1963 * Code to handle the silent option. 1964 * 1965 * @param[in] pOptions the shar options data structure 1966 * @param[in,out] pOptDesc the option descriptor for this option. 1967 */ 1968static void 1969doOptSilent(tOptions* pOptions, tOptDesc* pOptDesc) 1970{ 1971 int res = optionAlias(pOptions, pOptDesc, INDEX_OPT_QUIET); 1972 if ((res != 0) && ((pOptions->fOptSet & OPTPROC_ERRSTOP) != 0)) 1973 USAGE(SHAR_EXIT_USAGE_ERROR); 1974 1975} 1976/* extracted from optmain.tlib near line 1250 */ 1977 1978/** 1979 * Print a usage message with a format and va_list argument. 1980 * The optionUsage function is then invoked to print 1981 * the error usage text (somewhat abbreviated) and then exit. 1982 * 1983 * @param[in] fmt the message format string 1984 * @param[in] ap the var-arg list. 1985 * @noreturn 1986 */ 1987void 1988vusage_message(char const * fmt, va_list ap) 1989{ 1990 char const * er_leader = _("shar usage error:\n"); 1991 fputs(er_leader, stderr); 1992 vfprintf(stderr, fmt, ap); 1993 optionUsage(&sharOptions, SHAR_EXIT_USAGE_ERROR); 1994 /* NOTREACHED */ 1995 exit(1); 1996} 1997 1998/** 1999 * Print a usage message with a format and a variable argument list. 2000 * vusage_message() is called to do the work. 2001 * 2002 * @param[in] fmt the message format string 2003 * @param[in] ... the argument list for the message 2004 * @noreturn 2005 */ 2006void 2007usage_message(char const * fmt, ...) 2008{ 2009 va_list ap; 2010 va_start(ap, fmt); 2011 vusage_message(fmt, ap); 2012 /* NOTREACHED */ 2013 va_end(ap); 2014} 2015 2016/** 2017 * Print a fatal error message and die, \a va_list style. 2018 * 2019 * @param[in] exit_code the value to call exit(3) with 2020 * @param[in] fmt the death rattle message 2021 * @param[in] ap the argument list for the message 2022 * @noreturn 2023 */ 2024void 2025vdie(int exit_code, char const * fmt, va_list ap) 2026{ 2027 char const * die_leader = _("shar fatal error:\n"); 2028 fputs(die_leader, stderr); 2029 vfprintf(stderr, fmt, ap); 2030 fflush(stderr); 2031 exit(exit_code); 2032 /* NOTREACHED */ 2033} 2034 2035/** 2036 * Print a fatal error message and die, var-arg style. 2037 * 2038 * @param[in] exit_code the value to call exit(3) with 2039 * @param[in] fmt the death rattle message 2040 * @param[in] ... the list of arguments for the message 2041 * @noreturn 2042 */ 2043void 2044die(int exit_code, char const * fmt, ...) 2045{ 2046 va_list ap; 2047 va_start(ap, fmt); 2048 vdie(exit_code, fmt, ap); 2049 /* NOTREACHED */ 2050 va_end(ap); 2051} 2052 2053/** 2054 * Print a file system error fatal error message and die. 2055 * 2056 * @param[in] exit_code the value to call exit(3) with. 2057 * @param[in] op the operation that failed. 2058 * @param[in] fname the file name the operation was on. 2059 * @noreturn 2060 */ 2061void 2062fserr(int exit_code, char const * op, char const * fname) 2063{ 2064 char const * fserr_fmt = _("fserr %d (%s) performing '%s' on %s\n"); 2065 die(exit_code, fserr_fmt, errno, strerror(errno), op, fname); 2066 /* NOTREACHED */ 2067} 2068 2069/** 2070 * The directory containing the data associated with shar. 2071 */ 2072#ifndef PKGDATADIR 2073# define PKGDATADIR "" 2074#endif 2075 2076/** 2077 * Information about the person or institution that packaged shar 2078 * for the current distribution. 2079 */ 2080#ifndef WITH_PACKAGER 2081# define shar_packager_info NULL 2082#else 2083/** Packager information for shar. */ 2084static char const shar_packager_info[] = 2085 "Packaged by " WITH_PACKAGER 2086 2087# ifdef WITH_PACKAGER_VERSION 2088 " ("WITH_PACKAGER_VERSION")" 2089# endif 2090 2091# ifdef WITH_PACKAGER_BUG_REPORTS 2092 "\nReport shar bugs to " WITH_PACKAGER_BUG_REPORTS 2093# endif 2094 "\n"; 2095#endif 2096#ifndef __doxygen__ 2097 2098#endif /* __doxygen__ */ 2099/** 2100 * The option definitions for shar. The one structure that 2101 * binds them all. 2102 */ 2103tOptions sharOptions = { 2104 OPTIONS_STRUCT_VERSION, 2105 0, NULL, /* original argc + argv */ 2106 ( OPTPROC_BASE 2107 + OPTPROC_ERRSTOP 2108 + OPTPROC_SHORTOPT 2109 + OPTPROC_LONGOPT 2110 + OPTPROC_NO_REQ_OPT 2111 + OPTPROC_GNUUSAGE 2112 + OPTPROC_MISUSE ), 2113 0, NULL, /* current option index, current option */ 2114 NULL, NULL, zPROGNAME, 2115 zRcName, zCopyright, zLicenseDescrip, 2116 zFullVersion, apzHomeList, zUsageTitle, 2117 zExplain, zDetail, optDesc, 2118 zBugsAddr, /* address to send bugs to */ 2119 NULL, NULL, /* extensions/saved state */ 2120 optionUsage, /* usage procedure */ 2121 translate_option_strings, /* translation procedure */ 2122 /* 2123 * Indexes to special options 2124 */ 2125 { INDEX_OPT_MORE_HELP, /* more-help option index */ 2126 INDEX_OPT_SAVE_OPTS, /* save option index */ 2127 NO_EQUIVALENT, /* '-#' option index */ 2128 NO_EQUIVALENT /* index of default opt */ 2129 }, 2130 49 /* full option count */, 44 /* user option count */, 2131 shar_full_usage, shar_short_usage, 2132 NULL, NULL, 2133 PKGDATADIR, shar_packager_info 2134}; 2135 2136#if ENABLE_NLS 2137/** 2138 * This code is designed to translate translatable option text for the 2139 * shar program. These translations happen upon entry 2140 * to optionProcess(). 2141 */ 2142#include <stdio.h> 2143#include <stdlib.h> 2144#include <string.h> 2145#include <unistd.h> 2146#ifdef HAVE_DCGETTEXT 2147# include <gettext.h> 2148#endif 2149#include <autoopts/usage-txt.h> 2150 2151static char * AO_gettext(char const * pz); 2152static void coerce_it(void ** s); 2153 2154/** 2155 * AutoGen specific wrapper function for gettext. It relies on the macro _() 2156 * to convert from English to the target language, then strdup-duplicates the 2157 * result string. It tries the "libopts" domain first, then whatever has been 2158 * set via the \a textdomain(3) call. 2159 * 2160 * @param[in] pz the input text used as a lookup key. 2161 * @returns the translated text (if there is one), 2162 * or the original text (if not). 2163 */ 2164static char * 2165AO_gettext(char const * pz) 2166{ 2167 char * res; 2168 if (pz == NULL) 2169 return NULL; 2170#ifdef HAVE_DCGETTEXT 2171 /* 2172 * While processing the option_xlateable_txt data, try to use the 2173 * "libopts" domain. Once we switch to the option descriptor data, 2174 * do *not* use that domain. 2175 */ 2176 if (option_xlateable_txt.field_ct != 0) { 2177 res = dgettext("libopts", pz); 2178 if (res == pz) 2179 res = (char *)VOIDP(_(pz)); 2180 } else 2181 res = (char *)VOIDP(_(pz)); 2182#else 2183 res = (char *)VOIDP(_(pz)); 2184#endif 2185 if (res == pz) 2186 return res; 2187 res = strdup(res); 2188 if (res == NULL) { 2189 fputs(_("No memory for duping translated strings\n"), stderr); 2190 exit(SHAR_EXIT_OPTION_ERROR); 2191 } 2192 return res; 2193} 2194 2195/** 2196 * All the pointers we use are marked "* const", but they are stored in 2197 * writable memory. Coerce the mutability and set the pointer. 2198 */ 2199static void coerce_it(void ** s) { *s = AO_gettext(*s); 2200} 2201 2202/** 2203 * Translate all the translatable strings in the sharOptions 2204 * structure defined above. This is done only once. 2205 */ 2206static void 2207translate_option_strings(void) 2208{ 2209 tOptions * const opts = &sharOptions; 2210 2211 /* 2212 * Guard against re-translation. It won't work. The strings will have 2213 * been changed by the first pass through this code. One shot only. 2214 */ 2215 if (option_xlateable_txt.field_ct != 0) { 2216 /* 2217 * Do the translations. The first pointer follows the field count 2218 * field. The field count field is the size of a pointer. 2219 */ 2220 char ** ppz = (char**)VOIDP(&(option_xlateable_txt)); 2221 int ix = option_xlateable_txt.field_ct; 2222 2223 do { 2224 ppz++; /* skip over field_ct */ 2225 *ppz = AO_gettext(*ppz); 2226 } while (--ix > 0); 2227 /* prevent re-translation and disable "libopts" domain lookup */ 2228 option_xlateable_txt.field_ct = 0; 2229 2230 coerce_it(VOIDP(&(opts->pzCopyright))); 2231 coerce_it(VOIDP(&(opts->pzCopyNotice))); 2232 coerce_it(VOIDP(&(opts->pzFullVersion))); 2233 } 2234} 2235#endif /* ENABLE_NLS */ 2236 2237#ifdef DO_NOT_COMPILE_THIS_CODE_IT_IS_FOR_GETTEXT 2238/** I18N function strictly for xgettext. Do not compile. */ 2239static void bogus_function(void) { 2240 /* TRANSLATORS: 2241 2242 The following dummy function was crated solely so that xgettext can 2243 extract the correct strings. These strings are actually referenced 2244 by a field name in the sharOptions structure noted in the 2245 comments below. The literal text is defined in shar_opt_strs. 2246 2247 NOTE: the strings below are segmented with respect to the source string 2248 shar_opt_strs. The strings above are handed off for translation 2249 at run time a paragraph at a time. Consequently, they are presented here 2250 for translation a paragraph at a time. 2251 2252 ALSO: often the description for an option will reference another option 2253 by name. These are set off with apostrophe quotes (I hope). Do not 2254 translate option names. 2255 */ 2256 /* referenced via sharOptions.pzCopyright */ 2257 puts(_("shar (GNU sharutils) 4.15.2\n\ 2258Copyright (C) 1994-2015 Free Software Foundation, Inc., all rights reserved.\n\ 2259This is free software. It is licensed for use, modification and\n\ 2260redistribution under the terms of the GNU General Public License,\n\ 2261version 3 or later <http://gnu.org/licenses/gpl.html>\n")); 2262 2263 /* referenced via sharOptions.pzCopyNotice */ 2264 puts(_("shar is free software: you can redistribute it and/or modify it under the\n\ 2265terms of the GNU General Public License as published by the Free Software\n\ 2266Foundation, either version 3 of the License, or (at your option) any later\n\ 2267version.\n\n")); 2268 puts(_("shar is distributed in the hope that it will be useful, but WITHOUT ANY\n\ 2269WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n\ 2270FOR A PARTICULAR PURPOSE. See the GNU General Public License for more\n\ 2271details.\n\n")); 2272 puts(_("You should have received a copy of the GNU General Public License along\n\ 2273with this program. If not, see <http://www.gnu.org/licenses/>.\n")); 2274 2275 /* referenced via sharOptions.pzUsageTitle */ 2276 puts(_("shar (GNU sharutils) - create a shell archive\n\ 2277Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [<file>...]\n")); 2278 2279 /* referenced via sharOptions.pzExplain */ 2280 puts(_("If no 'file's are specified, the list of input files is read from standard\n\ 2281input. Standard input must not be a terminal.\n")); 2282 2283 /* referenced via sharOptions.pzDetail */ 2284 puts(_("'shar' creates \"shell archives\" (or shar files) which are in text format\n\ 2285and can be emailed. These files may be unpacked later by executing them\n\ 2286with '/bin/sh'. The resulting archive is sent to standard out unless the\n\ 2287'-o' option is given. A wide range of features provide extensive\n\ 2288flexibility in manufacturing shars and in specifying 'shar' \"smartness\".\n\ 2289Archives may be fairly simple ('--vanilla-operation') or essentially a\n\ 2290mailable 'tar' archive.\n\n")); 2291 puts(_("Options may be specified in any order until a 'file' argument is\n\ 2292recognized. If the '--intermix-type' option has been specified, more\n\ 2293compression and encoding options will be recognized between the 'file'\n\ 2294arguments.\n\n")); 2295 puts(_("Though this program supports 'uuencode'-d files, they are deprecated. If\n\ 2296you are emailing files, please consider mime-encoded files. If you do\n\ 2297'uuencode', base64 is the preferred encoding method.\n")); 2298 2299 /* referenced via sharOptions.pzFullVersion */ 2300 puts(_("shar (GNU sharutils) 4.15.2")); 2301 2302 /* referenced via sharOptions.pzFullUsage */ 2303 puts(_("shar (GNU sharutils) - create a shell archive\n\ 2304Usage: shar [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [<file>...]\n\n")); 2305 puts(_("Specify compression:\n\ 2306 -p, --intermix-type specify compression for input files\n\ 2307 - prohibits the option 'vanilla-operation'\n")); 2308 puts(_(" -C, --compactor=PROG specify compaction (compression) program PROG\n\ 2309 - prohibits the option 'vanilla-operation'\n\ 2310 - may appear multiple times\n\ 2311 - it must be known to shar: xz gzip bzip2\n")); 2312 puts(_(" -g, --level-of-compression=LEVEL\n\ 2313 pass LEVEL for compression\n\ 2314 - it must be in the range: 1 to 9\n\n")); 2315 puts(_("Specify file encoding methodology:\n\ 2316 -M, --mixed-uuencode decide uuencoding for each file\n")); 2317 puts(_(" -B, --uuencode treat all files as binary\n\ 2318 - an alternate for mixed-uuencode\n")); 2319 puts(_(" -T, --text-files treat all files as text\n\ 2320 - an alternate for mixed-uuencode\n\n")); 2321 puts(_("Specifying file selection and output modes:\n")); 2322 puts(_(" -o, --output-prefix=str print output to file PREFIX.nn\n")); 2323 puts(_(" -l, --whole-size-limit=SIZE\n\ 2324 split archive, not files, to SIZE\n\ 2325 - requires the option 'output-prefix'\n\ 2326 - is scalable with a suffix: k/K/m/M/g/G/t/T\n\ 2327 - it must lie in one of the ranges:\n\ 2328 8 to 1023, or 8192 to 4194304\n")); 2329 puts(_(" -L, --split-size-limit=SIZE\n\ 2330 split archive or files to SIZE\n\ 2331 - requires the option 'output-prefix'\n\ 2332 - is scalable with a suffix: k/K/m/M/g/G/t/T\n\ 2333 - it must lie in one of the ranges:\n\ 2334 8 to 1023, or 8192 to 4194304\n\ 2335 - an alternate for 'whole-size-limit'\n")); 2336 puts(_(" -I, --input-file-list=FILE read file list from FILE\n\n")); 2337 puts(_("Controlling the shar headers:\n\ 2338 -n, --archive-name=NAME use NAME to document the archive\n")); 2339 puts(_(" -s, --submitter=NAME override the submitter name with NAME\n")); 2340 puts(_(" -a, --net-headers output Submitted-by: & Archive-name: headers\n\ 2341 - requires the option 'archive-name'\n")); 2342 puts(_(" -c, --cut-mark start the shar with a cut line\n")); 2343 puts(_(" -t, --translate translate messages in the script\n\n")); 2344 puts(_("Protecting against transmission issues:\n\ 2345 --no-character-count do not use `wc -c' to check size\n")); 2346 puts(_(" -D, --no-md5-digest do not use md5sum digest to verify\n")); 2347 puts(_(" -F, --force-prefix apply the prefix character on every line\n")); 2348 puts(_(" -d, --here-delimiter=DELIM use DELIM to delimit the files\n\n")); 2349 puts(_("Producing different kinds of shars:\n\ 2350 -V, --vanilla-operation produce very simple shars\n")); 2351 puts(_(" -P, --no-piping use temporary files between programs\n")); 2352 puts(_(" -x, --no-check-existing blindly overwrite existing files\n")); 2353 puts(_(" -X, --query-user ask user before overwriting files\n\ 2354 - prohibits the option 'vanilla-operation'\n")); 2355 puts(_(" -m, --no-timestamp do not restore modification times\n")); 2356 puts(_(" -Q, --quiet-unshar avoid verbose messages at unshar time\n")); 2357 puts(_(" -f, --basename restore in one directory, despite hierarchy\n\n")); 2358 puts(_("Internationalization options:\n\ 2359 --no-i18n do not internationalize\n")); 2360 puts(_(" --print-text-domain-dir print directory with shar messages\n\n")); 2361 puts(_("User feedback/entertainment:\n\ 2362 -q, --quiet do not output verbose messages\n")); 2363 puts(_(" --silent an alias for the 'quiet' option\n\n")); 2364 puts(_("Version, usage and configuration options:\n")); 2365 puts(_(" -v, --version[=MODE] output version information and exit\n")); 2366 puts(_(" -h, --help display extended usage information and exit\n")); 2367 puts(_(" -!, --more-help extended usage information passed thru pager\n")); 2368 puts(_(" -R, --save-opts[=FILE] save the option state to a config file FILE\n")); 2369 puts(_(" -r, --load-opts=FILE load options from the config file FILE\n\ 2370 - disabled with '--no-load-opts'\n\ 2371 - may appear multiple times\n\n")); 2372 puts(_("Options are specified by doubled hyphens and their name or by a single\n\ 2373hyphen and the flag character.\n\ 2374If no 'file's are specified, the list of input files is read from a\n\ 2375standard input. Standard input must not be a terminal.\n\n")); 2376 puts(_("The following option preset mechanisms are supported:\n")); 2377 puts(_(" - reading file $HOME/.sharrc\n\n\ 2378'shar' creates \"shell archives\" (or shar files) which are in text format\n\ 2379and can be emailed. These files may be unpacked later by executing them\n\ 2380with '/bin/sh'. The resulting archive is sent to standard out unless the\n\ 2381'-o' option is given. A wide range of features provide extensive\n\ 2382flexibility in manufacturing shars and in specifying 'shar' \"smartness\".\n\ 2383Archives may be fairly simple ('--vanilla-operation') or essentially a\n\ 2384mailable 'tar' archive.\n\n")); 2385 puts(_("Options may be specified in any order until a 'file' argument is\n\ 2386recognized. If the '--intermix-type' option has been specified, more\n\ 2387compression and encoding options will be recognized between the 'file'\n\ 2388arguments.\n\n")); 2389 puts(_("Though this program supports 'uuencode'-d files, they are deprecated. If\n\ 2390you are emailing files, please consider mime-encoded files. If you do\n\ 2391'uuencode', base64 is the preferred encoding method.\n\n\ 2392Please send bug reports to: <bug-gnu-utils@gnu.org>\n")); 2393 2394 /* referenced via sharOptions.pzShortUsage */ 2395 puts(_("shar (GNU sharutils) - create a shell archive\n\ 2396Usage: shar [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [<file>...]\n\ 2397Try 'shar --help' for more information.\n")); 2398 /* LIBOPTS-MESSAGES: */ 2399#line 67 "../autoopts.c" 2400 puts(_("allocation of %d bytes failed\n")); 2401#line 93 "../autoopts.c" 2402 puts(_("allocation of %d bytes failed\n")); 2403#line 53 "../init.c" 2404 puts(_("AutoOpts function called without option descriptor\n")); 2405#line 86 "../init.c" 2406 puts(_("\tThis exceeds the compiled library version: ")); 2407#line 84 "../init.c" 2408 puts(_("Automated Options Processing Error!\n" 2409 "\t%s called AutoOpts function with structure version %d:%d:%d.\n")); 2410#line 80 "../autoopts.c" 2411 puts(_("realloc of %d bytes at 0x%p failed\n")); 2412#line 88 "../init.c" 2413 puts(_("\tThis is less than the minimum library version: ")); 2414#line 121 "../version.c" 2415 puts(_("Automated Options version %s\n" 2416 "\tCopyright (C) 1999-2014 by Bruce Korb - all rights reserved\n")); 2417#line 87 "../makeshell.c" 2418 puts(_("(AutoOpts bug): %s.\n")); 2419#line 90 "../reset.c" 2420 puts(_("optionResetOpt() called, but reset-option not configured")); 2421#line 292 "../usage.c" 2422 puts(_("could not locate the 'help' option")); 2423#line 336 "../autoopts.c" 2424 puts(_("optionProcess() was called with invalid data")); 2425#line 748 "../usage.c" 2426 puts(_("invalid argument type specified")); 2427#line 598 "../find.c" 2428 puts(_("defaulted to option with optional arg")); 2429#line 76 "../alias.c" 2430 puts(_("aliasing option is out of range.")); 2431#line 234 "../enum.c" 2432 puts(_("%s error: the keyword '%s' is ambiguous for %s\n")); 2433#line 108 "../find.c" 2434 puts(_(" The following options match:\n")); 2435#line 293 "../find.c" 2436 puts(_("%s: ambiguous option name: %s (matches %d options)\n")); 2437#line 161 "../check.c" 2438 puts(_("%s: Command line arguments required\n")); 2439#line 43 "../alias.c" 2440 puts(_("%d %s%s options allowed\n")); 2441#line 94 "../makeshell.c" 2442 puts(_("%s error %d (%s) calling %s for '%s'\n")); 2443#line 306 "../makeshell.c" 2444 puts(_("interprocess pipe")); 2445#line 168 "../version.c" 2446 puts(_("error: version option argument '%c' invalid. Use:\n" 2447 "\t'v' - version only\n" 2448 "\t'c' - version and copyright\n" 2449 "\t'n' - version and full copyright notice\n")); 2450#line 58 "../check.c" 2451 puts(_("%s error: the '%s' and '%s' options conflict\n")); 2452#line 217 "../find.c" 2453 puts(_("%s: The '%s' option has been disabled.")); 2454#line 430 "../find.c" 2455 puts(_("%s: The '%s' option has been disabled.")); 2456#line 38 "../alias.c" 2457 puts(_("-equivalence")); 2458#line 469 "../find.c" 2459 puts(_("%s: illegal option -- %c\n")); 2460#line 110 "../reset.c" 2461 puts(_("%s: illegal option -- %c\n")); 2462#line 271 "../find.c" 2463 puts(_("%s: illegal option -- %s\n")); 2464#line 755 "../find.c" 2465 puts(_("%s: illegal option -- %s\n")); 2466#line 118 "../reset.c" 2467 puts(_("%s: illegal option -- %s\n")); 2468#line 335 "../find.c" 2469 puts(_("%s: unknown vendor extension option -- %s\n")); 2470#line 159 "../enum.c" 2471 puts(_(" or an integer from %d through %d\n")); 2472#line 169 "../enum.c" 2473 puts(_(" or an integer from %d through %d\n")); 2474#line 747 "../usage.c" 2475 puts(_("%s error: invalid option descriptor for %s\n")); 2476#line 1081 "../usage.c" 2477 puts(_("%s error: invalid option descriptor for %s\n")); 2478#line 385 "../find.c" 2479 puts(_("%s: invalid option name: %s\n")); 2480#line 527 "../find.c" 2481 puts(_("%s: The '%s' option requires an argument.\n")); 2482#line 156 "../autoopts.c" 2483 puts(_("(AutoOpts bug): Equivalenced option '%s' was equivalenced to both\n" 2484 "\t'%s' and '%s'.")); 2485#line 94 "../check.c" 2486 puts(_("%s error: The %s option is required\n")); 2487#line 632 "../find.c" 2488 puts(_("%s: The '%s' option cannot have an argument.\n")); 2489#line 151 "../check.c" 2490 puts(_("%s: Command line arguments are not allowed.\n")); 2491#line 535 "../save.c" 2492 puts(_("error %d (%s) creating %s\n")); 2493#line 234 "../enum.c" 2494 puts(_("%s error: '%s' does not match any %s keywords.\n")); 2495#line 93 "../reset.c" 2496 puts(_("%s error: The '%s' option requires an argument.\n")); 2497#line 184 "../save.c" 2498 puts(_("error %d (%s) stat-ing %s\n")); 2499#line 238 "../save.c" 2500 puts(_("error %d (%s) stat-ing %s\n")); 2501#line 143 "../restore.c" 2502 puts(_("%s error: no saved option state\n")); 2503#line 231 "../autoopts.c" 2504 puts(_("'%s' is not a command line option.\n")); 2505#line 111 "../time.c" 2506 puts(_("%s error: '%s' is not a recognizable date/time.\n")); 2507#line 132 "../save.c" 2508 puts(_("'%s' not defined\n")); 2509#line 50 "../time.c" 2510 puts(_("%s error: '%s' is not a recognizable time duration.\n")); 2511#line 92 "../check.c" 2512 puts(_("%s error: The %s option must appear %d times.\n")); 2513#line 164 "../numeric.c" 2514 puts(_("%s error: '%s' is not a recognizable number.\n")); 2515#line 200 "../enum.c" 2516 puts(_("%s error: %s exceeds %s keyword count\n")); 2517#line 330 "../usage.c" 2518 puts(_("Try '%s %s' for more information.\n")); 2519#line 45 "../alias.c" 2520 puts(_("one %s%s option allowed\n")); 2521#line 208 "../makeshell.c" 2522 puts(_("standard output")); 2523#line 943 "../makeshell.c" 2524 puts(_("standard output")); 2525#line 274 "../usage.c" 2526 puts(_("standard output")); 2527#line 415 "../usage.c" 2528 puts(_("standard output")); 2529#line 625 "../usage.c" 2530 puts(_("standard output")); 2531#line 175 "../version.c" 2532 puts(_("standard output")); 2533#line 274 "../usage.c" 2534 puts(_("standard error")); 2535#line 415 "../usage.c" 2536 puts(_("standard error")); 2537#line 625 "../usage.c" 2538 puts(_("standard error")); 2539#line 175 "../version.c" 2540 puts(_("standard error")); 2541#line 208 "../makeshell.c" 2542 puts(_("write")); 2543#line 943 "../makeshell.c" 2544 puts(_("write")); 2545#line 273 "../usage.c" 2546 puts(_("write")); 2547#line 414 "../usage.c" 2548 puts(_("write")); 2549#line 624 "../usage.c" 2550 puts(_("write")); 2551#line 174 "../version.c" 2552 puts(_("write")); 2553#line 60 "../numeric.c" 2554 puts(_("%s error: %s option value %ld is out of range.\n")); 2555#line 44 "../check.c" 2556 puts(_("%s error: %s option requires the %s option\n")); 2557#line 131 "../save.c" 2558 puts(_("%s warning: cannot save options - %s not regular file\n")); 2559#line 183 "../save.c" 2560 puts(_("%s warning: cannot save options - %s not regular file\n")); 2561#line 237 "../save.c" 2562 puts(_("%s warning: cannot save options - %s not regular file\n")); 2563#line 256 "../save.c" 2564 puts(_("%s warning: cannot save options - %s not regular file\n")); 2565#line 534 "../save.c" 2566 puts(_("%s warning: cannot save options - %s not regular file\n")); 2567 /* END-LIBOPTS-MESSAGES */ 2568} 2569#endif /* uncompilable code */ 2570#ifdef __cplusplus 2571} 2572#endif 2573/* shar-opts.c ends here */ 2574