• Show log

    Commit

  • Hash : 97769280
    Author : Russell Belfer
    Date : 2011-11-30T11:27:15

    Use git_buf for path storage instead of stack-based buffers
    
    This converts virtually all of the places that allocate GIT_PATH_MAX
    buffers on the stack for manipulating paths to use git_buf objects
    instead.  The patch is pretty careful not to touch the public API
    for libgit2, so there are a few places that still use GIT_PATH_MAX.
    
    This extends and changes some details of the git_buf implementation
    to add a couple of extra functions and to make error handling easier.
    
    This includes serious alterations to all the path.c functions, and
    several of the fileops.c ones, too.  Also, there are a number of new
    functions that parallel existing ones except that use a git_buf
    instead of a stack-based buffer (such as git_config_find_global_r
    that exists alongsize git_config_find_global).
    
    This also modifies the win32 version of p_realpath to allocate whatever
    buffer size is needed to accommodate the realpath instead of hardcoding
    a GIT_PATH_MAX limit, but that change needs to be tested still.