• Show log

    Commit

  • Hash : ac04bdf6
    Author : Ramsay Jones
    Date : 2009-06-04T16:44:54

    Fix a usage error in a call to the object_file_name() function
    
    In 82324ac, the new static function exists_loose() called
    object_file_name() and, in order to detect an error return,
    tested for a negative value. This usage is incorrect, as
    the error return is indicated by a positive return value.
    (A successful call is indicated by a zero return value)
    
    The only error return from object_file_name() relates to
    insufficient buffer space and the return value gives the
    required minimum buffer size (which will always be >0).
    
    If the caller requires a dynamically allocated buffer,
    this allows something like the following call sequence:
    
        size_t len = object_file_name(NULL, 0, db->object_dir, id);
        char *buf = git__malloc(len);
        if (!buf)
            error(...);
        object_file_name(buf, len, db->object_dir,id);
        ...
    
    No current callers take advantage of this capability.
    
    Fix up the call site and change the return type of the
    function, from int to size_t, which more accurately
    reflects the implementation.
    
    Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
    Signed-off-by: Andreas Ericsson <ae@op5.se>