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
> ---
> 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