summaryrefslogtreecommitdiff
path: root/builtin/name-rev.c
diff options
context:
space:
mode:
authorJohn Cai <johncai86@gmail.com>2022-01-05 23:29:32 (GMT)
committerJunio C Hamano <gitster@pobox.com>2022-01-10 17:39:26 (GMT)
commita2585719b347b57a4fb61a4ed24301cfa3cf19a7 (patch)
treed90692bec41e86edce64b57fb4ddf1f36792dfe0 /builtin/name-rev.c
parent34ae3b707146c05d27cf744e58f95a25a31b3499 (diff)
downloadgit-a2585719b347b57a4fb61a4ed24301cfa3cf19a7.zip
git-a2585719b347b57a4fb61a4ed24301cfa3cf19a7.tar.gz
git-a2585719b347b57a4fb61a4ed24301cfa3cf19a7.tar.bz2
name-rev.c: use strbuf_getline instead of limited size buffer
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>
Diffstat (limited to 'builtin/name-rev.c')
-rw-r--r--builtin/name-rev.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/builtin/name-rev.c b/builtin/name-rev.c
index 8baf5b5..138e3c3 100644
--- a/builtin/name-rev.c
+++ b/builtin/name-rev.c
@@ -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;