From: Junio C Hamano Date: Fri, 10 Jan 2014 18:32:21 +0000 (-0800) Subject: Merge branch 'mh/path-max' X-Git-Tag: v1.9-rc0~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=061614b309453e98cba5dcc8f922d7bef791451d;p=thirdparty%2Fgit.git Merge branch 'mh/path-max' A few places where we relied on a fixed length buffer to hold pathnames in these two programs have been converted to use strbuf. * mh/path-max: builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX prune-packed: use strbuf to avoid having to worry about PATH_MAX --- 061614b309453e98cba5dcc8f922d7bef791451d diff --cc builtin/prune.c index a85ef54d5a,5bd3d199eb..beb0dc942c --- a/builtin/prune.c +++ b/builtin/prune.c @@@ -77,14 -76,18 +76,18 @@@ static int prune_dir(int i, struct strb if (lookup_object(sha1)) continue; - prune_object(path, de->d_name, sha1); + strbuf_addf(path, "/%s", de->d_name); + prune_object(path->buf, sha1); + strbuf_setlen(path, baselen); continue; } - if (!prefixcmp(de->d_name, "tmp_obj_")) { + if (starts_with(de->d_name, "tmp_obj_")) { - prune_tmp_object(path, de->d_name); + strbuf_addf(path, "/%s", de->d_name); + prune_tmp_file(path->buf); + strbuf_setlen(path, baselen); continue; } - fprintf(stderr, "bad sha1 file: %s/%s\n", path, de->d_name); + fprintf(stderr, "bad sha1 file: %s/%s\n", path->buf, de->d_name); } closedir(dir); if (!show_only) @@@ -119,8 -129,8 +129,8 @@@ static void remove_temporary_files(cons return; } while ((de = readdir(dir)) != NULL) - if (!prefixcmp(de->d_name, "tmp_")) + if (starts_with(de->d_name, "tmp_")) - prune_tmp_object(path, de->d_name); + prune_tmp_file(mkpath("%s/%s", path, de->d_name)); closedir(dir); }