Re: [PATCH v3 2/5] strvec: add a strvec_pushvec()
From: Junio C Hamano <hidden>
Date: 2021-08-29 23:54:52
Jeff King [off-list ref] writes:
I think we'd want the patch below. It can be applied independently (though if we do take the index-iterating version of Ævar's patch, I think it should switch to size_t).
Yeah, I do not see a strong need for _pushvec(), especially the variant that does not preallocate, when we have _pushv(). But the type fix below does make sense.
quoted hunk
-- >8 -- Subject: [PATCH] strvec: use size_t to store nr and alloc We converted argv_array (which later became strvec) to use size_t in 819f0e76b1 (argv-array: use size_t for count and alloc, 2020-07-28) in order to avoid the possibility of integer overflow. But later, commit d70a9eb611 (strvec: rename struct fields, 2020-07-28) accidentally converted these back to ints! Those two commits were part of the same patch series. I'm pretty sure what happened is that they were originally written in the opposite order and then cleaned up and re-ordered during an interactive rebase. And when resolving the inevitable conflict, I mistakenly took the "rename" patch completely, accidentally dropping the type change. We can correct it now; better late than never. Signed-off-by: Jeff King <redacted> --- strvec.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/strvec.h b/strvec.h index fdcad75b45..6b3cbd6758 100644 --- a/strvec.h +++ b/strvec.h@@ -29,8 +29,8 @@ extern const char *empty_strvec[]; */ struct strvec { const char **v; - int nr; - int alloc; + size_t nr; + size_t alloc; }; #define STRVEC_INIT { empty_strvec, 0, 0 }