Re: [PATCH] test-dir-iterator: use path argument directly
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Aug 7, 2019, 13:57 UTC
- Message-ID
- <5d24c373-8e27-e166-3019-4812da68ebf9@gmail.com>
- In-Reply-To
- <7f428974-9218-fa7c-6f3c-3c0db30a7fec@web.de>
On 8/7/2019 7:15 AM, René Scharfe wrote:
Show 31 quoted lines
> 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