On Wed, Dec 18, 2013 at 1:43 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Duy Nguyen <pclouds@xxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html