]> git.ipfire.org Git - thirdparty/git.git/commitdiff
strbuf: avoid redundant reset in strbuf_getwholeline()
authorRené Scharfe <l.s.r@web.de>
Tue, 14 Jul 2026 08:45:59 +0000 (10:45 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 14 Jul 2026 16:35:02 +0000 (09:35 -0700)
The HAVE_GETDELIM variant of strbuf_getwholeline() calls strbuf_reset()
on the strbuf before handing it over to getdelim(3).  This is
unnecessary:

  - getdelim(3) doesn't care whether the old buffer contents is
    NUL-terminated and has no access to ->len,
  - on success getdelim(3) NUL-terminates the buffer and we set ->len,
  - on error we either call strbuf_init() or strbuf_reset().

Remove the superfluous preparatory call.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
strbuf.c

index 764b629927f0ce22a49588f31ee58e49f2dd1c8b..44955669e8c50413ae66e0e819502cbff59bd6e5 100644 (file)
--- a/strbuf.c
+++ b/strbuf.c
@@ -646,8 +646,6 @@ int strbuf_getwholeline(struct strbuf *sb, FILE *fp, int term)
        if (feof(fp))
                return EOF;
 
-       strbuf_reset(sb);
-
        /* Translate slopbuf to NULL, as we cannot call realloc on it */
        if (!sb->alloc)
                sb->buf = NULL;