On Wed, Dec 18, 2013 at 1:43 AM, Junio C Hamano <[email protected]> wrote:
> Duy Nguyen <[email protected]> writes:
>
>> Why don't we take this opportunity to replace that array with a
>> strbuf? The conversion looks simple with this function.
>
> Indeed. Something like this, perhaps?
Yes, looking good.
> void prune_packed_objects(int opts)
> {
> int i;
> - static char pathname[PATH_MAX];
> const char *dir = get_object_directory();
> - int len = strlen(dir);
> + struct strbuf pathname = STRBUF_INIT;
> + int top_len;
>
> + strbuf_addstr(&pathname, dir);
> if (opts & PRUNE_PACKED_VERBOSE)
> progress = start_progress_delay("Removing duplicate objects",
> 256, 95, 2);
>
> - if (len > PATH_MAX - 42)
> - die("impossible object directory");
> - memcpy(pathname, dir, len);
> - if (len && pathname[len-1] != '/')
> - pathname[len++] = '/';
> + if (pathname.len && pathname.buf[pathname.len - 1] != '/')
> + strbuf_addch(&pathname, '/');
I see this pattern (add a trailing slash) in a few places too. Maybe
we could make a wrapper for it.
--
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html