code cleanup - stagit-gopher - A git gopher frontend. (mirror) | |
git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2h… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
LICENSE | |
--- | |
commit 9328d2690e118127bcaa5cf9f665d8e7711f7a03 | |
parent 069f105725677ce2784d3d0def156c3115c9e330 | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Tue, 3 May 2016 20:18:37 +0200 | |
code cleanup | |
Diffstat: | |
M stagit-index.c | 8 +++----- | |
M stagit.c | 61 +++++++++--------------------… | |
2 files changed, 21 insertions(+), 48 deletions(-) | |
--- | |
diff --git a/stagit-index.c b/stagit-index.c | |
@@ -62,7 +62,7 @@ printtimeshort(FILE *fp, const git_time *intime) | |
fputs(out, fp); | |
} | |
-int | |
+void | |
writeheader(FILE *fp) | |
{ | |
fputs("<!DOCTYPE html>\n" | |
@@ -80,14 +80,12 @@ writeheader(FILE *fp) | |
"<table id=\"index\"><thead>\n" | |
"<tr><td>Name</td><td>Description</td><td>Owner</td><td>Last com… | |
"</thead><tbody>\n", fp); | |
- | |
- return 0; | |
} | |
-int | |
+void | |
writefooter(FILE *fp) | |
{ | |
- return !fputs("</tbody>\n</table>\n</div>\n</body>\n</html>\n", fp); | |
+ fputs("</tbody>\n</table>\n</div>\n</body>\n</html>\n", fp); | |
} | |
int | |
diff --git a/stagit.c b/stagit.c | |
@@ -57,7 +57,7 @@ static const char *relpath = ""; | |
static const char *repodir; | |
static char *name = ""; | |
-static char *stripped_name; | |
+static char *strippedname; | |
static char description[255]; | |
static char cloneurl[1024]; | |
static int haslicense, hasreadme, hassubmodules; | |
@@ -246,27 +246,6 @@ xmlencode(FILE *fp, const char *s, size_t len) | |
} | |
} | |
-/* Some implementations of dirname(3) return a pointer to a static | |
- * internal buffer (OpenBSD). Others modify the contents of `path` (POSIX). | |
- * This is a wrapper function that is compatible with both versions. | |
- * The program will error out if dirname(3) failed, this can only happen | |
- * with the OpenBSD version. */ | |
-char * | |
-xdirname(const char *path) | |
-{ | |
- char *p, *b; | |
- | |
- if (!(p = strdup(path))) | |
- err(1, "strdup"); | |
- if (!(b = dirname(p))) | |
- err(1, "dirname"); | |
- if (!(b = strdup(b))) | |
- err(1, "strdup"); | |
- free(p); | |
- | |
- return b; | |
-} | |
- | |
int | |
mkdirp(const char *path) | |
{ | |
@@ -335,7 +314,7 @@ printtimeshort(FILE *fp, const git_time *intime) | |
fputs(out, fp); | |
} | |
-int | |
+void | |
writeheader(FILE *fp, const char *title) | |
{ | |
fputs("<!DOCTYPE html>\n" | |
@@ -343,9 +322,9 @@ writeheader(FILE *fp, const char *title) | |
"<meta http-equiv=\"Content-Type\" content=\"text/html; charse… | |
"<meta http-equiv=\"Content-Language\" content=\"en\" />\n<tit… | |
xmlencode(fp, title, strlen(title)); | |
- if (title[0] && stripped_name[0]) | |
+ if (title[0] && strippedname[0]) | |
fputs(" - ", fp); | |
- xmlencode(fp, stripped_name, strlen(stripped_name)); | |
+ xmlencode(fp, strippedname, strlen(strippedname)); | |
if (description[0]) | |
fputs(" - ", fp); | |
xmlencode(fp, description, strlen(description)); | |
@@ -357,7 +336,7 @@ writeheader(FILE *fp, const char *title) | |
fprintf(fp, "<a href=\"../%s\"><img src=\"%slogo.png\" alt=\"\" width=… | |
relpath, relpath); | |
fputs("</td><td><h1>", fp); | |
- xmlencode(fp, stripped_name, strlen(stripped_name)); | |
+ xmlencode(fp, strippedname, strlen(strippedname)); | |
fputs("</h1><span class=\"desc\">", fp); | |
xmlencode(fp, description, strlen(description)); | |
fputs("</span></td></tr>", fp); | |
@@ -379,14 +358,12 @@ writeheader(FILE *fp, const char *title) | |
if (haslicense) | |
fprintf(fp, " | <a href=\"%sfile/LICENSE.html\">LICENSE</a>", … | |
fputs("</td></tr></table>\n<hr/>\n<div id=\"content\">\n", fp); | |
- | |
- return 0; | |
} | |
-int | |
+void | |
writefooter(FILE *fp) | |
{ | |
- return !fputs("</div>\n</body>\n</html>\n", fp); | |
+ fputs("</div>\n</body>\n</html>\n", fp); | |
} | |
int | |
@@ -693,7 +670,7 @@ writeatom(FILE *fp) | |
fputs("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" | |
"<feed xmlns=\"http://www.w3.org/2005/Atom\">\n<title>", fp); | |
- xmlencode(fp, stripped_name, strlen(stripped_name)); | |
+ xmlencode(fp, strippedname, strlen(strippedname)); | |
fputs(", branch HEAD</title>\n<subtitle>", fp); | |
xmlencode(fp, description, strlen(description)); | |
fputs("</subtitle>\n", fp); | |
@@ -724,15 +701,14 @@ writeblob(git_object *obj, const char *fpath, const char … | |
int lc = 0; | |
FILE *fp; | |
- d = xdirname(fpath); | |
- if (mkdirp(d)) { | |
- free(d); | |
+ if (strlcpy(tmp, fpath, sizeof(tmp)) >= sizeof(tmp)) | |
+ errx(1, "path truncated: '%s'", fpath); | |
+ if (!(d = dirname(tmp))) | |
+ err(1, "dirname"); | |
+ if (mkdirp(d)) | |
return -1; | |
- } | |
- free(d); | |
- p = fpath; | |
- while (*p) { | |
+ for (p = fpath; *p; p++) { | |
if (*p == '/' && strlcat(tmp, "../", sizeof(tmp)) >= sizeof(tm… | |
errx(1, "path truncated: '../%s'", tmp); | |
p++; | |
@@ -1087,9 +1063,9 @@ main(int argc, char *argv[]) | |
name = ""; | |
/* strip .git suffix */ | |
- if (!(stripped_name = strdup(name))) | |
+ if (!(strippedname = strdup(name))) | |
err(1, "strdup"); | |
- if ((p = strrchr(stripped_name, '.'))) | |
+ if ((p = strrchr(strippedname, '.'))) | |
if (!strcmp(p, ".git")) | |
*p = '\0'; | |
@@ -1162,9 +1138,8 @@ main(int argc, char *argv[]) | |
n = fread(buf, 1, sizeof(buf), rcachefp); | |
if (ferror(rcachefp)) | |
err(1, "fread"); | |
- if (fwrite(buf, 1, n, fp) != n) | |
- err(1, "fwrite"); | |
- if (fwrite(buf, 1, n, wcachefp) != n) | |
+ if (fwrite(buf, 1, n, fp) != n || | |
+ fwrite(buf, 1, n, wcachefp) != n) | |
err(1, "fwrite"); | |
} | |
fclose(rcachefp); |