• P
    Add a simple option parser. · 4a59fd13
    Pierre Habouzit 提交于
    The option parser takes argc, argv, an array of struct option
    and a usage string.  Each of the struct option elements in the array
    describes a valid option, its type and a pointer to the location where the
    value is written.  The entry point is parse_options(), which scans through
    the given argv, and matches each option there against the list of valid
    options.  During the scan, argv is rewritten to only contain the
    non-option command line arguments and the number of these is returned.
    
    Aggregation of single switches is allowed:
      -rC0 is the same as -r -C 0 (supposing that -C wants an arg).
    
    Every long option automatically support the option with the same name,
    prefixed with 'no-' to unset the switch. It assumes that initial value for
    strings are "NULL" and for integers is "0".
    
    Long options are supported either with '=' or without:
      --some-option=foo is the same as --some-option foo
    Acked-by: NKristian Høgsberg <krh@redhat.com>
    Signed-off-by: NPierre Habouzit <madcoder@debian.org>
    Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
    4a59fd13
parse-options.c 3.7 KB