logo

stagit

STAtic GIT web view generator (in C) git clone https://hacktivis.me/git/stagit.git
commit: 1b4f30ba2e66133139f225cb536ba2c6ed62ff36
parent a0dbff9161f92990ff07e8728ad07dfe16c3aef1
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Mon,  7 Dec 2015 21:35:18 +0100

cleanup + some better error handling

Diffstat:

Murmoms.c22++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/urmoms.c b/urmoms.c @@ -37,7 +37,6 @@ writeheader(FILE *fp) relpath, name, description); fprintf(fp, "<a href=\"%slog.html\">Log</a> | ", relpath); fprintf(fp, "<a href=\"%sfiles.html\">Files</a>", relpath); - /*fprintf(fp, "| <a href=\"%sstats.html\">Stats</a>", relpath);*/ if (hasreadme) fprintf(fp, " | <a href=\"%sreadme.html\">README</a>", relpath); if (haslicense) @@ -212,12 +211,14 @@ printshowfile(git_commit *commit) git_diff *diff = NULL; git_diff_stats *diffstats = NULL; git_buf diffstatsbuf; + FILE *fp; size_t i, j, k, ndeltas, nhunks = 0, nhunklines = 0; char buf[GIT_OID_HEXSZ + 1], path[PATH_MAX]; - FILE *fp; int error; git_oid_tostr(buf, sizeof(buf), git_commit_id(commit)); + if (!buf[0]) + return; snprintf(path, sizeof(path), "commit/%s.html", buf); /* check if file exists if so skip it */ if (!access(path, F_OK)) @@ -334,11 +335,11 @@ writelog(FILE *fp) git_oid id; git_commit *commit = NULL; const git_signature *author; - git_diff_stats *stats; + git_diff_stats *stats = NULL; git_tree *commit_tree = NULL, *parent_tree = NULL; git_commit *parent = NULL; git_diff *diff = NULL; - size_t i, nfiles, ndel, nadd; + size_t nfiles, ndel, nadd; const char *summary; char buf[GIT_OID_HEXSZ + 1]; int error, ret = 0; @@ -349,14 +350,9 @@ writelog(FILE *fp) git_revwalk_push_head(w); /* TODO: also make "expanded" log ? (with message body) */ - i = 0; /* DEBUG: to limit commits */ fputs("<table><thead>\n<tr><td>Commit message</td><td>Author</td><td align=\"right\">Age</td>" "<td align=\"right\">Files</td><td align=\"right\">+</td><td align=\"right\">-</td></tr>\n</thead><tbody>\n", fp); while (!git_revwalk_next(&id, w)) { - /* DEBUG */ -/* if (i++ > 100) - break;*/ - relpath = ""; if (git_commit_lookup(&commit, repo, &id)) { @@ -367,16 +363,16 @@ writelog(FILE *fp) goto errdiff; /* TODO: handle error */ if (!(error = git_commit_parent(&parent, commit, 0))) { if ((error = git_commit_tree(&parent_tree, parent))) - goto errdiff; /* TODO: handle error */ + goto errdiff; } else { parent = NULL; parent_tree = NULL; } if ((error = git_diff_tree_to_tree(&diff, repo, parent_tree, commit_tree, NULL))) - continue; /* TODO: handle error */ + goto errdiff; if (git_diff_get_stats(&stats, diff)) - continue; /* TODO: handle error */ + goto errdiff; git_oid_tostr(buf, sizeof(buf), git_commit_id(commit)); @@ -413,6 +409,8 @@ writelog(FILE *fp) printshowfile(commit); errdiff: + /* TODO: print error ? */ + git_diff_stats_free(stats); git_diff_free(diff); git_commit_free(commit); }