Introduction
Introduction Statistics Contact Development Disclaimer Help
tmake printshowfile more generic and like other functions - stagit - static git…
git clone git://src.adamsgaard.dk/stagit
Log
Files
Refs
README
LICENSE
---
commit 5578784dda58fd79556bdc937e64f179d7ce5ea9
parent ce535ae1afda4af825cc81af9b4f32a5dd09d73b
Author: Hiltjo Posthuma <[email protected]>
Date: Tue, 23 Feb 2016 20:37:17 +0100
make printshowfile more generic and like other functions
Diffstat:
M TODO | 2 ++
M stagit.c | 29 ++++++++++++++---------------
2 files changed, 16 insertions(+), 15 deletions(-)
---
diff --git a/TODO b/TODO
t@@ -1,3 +1,5 @@
+check path truncation? snprintf(), strlcpy.
+
performance:
- optimize git_diff_get_stats.
- speed up generating files.
diff --git a/stagit.c b/stagit.c
t@@ -340,7 +340,7 @@ printcommit(FILE *fp, struct commitinfo *ci)
}
void
-printshowfile(struct commitinfo *ci)
+printshowfile(FILE *fp, struct commitinfo *ci)
{
const git_diff_delta *delta;
const git_diff_hunk *hunk;
t@@ -348,18 +348,8 @@ printshowfile(struct commitinfo *ci)
git_patch *patch;
git_buf statsbuf;
size_t ndeltas, nhunks, nhunklines;
- FILE *fp;
size_t i, j, k;
- char path[PATH_MAX];
- snprintf(path, sizeof(path), "commit/%s.html", ci->oid);
- /* check if file exists if so skip it */
- if (!access(path, F_OK))
- return;
-
- fp = efopen(path, "w");
- writeheader(fp);
- fputs("<pre>", fp);
printcommit(fp, ci);
memset(&statsbuf, 0, sizeof(statsbuf));
t@@ -424,9 +414,6 @@ printshowfile(struct commitinfo *ci)
}
git_buf_free(&statsbuf);
- fputs("</pre>\n", fp);
- writefooter(fp);
- fclose(fp);
return;
}
t@@ -437,6 +424,8 @@ writelog(FILE *fp, const git_oid *oid)
git_revwalk *w = NULL;
git_oid id;
size_t len;
+ char path[PATH_MAX];
+ FILE *fpfile;
git_revwalk_new(&w, repo);
git_revwalk_push(w, oid);
t@@ -479,8 +468,18 @@ writelog(FILE *fp, const git_oid *oid)
fputs("</td></tr>\n", fp);
relpath = "../";
- printshowfile(ci);
+ snprintf(path, sizeof(path), "commit/%s.html", ci->oid);
+ /* check if file exists if so skip it */
+ if (access(path, F_OK)) {
+ fpfile = efopen(path, "w");
+ writeheader(fpfile);
+ fputs("<pre>", fpfile);
+ printshowfile(fpfile, ci);
+ fputs("</pre>\n", fpfile);
+ writefooter(fpfile);
+ fclose(fpfile);
+ }
commitinfo_free(ci);
}
fputs("</tbody></table>", fp);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.