Message ID | 7f428974-9218-fa7c-6f3c-3c0db30a7fec@web.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | test-dir-iterator: use path argument directly | expand |
On 8/7/2019 7:15 AM, René Scharfe wrote: > Avoid allocating and leaking a strbuf for holding a verbatim copy of the > path argument and pass the latter directly to dir_iterator_begin() > instead. > > Signed-off-by: René Scharfe <l.s.r@web.de> > --- > This test helper was added after v2.22.0 (2019-06-07) by 150791adbf > (dir-iterator: add tests for dir-iterator API, 2019-07-10). > > t/helper/test-dir-iterator.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/t/helper/test-dir-iterator.c b/t/helper/test-dir-iterator.c > index c7c30664da..659b6bfa81 100644 > --- a/t/helper/test-dir-iterator.c > +++ b/t/helper/test-dir-iterator.c > @@ -19,7 +19,6 @@ static const char *error_name(int error_number) > */ > int cmd__dir_iterator(int argc, const char **argv) > { > - struct strbuf path = STRBUF_INIT; > struct dir_iterator *diter; > unsigned int flags = 0; > int iter_status; > @@ -36,8 +35,7 @@ int cmd__dir_iterator(int argc, const char **argv) > if (!*argv || argc != 1) > die("dir-iterator needs exactly one non-option argument"); > > - strbuf_add(&path, *argv, strlen(*argv)); > - diter = dir_iterator_begin(path.buf, flags); > + diter = dir_iterator_begin(*argv, flags); LGTM. I had a minor brain fart regarding the type of *argv and how the const plays in, but dir_iterator_begin takes a "const char *" so this is safe. Thanks, -Stolee
diff --git a/t/helper/test-dir-iterator.c b/t/helper/test-dir-iterator.c index c7c30664da..659b6bfa81 100644 --- a/t/helper/test-dir-iterator.c +++ b/t/helper/test-dir-iterator.c @@ -19,7 +19,6 @@ static const char *error_name(int error_number) */ int cmd__dir_iterator(int argc, const char **argv) { - struct strbuf path = STRBUF_INIT; struct dir_iterator *diter; unsigned int flags = 0; int iter_status; @@ -36,8 +35,7 @@ int cmd__dir_iterator(int argc, const char **argv) if (!*argv || argc != 1) die("dir-iterator needs exactly one non-option argument"); - strbuf_add(&path, *argv, strlen(*argv)); - diter = dir_iterator_begin(path.buf, flags); + diter = dir_iterator_begin(*argv, flags); if (!diter) { printf("dir_iterator_begin failure: %s\n", error_name(errno));
Avoid allocating and leaking a strbuf for holding a verbatim copy of the path argument and pass the latter directly to dir_iterator_begin() instead. Signed-off-by: René Scharfe <l.s.r@web.de> --- This test helper was added after v2.22.0 (2019-06-07) by 150791adbf (dir-iterator: add tests for dir-iterator API, 2019-07-10). t/helper/test-dir-iterator.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- 2.22.0