On Wed, Dec 18, 2013 at 1:43 AM, Junio C Hamano <gits...@pobox.com> wrote:
> Duy Nguyen <pclo...@gmail.com> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to