strip .git suffix from name - stagit-gopher - A git gopher frontend. (mirror) | |
git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2h… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
LICENSE | |
--- | |
commit ede4982f67f54904a1be6de77c6db033d56b0a34 | |
parent db02820a175c43cf1c225928bc09dd3fd5d93d71 | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Wed, 6 Jan 2016 20:00:38 +0100 | |
strip .git suffix from name | |
also free stripped_name in the case of stagit-index | |
Diffstat: | |
M stagit-index.c | 14 +++++++------- | |
M stagit.c | 23 ++++++++++++++--------- | |
2 files changed, 21 insertions(+), 16 deletions(-) | |
--- | |
diff --git a/stagit-index.c b/stagit-index.c | |
@@ -118,13 +118,13 @@ writeheader(FILE *fp) | |
int | |
writefooter(FILE *fp) | |
{ | |
- return !fputs("</tbody></table></div></body>\n</html>", fp); | |
+ return !fputs("</tbody>\n</table>\n</div>\n</body>\n</html>\n", fp); | |
} | |
int | |
writelog(FILE *fp) | |
{ | |
- char *stripped_name, *p; | |
+ char *stripped_name = NULL, *p; | |
git_commit *commit = NULL; | |
const git_signature *author; | |
git_revwalk *w = NULL; | |
@@ -144,18 +144,17 @@ writelog(FILE *fp) | |
author = git_commit_author(commit); | |
- fputs("<tr><td><a href=\"", fp); | |
- xmlencode(fp, name, strlen(name)); | |
- fputs("/log.html\">", fp); | |
- | |
/* strip .git suffix */ | |
if (!(stripped_name = strdup(name))) | |
err(1, "strdup"); | |
if ((p = strrchr(stripped_name, '.'))) | |
if (!strcmp(p, ".git")) | |
*p = '\0'; | |
- xmlencode(fp, stripped_name, strlen(stripped_name)); | |
+ fputs("<tr><td><a href=\"", fp); | |
+ xmlencode(fp, stripped_name, strlen(stripped_name)); | |
+ fputs("/log.html\">", fp); | |
+ xmlencode(fp, stripped_name, strlen(stripped_name)); | |
fputs("</a></td><td>", fp); | |
xmlencode(fp, description, strlen(description)); | |
fputs("</td><td>", fp); | |
@@ -168,6 +167,7 @@ writelog(FILE *fp) | |
git_commit_free(commit); | |
err: | |
git_revwalk_free(w); | |
+ free(stripped_name); | |
return ret; | |
} | |
diff --git a/stagit.c b/stagit.c | |
@@ -42,7 +42,8 @@ static git_repository *repo; | |
static const char *relpath = ""; | |
static const char *repodir; | |
-static char name[255]; | |
+static char *name; | |
+static char *stripped_name; | |
static char description[255]; | |
static char cloneurl[1024]; | |
static int hasreadme, haslicense; | |
@@ -239,7 +240,7 @@ writeheader(FILE *fp) | |
"<html dir=\"ltr\" lang=\"en\">\n<head>\n" | |
"<meta http-equiv=\"Content-Type\" content=\"text/html; charse… | |
"<meta http-equiv=\"Content-Language\" content=\"en\" />\n<tit… | |
- xmlencode(fp, name, strlen(name)); | |
+ xmlencode(fp, stripped_name, strlen(stripped_name)); | |
if (description[0]) | |
fputs(" - ", fp); | |
xmlencode(fp, description, strlen(description)); | |
@@ -251,7 +252,7 @@ writeheader(FILE *fp) | |
fprintf(fp, "<a href=\"../%s\"><img src=\"%slogo.png\" alt=\"\" width=… | |
relpath, relpath); | |
fputs("</td><td><h1>", fp); | |
- xmlencode(fp, name, strlen(name)); | |
+ xmlencode(fp, stripped_name, strlen(stripped_name)); | |
fputs("</h1><span class=\"desc\">", fp); | |
xmlencode(fp, description, strlen(description)); | |
fputs("</span></td></tr>", fp); | |
@@ -553,9 +554,8 @@ 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, name, strlen(name)); | |
- fputs(", branch master</title>\n<subtitle>", fp); | |
- | |
+ xmlencode(fp, stripped_name, strlen(stripped_name)); | |
+ fputs(", branch HEAD</title>\n<subtitle>", fp); | |
xmlencode(fp, description, strlen(description)); | |
fputs("</subtitle>\n", fp); | |
@@ -914,9 +914,14 @@ main(int argc, char *argv[]) | |
} | |
/* use directory name as name */ | |
- p = xbasename(repodir); | |
- snprintf(name, sizeof(name), "%s", p); | |
- free(p); | |
+ name = xbasename(repodir); | |
+ | |
+ /* strip .git suffix */ | |
+ if (!(stripped_name = strdup(name))) | |
+ err(1, "strdup"); | |
+ if ((p = strrchr(stripped_name, '.'))) | |
+ if (!strcmp(p, ".git")) | |
+ *p = '\0'; | |
/* read description or .git/description */ | |
snprintf(path, sizeof(path), "%s%s%s", |