• P
    parse-options: make some arguments optional, add callbacks. · ffe659f9
    Pierre Habouzit 提交于
    * add the possibility to use callbacks to parse some options, this can
      help implementing new options kinds with great flexibility. struct option
      gains a callback pointer and a `defval' where callbacks user can put
      either integers or pointers. callbacks also can use the `value' pointer
      for anything, preferably to the pointer to the final storage for the value
      though.
    
    * add a `flag' member to struct option to make explicit that this option may
      have an optional argument. The semantics depends on the option type. For
      INTEGERS, it means that if the switch is not used in its
      --long-form=<value> form, and that there is no token after it or that the
      token does not starts with a digit, then it's assumed that the switch has
      no argument. For STRING or CALLBACK it works the same, except that the
      condition is that the next atom starts with a dash. This is needed to
      implement backward compatible behaviour with existing ways to parse the
      command line. Its use for new options is discouraged.
    Signed-off-by: NPierre Habouzit <madcoder@debian.org>
    Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
    ffe659f9
parse-options.c 6.0 KB