diff options
author | Werner Koch <[email protected]> | 2012-01-31 17:08:24 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2012-01-31 17:08:24 +0000 |
commit | 4a9d69ca87d4e21b015b7ceab6b2b6ba3809ec22 (patch) | |
tree | 3d7bd6d345425face0ad03e00ed1e24e6b9518ac /jnlib/argparse.c | |
parent | Require an installed gitlog_to_changelog for make dist. (diff) | |
download | gnupg-4a9d69ca87d4e21b015b7ceab6b2b6ba3809ec22.tar.gz gnupg-4a9d69ca87d4e21b015b7ceab6b2b6ba3809ec22.zip |
Update copyright year.
Diffstat (limited to 'jnlib/argparse.c')
-rw-r--r-- | jnlib/argparse.c | 122 |
1 files changed, 61 insertions, 61 deletions
diff --git a/jnlib/argparse.c b/jnlib/argparse.c index dac68780c..c9b5384ae 100644 --- a/jnlib/argparse.c +++ b/jnlib/argparse.c @@ -153,8 +153,8 @@ static void show_version(void); static void initialize( ARGPARSE_ARGS *arg, const char *filename, unsigned *lineno ) { - if( !(arg->flags & (1<<15)) ) - { + if( !(arg->flags & (1<<15)) ) + { /* Initialize this instance. */ arg->internal.idx = 0; arg->internal.last = NULL; @@ -167,13 +167,13 @@ initialize( ARGPARSE_ARGS *arg, const char *filename, unsigned *lineno ) if ( *arg->argc < 0 ) jnlib_log_bug ("invalid argument for arg_parsee\n"); } - - + + if (arg->err) { /* Last option was erroneous. */ const char *s; - + if (filename) { if ( arg->r_opt == ARGPARSE_UNEXPECTED_ARG ) @@ -194,10 +194,10 @@ initialize( ARGPARSE_ARGS *arg, const char *filename, unsigned *lineno ) s = _("invalid option"); jnlib_log_error ("%s:%u: %s\n", filename, *lineno, s); } - else + else { s = arg->internal.last? arg->internal.last:"[??]"; - + if ( arg->r_opt == ARGPARSE_MISSING_ARG ) jnlib_log_error (_("missing argument for option \"%.50s\"\n"), s); else if ( arg->r_opt == ARGPARSE_UNEXPECTED_ARG ) @@ -271,10 +271,10 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno, char *buffer = NULL; size_t buflen = 0; int in_alias=0; - + if (!fp) /* Divert to to arg_parse() in this case. */ return arg_parse (arg, opts); - + initialize (arg, filename, lineno); /* Find the next keyword. */ @@ -302,9 +302,9 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno, arg->r_opt = ((opts[idx].flags & ARGPARSE_OPT_COMMAND) ? ARGPARSE_INVALID_COMMAND : ARGPARSE_INVALID_OPTION); - else if (!(opts[idx].flags & 7)) + else if (!(opts[idx].flags & 7)) arg->r_type = 0; /* Does not take an arg. */ - else if ((opts[idx].flags & 8) ) + else if ((opts[idx].flags & 8) ) arg->r_type = 0; /* Arg is optional. */ else arg->r_opt = ARGPARSE_MISSING_ARG; @@ -312,13 +312,13 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno, break; } else if (state == 3) - { + { /* No argument found. */ if (in_alias) arg->r_opt = ARGPARSE_MISSING_ARG; - else if (!(opts[idx].flags & 7)) + else if (!(opts[idx].flags & 7)) arg->r_type = 0; /* Does not take an arg. */ - else if ((opts[idx].flags & 8)) + else if ((opts[idx].flags & 8)) arg->r_type = 0; /* No optional argument. */ else arg->r_opt = ARGPARSE_MISSING_ARG; @@ -328,14 +328,14 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno, else if (state == 4) { /* Has an argument. */ - if (in_alias) + if (in_alias) { if (!buffer) arg->r_opt = ARGPARSE_UNEXPECTED_ARG; - else + else { char *p; - + buffer[i] = 0; p = strpbrk (buffer, " \t"); if (p) @@ -369,13 +369,13 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno, } else buffer[i] = 0; - + if (buffer) { trim_spaces (buffer); p = buffer; if (*p == '"') - { + { /* Remove quotes. */ p++; if (*p && p[strlen(p)-1] == '\"' ) @@ -422,7 +422,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno, in_alias = 1; state = 3; } - else + else { arg->r_opt = ((opts[idx].flags & ARGPARSE_OPT_COMMAND) ? ARGPARSE_INVALID_COMMAND @@ -444,13 +444,13 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno, } } else if (state == 4) - { + { /* Collect the argument. */ if (buffer) { if (i < buflen-1) buffer[i++] = c; - else + else { char *tmp; size_t tmplen = buflen + 50; @@ -472,7 +472,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno, } else if (i < DIM(keyword)-1) keyword[i++] = c; - else + else { size_t tmplen = DIM(keyword) + 50; buffer = jnlib_malloc (tmplen); @@ -494,13 +494,13 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno, arg->r_opt = ARGPARSE_KEYWORD_TOO_LONG; state = -1; /* Skip rest of line and leave. */ } - else + else { keyword[i++] = c; state = 2; } } - + return arg->r_opt; } @@ -562,7 +562,7 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) char **argv; char *s, *s2; int i; - + initialize( arg, NULL, NULL ); argc = *arg->argc; argv = *arg->argv; @@ -573,10 +573,10 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) /* Skip the first argument. */ argc--; argv++; idx++; } - + next_one: - if (!argc) - { + if (!argc) + { /* No more args. */ arg->r_opt = 0; goto leave; /* Ready. */ @@ -585,14 +585,14 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) s = *argv; arg->internal.last = s; - if (arg->internal.stopped && (arg->flags & ARGPARSE_FLAG_ALL)) + if (arg->internal.stopped && (arg->flags & ARGPARSE_FLAG_ALL)) { arg->r_opt = ARGPARSE_IS_ARG; /* Not an option but an argument. */ arg->r_type = 2; arg->r.ret_str = s; argc--; argv++; idx++; /* set to next one */ } - else if( arg->internal.stopped ) + else if( arg->internal.stopped ) { arg->r_opt = 0; goto leave; /* Ready. */ @@ -601,10 +601,10 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) { /* Long option. */ char *argpos; - + arg->internal.inarg = 0; if (!s[2] && !(arg->flags & ARGPARSE_FLAG_NOSTOP)) - { + { /* Stop option processing. */ arg->internal.stopped = 1; argc--; argv++; idx++; @@ -643,7 +643,7 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) fputs ("--dump-options\n--help\n--version\n--warranty\n", stdout); exit (0); } - + if ( i == -2 ) arg->r_opt = ARGPARSE_AMBIGUOUS_OPTION; else if ( i == -1 ) @@ -673,40 +673,40 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) { arg->r_opt = ARGPARSE_MISSING_ARG; } - else if ( !argpos && *s2 == '-' - && (opts[i].flags & ARGPARSE_OPT_OPTIONAL) ) + else if ( !argpos && *s2 == '-' + && (opts[i].flags & ARGPARSE_OPT_OPTIONAL) ) { /* The argument is optional and the next seems to be an option. We do not check this possible option but assume no argument */ arg->r_type = ARGPARSE_TYPE_NONE; } - else + else { set_opt_arg (arg, opts[i].flags, s2); - if ( !argpos ) + if ( !argpos ) { argc--; argv++; idx++; /* Skip one. */ } } } else - { + { /* Does not take an argument. */ if ( argpos ) - arg->r_type = ARGPARSE_UNEXPECTED_ARG; + arg->r_type = ARGPARSE_UNEXPECTED_ARG; else arg->r_type = 0; } argc--; argv++; idx++; /* Set to next one. */ } - else if ( (*s == '-' && s[1]) || arg->internal.inarg ) + else if ( (*s == '-' && s[1]) || arg->internal.inarg ) { /* Short option. */ int dash_kludge = 0; i = 0; - if ( !arg->internal.inarg ) + if ( !arg->internal.inarg ) { arg->internal.inarg++; if ( (arg->flags & ARGPARSE_FLAG_ONEDASH) ) @@ -727,7 +727,7 @@ arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) if ( opts[i].short_opt == *s ) break; } - + if ( !opts[i].short_opt && ( *s == 'h' || *s == '?' ) ) show_help (opts, arg->flags); @@ -837,13 +837,13 @@ long_opt_strlen( ARGPARSE_OPTS *o ) { size_t n = strlen (o->long_opt); - if ( o->description && *o->description == '|' ) + if ( o->description && *o->description == '|' ) { const char *s; #ifdef JNLIB_NEED_UTF8CONV int is_utf8 = is_native_utf8 (); #endif - + s=o->description+1; if ( *s != '=' ) n++; @@ -875,7 +875,7 @@ static void show_help (ARGPARSE_OPTS *opts, unsigned int flags) { const char *s; - + show_version (); putchar ('\n'); s = strusage(41); @@ -904,8 +904,8 @@ show_help (ARGPARSE_OPTS *opts, unsigned int flags) if ( s && *s== '@' && !s[1] ) /* Hide this line. */ continue; if ( s && *s == '@' ) /* Unindented comment only line. */ - { - for (s++; *s; s++ ) + { + for (s++; *s; s++ ) { if ( *s == '\n' ) { @@ -923,9 +923,9 @@ show_help (ARGPARSE_OPTS *opts, unsigned int flags) if ( opts[i].short_opt < 256 ) { printf (" -%c", opts[i].short_opt); - if ( !opts[i].long_opt ) + if ( !opts[i].long_opt ) { - if (s && *s == '|' ) + if (s && *s == '|' ) { putchar (' '); j++; for (s++ ; *s && *s != '|'; s++, j++ ) @@ -937,11 +937,11 @@ show_help (ARGPARSE_OPTS *opts, unsigned int flags) } else fputs(" ", stdout); - if ( opts[i].long_opt ) + if ( opts[i].long_opt ) { j += printf ("%c --%s", opts[i].short_opt < 256?',':' ', opts[i].long_opt ); - if (s && *s == '|' ) + if (s && *s == '|' ) { if ( *++s != '=' ) { @@ -970,7 +970,7 @@ show_help (ARGPARSE_OPTS *opts, unsigned int flags) { if ( *s == '\n' ) { - if ( s[1] ) + if ( s[1] ) { putchar ('\n'); for (j=0; j < indent; j++ ) @@ -987,10 +987,10 @@ show_help (ARGPARSE_OPTS *opts, unsigned int flags) puts ("\n(A single dash may be used instead of the double ones)"); } if ( (s=strusage(19)) ) - { + { /* bug reports to ... */ char *s2; - + putchar('\n'); s2 = strstr (s, "@EMAIL@"); if (s2) @@ -1066,7 +1066,7 @@ usage (int level) putc ('\n', stderr); exit (2); } - else if (level == 2) + else if (level == 2) { puts (strusage(41)); exit (0); @@ -1096,10 +1096,10 @@ const char * strusage( int level ) { const char *p = strusage_handler? strusage_handler(level) : NULL; - + if ( p ) return p; - + switch ( level ) { case 10: p = ("License GPLv3+: GNU GPL version 3 or later " @@ -1107,7 +1107,7 @@ strusage( int level ) break; case 11: p = "foo"; break; case 13: p = "0.0"; break; - case 14: p = "Copyright (C) 2011 Free Software Foundation, Inc."; break; + case 14: p = "Copyright (C) 2012 Free Software Foundation, Inc."; break; case 15: p = "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n"; @@ -1127,7 +1127,7 @@ strusage( int level ) case 40: /* short and long usage */ case 41: p = ""; break; } - + return p; } @@ -1178,7 +1178,7 @@ main(int argc, char **argv) case 'c': opt.crf = pargs.r_type? pargs.r.ret_str:"a.crf"; break; case 'm': opt.myopt = pargs.r_type? pargs.r.ret_int : 1; break; case 500: opt.a_long_one++; break; - default : pargs.err = ARGPARSE_PRINT_WARNING; break; + default : pargs.err = ARGPARSE_PRINT_WARNING; break; } } for(i=0; i < argc; i++ ) |