Skip to content
  • Jeff King's avatar
    pass st.st_size as hint for strbuf_readlink() · 765b496d
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    When we initially added the strbuf_readlink() function in
    b11b7e13
    
     (Add generic 'strbuf_readlink()' helper function,
    2008-12-17), the point was that we generally have a _guess_
    as to the correct size based on the stat information, but we
    can't necessarily trust it.
    
    Over the years, a few callers have grown up that simply pass
    in 0, even though they have the stat information. Let's have
    them pass in their hint for consistency (and in theory
    efficiency, since it may avoid an extra resize/syscall loop,
    but neither location is probably performance critical).
    
    Note that st.st_size is actually an off_t, so in theory we
    need xsize_t() here. But none of the other callsites use it,
    and since this is just a hint, it doesn't matter either way
    (if we wrap we'll simply start with a too-small hint and
    then eventually complain when we cannot allocate the
    memory).
    
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    765b496d