1. 19 Jan, 2019 4 commits
  2. 14 Jan, 2019 1 commit
  3. 11 Jan, 2019 2 commits
  4. 10 Jan, 2019 4 commits
  5. 09 Jan, 2019 3 commits
  6. 08 Jan, 2019 1 commit
  7. 07 Jan, 2019 1 commit
  8. 04 Jan, 2019 6 commits
  9. 03 Jan, 2019 2 commits
  10. 02 Jan, 2019 2 commits
    • global: move init callbacks into an array · b46c3594
      We currently have an explicit callchain of all the initialization
      callbacks in our `init_common` function. This is perfectly fine, but
      requires us to manually keep track of how many shutdown callbacks there
      may be installed: to avoid allocations before libgit2 is fully
      initialized, we assume that every initializer may register at most one
      shutdown function. These shutdown functions are stored in a static array
      of size `MAX_SHUTDOWN_CB`, which then needs to be updated manually
      whenever a new initializer function is being added.
      
      The situation can be easily fixed: convert the callchain of init
      functions into an array and iterate over it to initialize all
      subsystems. This allows us to define the `git__shutdown_callbacks` array
      with the same size as the initializer array and rids us of the need to
      always update `MAX_SHUTDOWN_CB`.
      Patrick Steinhardt committed
    • hash: convert `global_init` macros to real function · 03dc6480
      The `git_hash_global_init` function is simply defined as a macro to zero
      for most of the different hash implementations. This makes it impossible
      to treat it like a function pointer, which is required for a later
      commit where we want to improve the way global initialization works.
      Fix the issue by converting all no-op macros to an inline function
      returning zero.
      
      There's a small gotcha here, though: as most hash implementations only
      have a header file, but not a corresponding implementation file, we
      cannot declare the function as non-static. But declaring it as `static
      inline` fails, too, as there is a previous declaration as non-static. So
      we have to move the function declaration after the include that brings
      in the function definition, as it is allowed to have a non-static
      declaration after a static definition, but not the other way round.
      Patrick Steinhardt committed
  11. 19 Dec, 2018 5 commits
  12. 14 Dec, 2018 3 commits
  13. 06 Dec, 2018 2 commits
  14. 05 Dec, 2018 1 commit
  15. 04 Dec, 2018 3 commits