imake printshowfile more generic and like other functions - stagit-gopher - A git gopher frontend. (mirror) Err bitreich.org 70 hgit clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ URL:git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ bitreich.org 70 1Log /scm/stagit-gopher/log.gph bitreich.org 70 1Files /scm/stagit-gopher/files.gph bitreich.org 70 1Refs /scm/stagit-gopher/refs.gph bitreich.org 70 1Tags /scm/stagit-gopher/tag bitreich.org 70 1README /scm/stagit-gopher/file/README.gph bitreich.org 70 1LICENSE /scm/stagit-gopher/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 5578784dda58fd79556bdc937e64f179d7ce5ea9 /scm/stagit-gopher/commit/5578784dda58fd79556bdc937e64f179d7ce5ea9.gph bitreich.org 70 1parent ce535ae1afda4af825cc81af9b4f32a5dd09d73b /scm/stagit-gopher/commit/ce535ae1afda4af825cc81af9b4f32a5dd09d73b.gph bitreich.org 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org bitreich.org 70 iDate: Tue, 23 Feb 2016 20:37:17 +0100 Err bitreich.org 70 i Err bitreich.org 70 imake printshowfile more generic and like other functions Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M TODO | 2 ++ Err bitreich.org 70 i M stagit.c | 29 ++++++++++++++--------------- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 16 insertions(+), 15 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/TODO b/TODO /scm/stagit-gopher/file/TODO.gph bitreich.org 70 i@@ -1,3 +1,5 @@ Err bitreich.org 70 i+check path truncation? snprintf(), strlcpy. Err bitreich.org 70 i+ Err bitreich.org 70 i performance: Err bitreich.org 70 i - optimize git_diff_get_stats. Err bitreich.org 70 i - speed up generating files. Err bitreich.org 70 1diff --git a/stagit.c b/stagit.c /scm/stagit-gopher/file/stagit.c.gph bitreich.org 70 i@@ -340,7 +340,7 @@ printcommit(FILE *fp, struct commitinfo *ci) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i void Err bitreich.org 70 i-printshowfile(struct commitinfo *ci) Err bitreich.org 70 i+printshowfile(FILE *fp, struct commitinfo *ci) Err bitreich.org 70 i { Err bitreich.org 70 i const git_diff_delta *delta; Err bitreich.org 70 i const git_diff_hunk *hunk; Err bitreich.org 70 i@@ -348,18 +348,8 @@ printshowfile(struct commitinfo *ci) Err bitreich.org 70 i git_patch *patch; Err bitreich.org 70 i git_buf statsbuf; Err bitreich.org 70 i size_t ndeltas, nhunks, nhunklines; Err bitreich.org 70 i- FILE *fp; Err bitreich.org 70 i size_t i, j, k; Err bitreich.org 70 i- char path[PATH_MAX]; Err bitreich.org 70 i Err bitreich.org 70 i- snprintf(path, sizeof(path), "commit/%s.html", ci->oid); Err bitreich.org 70 i- /* check if file exists if so skip it */ Err bitreich.org 70 i- if (!access(path, F_OK)) Err bitreich.org 70 i- return; Err bitreich.org 70 i- Err bitreich.org 70 i- fp = efopen(path, "w"); Err bitreich.org 70 i- writeheader(fp); Err bitreich.org 70 i- fputs("
", fp);	Err	bitreich.org	70
i         printcommit(fp, ci);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         memset(&statsbuf, 0, sizeof(statsbuf));	Err	bitreich.org	70
i@@ -424,9 +414,6 @@ printshowfile(struct commitinfo *ci)	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         git_buf_free(&statsbuf);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        fputs("
\n", fp); Err bitreich.org 70 i- writefooter(fp); Err bitreich.org 70 i- fclose(fp); Err bitreich.org 70 i return; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -437,6 +424,8 @@ writelog(FILE *fp, const git_oid *oid) Err bitreich.org 70 i git_revwalk *w = NULL; Err bitreich.org 70 i git_oid id; Err bitreich.org 70 i size_t len; Err bitreich.org 70 i+ char path[PATH_MAX]; Err bitreich.org 70 i+ FILE *fpfile; Err bitreich.org 70 i Err bitreich.org 70 i git_revwalk_new(&w, repo); Err bitreich.org 70 i git_revwalk_push(w, oid); Err bitreich.org 70 i@@ -479,8 +468,18 @@ writelog(FILE *fp, const git_oid *oid) Err bitreich.org 70 i fputs("\n", fp); Err bitreich.org 70 i Err bitreich.org 70 i relpath = "../"; Err bitreich.org 70 i- printshowfile(ci); Err bitreich.org 70 i Err bitreich.org 70 i+ snprintf(path, sizeof(path), "commit/%s.html", ci->oid); Err bitreich.org 70 i+ /* check if file exists if so skip it */ Err bitreich.org 70 i+ if (access(path, F_OK)) { Err bitreich.org 70 i+ fpfile = efopen(path, "w"); Err bitreich.org 70 i+ writeheader(fpfile); Err bitreich.org 70 i+ fputs("
", fpfile);	Err	bitreich.org	70
i+                        printshowfile(fpfile, ci);	Err	bitreich.org	70
i+                        fputs("
\n", fpfile); Err bitreich.org 70 i+ writefooter(fpfile); Err bitreich.org 70 i+ fclose(fpfile); Err bitreich.org 70 i+ } Err bitreich.org 70 i commitinfo_free(ci); Err bitreich.org 70 i } Err bitreich.org 70 i fputs("", fp); Err bitreich.org 70 .