Commit Graph

4 Commits

Author SHA1 Message Date
Russell Belfer
72ee078762 Isolate khash inlines from global namespace
khash.h was globally #define'ing "inline" which messes with
other files.  Let's keep it as "kh_inline".
2012-07-12 11:49:15 -07:00
Russell Belfer
821f6bc740 Fix Win32 warnings 2012-04-26 13:04:54 -07:00
Russell Belfer
01fed0a8f9 Convert hashtable usage over to khash
This updates khash.h with some extra features (like error checking
on allocations, ability to use wrapped malloc, foreach calls, etc),
creates two high-level wrappers around khash: `git_khash_str` and
`git_khash_oid` for string-to-void-ptr and oid-to-void-ptr tables,
then converts all of the old usage of `git_hashtable` over to use
these new hashtables.

For `git_khash_str`, I've tried to create a set of macros that
yield an API not too unlike the old `git_hashtable` API.  Since
the oid hashtable is only used in one file, I haven't bother to
set up all those macros and just use the khash APIs directly for
now.
2012-04-25 11:18:08 -07:00
Russell Belfer
ada488bfe7 Import khash.h from attractivechaos/klib 2012-04-25 11:14:34 -07:00