]> git.ipfire.org Git - thirdparty/git.git/commitdiff
name-rev.c: use strbuf_getline instead of limited size buffer
authorJohn Cai <johncai86@gmail.com>
Wed, 5 Jan 2022 23:29:32 +0000 (23:29 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 10 Jan 2022 17:39:26 +0000 (09:39 -0800)
Using a buffer limited to 2048 is unnecessarily limiting. Switch to
using a string buffer to read in stdin for annotation.

Signed-off-by: "John Cai" <johncai86@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/name-rev.c

index 8baf5b52d0bd43c7a3886eb889fe143fd85a1e9a..138e3c30a2b997adaf96b1a80d3cee741b8de982 100644 (file)
@@ -623,14 +623,13 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix)
        name_tips();
 
        if (annotate_stdin) {
-               char buffer[2048];
+               struct strbuf sb = STRBUF_INIT;
 
-               while (!feof(stdin)) {
-                       char *p = fgets(buffer, sizeof(buffer), stdin);
-                       if (!p)
-                               break;
-                       name_rev_line(p, &data);
+               while (strbuf_getline(&sb, stdin) != EOF) {
+                       strbuf_addch(&sb, '\n');
+                       name_rev_line(sb.buf, &data);
                }
+               strbuf_release(&sb);
        } else if (all) {
                int i, max;