|
|
escape gph in paths - stagit-gopher - static git page generator for gopher |
|
|
 |
git clone git://git.codemadness.org/stagit-gopher (git://git.codemadness.org) |
|
|
 |
Log |
|
|
 |
Files |
|
|
 |
Refs |
|
|
 |
README |
|
|
 |
LICENSE |
|
|
|
--- |
|
|
 |
commit c37c488c222ae62fa82edecd2391e5dd76de1e23 |
|
|
 |
parent f8a73285fa1ba57d5815a9c365db13772896ad19 |
|
|
 |
Author: Hiltjo Posthuma <hiltjo@codemadness.org> (mailto://) |
application/vnd.lotus-organizer |
|
|
Date: Sun, 17 Mar 2019 15:19:54 +0100 |
|
|
|
|
|
|
|
escape gph in paths |
|
|
|
|
|
|
|
- escape paths in diff line. |
|
|
|
- escape path in directory selector in files.gph |
|
|
|
|
|
|
|
Diffstat: |
|
|
|
M stagit-gopher.c | 13 +++++++++---- |
|
|
|
|
|
|
|
1 file changed, 9 insertions(+), 4 deletions(-) |
|
|
|
--- |
|
|
 |
diff --git a/stagit-gopher.c b/stagit-gopher.c |
|
|
|
@@ -636,9 +636,13 @@ printshowfile(FILE *fp, struct commitinfo *ci) |
|
|
|
patch = ci->deltas[i]->patch; |
|
|
|
delta = git_patch_get_delta(patch); |
|
|
|
/* NOTE: only links to new path */ |
|
|
|
- fprintf(fp, "[1|diff --git a/%s b/%s", |
|
|
|
- delta->old_file.path, delta->new_file.path); |
|
|
|
- fprintf(fp, "|%s/file/%s.gph|server|port]\n", relpath, delta->new_file.path); |
|
|
|
+ fputs("[1|diff --git a/", fp); |
|
|
|
+ gphlink(fp, delta->old_file.path, strlen(delta->old_file.path)); |
|
|
|
+ fputs(" b/", fp); |
|
|
|
+ gphlink(fp, delta->new_file.path, strlen(delta->new_file.path)); |
|
|
|
+ fprintf(fp, "|%s/file/", relpath); |
|
|
|
+ gphlink(fp, delta->new_file.path, strlen(delta->new_file.path)); |
|
|
|
+ fputs(".gph|server|port]\n", fp); |
|
|
|
|
|
|
|
/* check binary data */ |
|
|
|
if (delta->flags & GIT_DIFF_FLAG_BINARY) { |
|
|
|
@@ -968,7 +972,8 @@ writefilestree(FILE *fp, git_tree *tree, const char *path) |
|
|
|
fprintf(fp, "%7dL", lc); |
|
|
|
else |
|
|
|
fprintf(fp, "%7juB", (uintmax_t)filesize); |
|
|
|
- fprintf(fp, "|%s/%s", relpath, filepath); |
|
|
|
+ fprintf(fp, "|%s/", relpath); |
|
|
|
+ gphlink(fp, filepath, strlen(filepath)); |
|
|
|
fputs("|server|port]\n", fp); |
|
|
|
git_object_free(obj); |
|
|
|
} else if (!git_submodule_lookup(&module, repo, entryname)) { |
|