]> git.armaanb.net Git - stagit.git/commitdiff
fix joinpath(): use of global 'repodir', should be 'path'
authorHiltjo Posthuma <hiltjo@codemadness.org>
Tue, 3 May 2016 18:42:46 +0000 (20:42 +0200)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Tue, 3 May 2016 18:42:46 +0000 (20:42 +0200)
use joinpath for another case.

stagit-index.c
stagit.c

index d9f322a47898043d1dfbd4de84739b949c35602f..1834d8db5e2775b475928dad5b5946dd1b19ee10 100644 (file)
@@ -30,6 +30,18 @@ pledge(const char *promises, const char *paths[])
 }
 #endif
 
+void
+joinpath(char *buf, size_t bufsiz, const char *path, const char *path2)
+{
+       int r;
+
+       r = snprintf(buf, bufsiz, "%s%s%s",
+               path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2);
+       if (r == -1 || (size_t)r >= bufsiz)
+               errx(1, "path truncated: '%s%s%s'",
+                       path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2);
+}
+
 /* Escape characters below as HTML 2.0 / XML 1.0. */
 void
 xmlencode(FILE *fp, const char *s, size_t len)
@@ -139,18 +151,6 @@ err:
        return ret;
 }
 
-void
-joinpath(char *buf, size_t bufsiz, const char *path, const char *path2)
-{
-       int r;
-
-       r = snprintf(buf, bufsiz, "%s%s%s",
-               repodir, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2);
-       if (r == -1 || (size_t)r >= bufsiz)
-               errx(1, "path truncated: '%s%s%s'",
-                       path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2);
-}
-
 int
 main(int argc, char *argv[])
 {
index 85b782aa9f0762717baac13aeb9e2a936b98f519..434abb8fb359199fdc20b9881a455f8a09f62474 100644 (file)
--- a/stagit.c
+++ b/stagit.c
@@ -76,6 +76,18 @@ pledge(const char *promises, const char *paths[])
 }
 #endif
 
+void
+joinpath(char *buf, size_t bufsiz, const char *path, const char *path2)
+{
+       int r;
+
+       r = snprintf(buf, bufsiz, "%s%s%s",
+               path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2);
+       if (r == -1 || (size_t)r >= bufsiz)
+               errx(1, "path truncated: '%s%s%s'",
+                       path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2);
+}
+
 void
 deltainfo_free(struct deltainfo *di)
 {
@@ -796,17 +808,12 @@ writefilestree(FILE *fp, git_tree *tree, const char *branch, const char *path)
                if (!(entry = git_tree_entry_byindex(tree, i)) ||
                    !(entryname = git_tree_entry_name(entry)))
                        return -1;
-               r = snprintf(entrypath, sizeof(entrypath), "%s%s%s",
-                        path, path[0] ? "/" : "", entryname);
-               if (r == -1 || (size_t)r >= sizeof(entrypath))
-                       errx(1, "path truncated: '%s%s%s'",
-                               path, path[0] ? "/" : "", entryname);
-
-               r = snprintf(filepath, sizeof(filepath), "file/%s%s%s.html",
-                        path, path[0] ? "/" : "", entryname);
+               joinpath(entrypath, sizeof(entrypath), path, entryname);
+
+               r = snprintf(filepath, sizeof(filepath), "file/%s.html",
+                        entrypath);
                if (r == -1 || (size_t)r >= sizeof(filepath))
-                       errx(1, "path truncated: 'file/%s%s%s.html'",
-                               path, path[0] ? "/" : "", entryname);
+                       errx(1, "path truncated: 'file/%s.html'", entrypath);
 
                if (!git_tree_entry_to_object(&obj, repo, entry)) {
                        switch (git_object_type(obj)) {
@@ -990,18 +997,6 @@ err:
        return 0;
 }
 
-void
-joinpath(char *buf, size_t bufsiz, const char *path, const char *path2)
-{
-       int r;
-
-       r = snprintf(buf, bufsiz, "%s%s%s",
-               repodir, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2);
-       if (r == -1 || (size_t)r >= bufsiz)
-               errx(1, "path truncated: '%s%s%s'",
-                       path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2);
-}
-
 void
 usage(char *argv0)
 {