Skip to content
  • Junio C Hamano's avatar
    apply --whitespace=fix: avoid running over the postimage buffer · 250b3c6c
    Junio C Hamano authored
    Originally update-pre-post-images could assume that any whitespace
    fixing will make the result only shorter by unexpanding runs of
    leading SPs into HTs and removing trailing whitespaces at the end of
    lines.  Updating the post-image we read from the patch to match the
    actual result can be performed in-place under this assumption.
    These days, however, we have tab-in-indent (aka Python) rule whose
    result can be longer than the original, and we do need to allocate
    a larger buffer than the input and replace the result.
    
    Fortunately the support for lengthening rewrite was already added
    when we began supporting "match while ignoring whitespace
    differences" mode in 86c91f91
    
     (git apply: option to ignore
    whitespace differences, 2009-08-04).  We only need to correctly
    count the number of bytes necessary to hold the updated result and
    tell the function to allocate a new buffer.
    
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    250b3c6c