1. 23 Jun, 2014 2 commits
    • Douglas Bagnall's avatar
      opt: add an int decrementing helper function · 63b00556
      Douglas Bagnall authored
      opt_dec_intval decrements an int value, just as opt_inc_intval
      increments.
      
      There is not much more to say, other than it allows this
      kind of thing, with balanced opposing options:
      
          static int opt_verbosity = 0;
          static struct opt_table options[] = {
                  OPT_WITHOUT_ARG("-q|--quiet", opt_dec_intval,
                                  &opt_verbosity, "print less"),
                  OPT_WITHOUT_ARG("-v|--verbose", opt_inc_intval,
                                  &opt_verbosity, "print more"),
                  OPT_ENDTABLE
          };
      
      which is an occasionally seen idiom.  It allows, e.g., people who like
      quiet to use `alias foo='foo -q'`, while letting them get back to
      normal and verbose modes with various amounts of '-v's.
      Signed-off-by: default avatarDouglas Bagnall <douglas@halo.gen.nz>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      63b00556
    • Douglas Bagnall's avatar
      opt: always initialise values in set_llong_with_suffix() · b377324e
      Douglas Bagnall authored
      The helper API functions based on set_llong_with_suffix() left the
      value uninitialised in the case of an empty string argument. This is
      quite unlikely to have caused problem in practice, as most values will
      have already been set to a default and the non-NULL error message
      should have triggered an early exit or some other emergency action.
      Nevertheless, it caused a compiler warning on some minor version of
      GCC 4.8 which I no longer seem to have, and the complaint seemed
      reasonable at the time.
      
      If an empty string (or any other non-numeric value) is passed to
      strtoll(), the result is zero. As far as I know, the strtoll() call is
      only short-circuited here to form a more specific error message, not
      because there is a good reason for the empty string to be a special
      non-initialising case. So let's set it to zero.
      Signed-off-by: default avatarDouglas Bagnall <douglas@halo.gen.nz>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      b377324e
  2. 22 Jun, 2014 1 commit
  3. 21 Jun, 2014 3 commits
  4. 16 Jun, 2014 4 commits
  5. 13 Jun, 2014 2 commits
  6. 12 Jun, 2014 1 commit
  7. 10 Jun, 2014 21 commits
  8. 04 Jun, 2014 2 commits
  9. 02 Jun, 2014 1 commit
  10. 27 May, 2014 3 commits