• Show log

    Commit

  • Hash : 9865cd16
    Author : Patrick Steinhardt
    Date : 2018-03-20T14:23:49

    alloc: make memory allocators use function pointers
    
    Currently, our memory allocators are being redirected to the correct
    implementation at compile time by simply using macros. In order to make
    them swappable at runtime, this commit reshuffles that by instead making
    use of a global "git_allocator" structure, whose pointers are set up to
    reference the allocator functions. Like this, it becomes easy to swap
    out allocators by simply setting these function pointers.
    
    In order to initialize a "git_allocator", our provided allocators
    "stdalloc" and "crtdbg" both provide an init function. This is being
    called to initialize a passed in allocator struct and set up its members
    correctly.
    
    No support is yet included to enable users of libgit2 to switch out the
    memory allocator at a global level.