diff options
author | Jeff King <peff@peff.net> | 2018-02-14 13:07:19 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-02-14 10:31:10 -0800 |
commit | 7e8089c986790fd8ef9d89bf71c9a91901d7f884 (patch) | |
tree | 3b9f197733dd32e02db0b12fd297cf422459c4e6 /t/helper/test-hashmap.c | |
parent | cbadf0ee37def5cea81fb7702941af8234dd094d (diff) | |
download | git-7e8089c986790fd8ef9d89bf71c9a91901d7f884.tar.gz |
test-hashmap: use strbuf_getline rather than fgets
Using fgets() with a fixed-size buffer can lead to lines
being accidentally split across two calls if they are larger
than the buffer size.
As this is just a test helper, this is unlikely to be a
problem in practice. But since people may look at test
helpers as reference code, it's a good idea for them to
model the preferred behavior.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/helper/test-hashmap.c')
-rw-r--r-- | t/helper/test-hashmap.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/t/helper/test-hashmap.c b/t/helper/test-hashmap.c index 28b913fbd6..15fc4e372f 100644 --- a/t/helper/test-hashmap.c +++ b/t/helper/test-hashmap.c @@ -1,5 +1,6 @@ #include "git-compat-util.h" #include "hashmap.h" +#include "strbuf.h" struct test_entry { @@ -143,7 +144,7 @@ static void perf_hashmap(unsigned int method, unsigned int rounds) */ int cmd_main(int argc, const char **argv) { - char line[1024]; + struct strbuf line = STRBUF_INIT; struct hashmap map; int icase; @@ -152,13 +153,13 @@ int cmd_main(int argc, const char **argv) hashmap_init(&map, test_entry_cmp, &icase, 0); /* process commands from stdin */ - while (fgets(line, sizeof(line), stdin)) { + while (strbuf_getline(&line, stdin) != EOF) { char *cmd, *p1 = NULL, *p2 = NULL; int l1 = 0, l2 = 0, hash = 0; struct test_entry *entry; /* break line into command and up to two parameters */ - cmd = strtok(line, DELIM); + cmd = strtok(line.buf, DELIM); /* ignore empty lines */ if (!cmd || *cmd == '#') continue; @@ -262,6 +263,7 @@ int cmd_main(int argc, const char **argv) } } + strbuf_release(&line); hashmap_free(&map, 1); return 0; } |