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

Reply via email to