From ede4982f67f54904a1be6de77c6db033d56b0a34 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Wed, 6 Jan 2016 20:00:38 +0100 Subject: strip .git suffix from name also free stripped_name in the case of stagit-index --- stagit.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'stagit.c') diff --git a/stagit.c b/stagit.c index 7cab210..f20f227 100644 --- 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) "\n\n" "\n" "\n", fp); - 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=\"32\" height=\"32\" /></a>", 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\n", fp); - + xmlencode(fp, stripped_name, strlen(stripped_name)); + fputs(", branch HEAD\n", fp); xmlencode(fp, description, strlen(description)); fputs("\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", -- cgit v1.2.3