1. 07 12月, 2000 2 次提交
  2. 06 12月, 2000 15 次提交
  3. 05 12月, 2000 12 次提交
  4. 04 12月, 2000 6 次提交
  5. 03 12月, 2000 5 次提交
    • B
      Fix warnings. · b0dc680f
      Ben Laurie 提交于
      b0dc680f
    • B
      include <limits.h> · addb309a
      Bodo Möller 提交于
      addb309a
    • B
      Don't allow BIGNUMs to become so large that computations with dmax · 152a689c
      Bodo Möller 提交于
      might overflow.
      152a689c
    • G
      Use the new LHASH macros to declare type-safe wrapper functions that can · 35a99b63
      Geoff Thorpe 提交于
      be used as the hash/compare callbacks without function pointer casting.
      
      For now, this is just happening in the apps/ directory whilst a few people
      check the approach. The rest of the library will be moved across to the
      same idea if there's no problems with this.
      35a99b63
    • G
      Next step in tidying up the LHASH code. This commit defines DECLARE and · dfa46e50
      Geoff Thorpe 提交于
      IMPLEMENT macros for defining wrapper functions for "hash" and "cmp" callbacks
      that are specific to the underlying item type in a hash-table. This prevents
      function pointer casting altogether, and also provides some type-safety
      because the macro does per-variable casting from the (void *) type used in
      LHASH itself to the type declared in the macro - and if that doesn't match the
      prototype expected by the "hash" or "cmp" function then a compiler error will
      result.
      
      NB: IMPLEMENT macros are not required unless predeclared forms are required
      (either in a header file, or further up in a C file than the implementation
      needs to be). The DECLARE macros must occur after the type-specific hash/cmp
      callbacks are declared. Also, the IMPLEMENT and DECLARE macros are such that
      they can be prefixed with "static" if desired and a trailing semi-colon should
      be appended (making it look more like a regular declaration and easier on
      auto-formatting text-editors too).
      
      Now that these macros are defined, I will next be commiting changes to a
      number of places in the library where the casting was doing bad things. After
      that, the final step will be to make the analogous changes for the lh_doall
      and lh_doall_arg functions (more specifically, their callback parameters).
      dfa46e50