Re: [PATCH 3/7] refactor argv_array into generic code
- From
Jeff King <peff@peff.net>
- Date
- Sep 14, 2011, 23:18 UTC
- Message-ID
- <20110914231804.GB5611@sigill.intra.peff.net>
- In-Reply-To
- <CAP8UFD1vxP9ABgJpM99hxDWWLeGO_QW7QLVFq1f-teu1fiCftA@mail.gmail.com>
On Wed, Sep 14, 2011 at 07:54:48AM +0200, Christian Couder wrote:
> In sha1-array you called the "push" function "sha1_array_append" > instead of "sha1_array_push", so I wonder why here you call them > "*_push*" instead of "*_append*"?
I dunno. It just seemed natural to write "push" in the context of argv. Maybe too much perl (push, pop, shift, unshift).
argv_array_append does make sense. One could argue that sha1_array_append actually doesn't. True, it does append to the end of the array, but after writing the docs for it yesterday, I realized that it less of an array, and more of a set container. Because the point of using it is the optimized lookup/unique function, which is going to sort it. The array is really just an implementation detail.
So arguably it should be "struct sha1_set", and "sha1_set_insert" or something. I'm not sure if it's really worth changing (because this is C, our data structures tend to be a little leaky, anyway, and you _can_ use sha1_array as an ordered list if you want; just don't call the lookup or sorting functions).
-Peff