Merge branch 'mh/path-max'
authorJunio C Hamano <gitster@pobox.com>
Fri, 10 Jan 2014 18:32:21 +0000 (10:32 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 10 Jan 2014 18:32:21 +0000 (10:32 -0800)
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

1  2 
builtin/prune.c
diff --cc builtin/prune.c
index a85ef54d5aeb679067c7f3ad428439886a162362,5bd3d199eb9df15618a59e0ca01901f8bc6839f6..beb0dc942c1263ecf4aa5ab87b10520f481ebe43
@@@ -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);
  }