1. 13 Jul, 2018 1 commit
    • treewide: avoid use of `inline` attribute · f347a441
      ISO C90 does not specify the `inline` attribute, and as such we cannot
      use it in our code. While we already use `__inline` when building in
      Microsoft Visual Studio, we should also be using the `__inline__`
      attribute from GCC/Clang. Otherwise, if we're using neither MSVC nor
      GCC/Clang, we should simply avoid using `inline` at all and just define
      functions as static.
      
      This commit adjusts our own `GIT_INLINE` macro as well as the inline
      macros specified by khash and xdiff. This allows us to enable strict C90
      mode in a later commit.
      Patrick Steinhardt committed
  2. 10 Jul, 2015 1 commit
  3. 13 Feb, 2015 2 commits
  4. 12 Jul, 2012 1 commit
  5. 26 Apr, 2012 1 commit
  6. 25 Apr, 2012 2 commits
    • Convert hashtable usage over to khash · 01fed0a8
      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.
      Russell Belfer committed