use the new escaping style in geomyidae for links - stagit-gopher - A git gopher frontend. (mirror)
HTML git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/
DIR Log
DIR Files
DIR Refs
DIR Tags
DIR README
DIR LICENSE
---
DIR commit dc940cae641026d49ef94d021d7a335c5b3689b3
DIR parent a67bac151fe0a30eccfcf6593f1666d0995085db
HTML Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Tue, 26 Jul 2022 23:53:30 +0200
use the new escaping style in geomyidae for links
[| is now skipped. Escape entries only if needed, cleaning up the output a bit.
Lines starting with 't' don't need to be escaped.
Diffstat:
M stagit-gopher-index.c | 3 ++-
M stagit-gopher.c | 15 +++++++++------
2 files changed, 11 insertions(+), 7 deletions(-)
---
DIR diff --git a/stagit-gopher-index.c b/stagit-gopher-index.c
@@ -173,7 +173,8 @@ void
writeheader(FILE *fp)
{
if (description[0]) {
- putchar('t');
+ if (description[0] == '[')
+ fputs("[|", fp);
gphtext(fp, description, strlen(description));
fputs("\n\n", fp);
}
DIR diff --git a/stagit-gopher.c b/stagit-gopher.c
@@ -463,9 +463,9 @@ gphtextnl(FILE *fp, const char *s, size_t len)
size_t i, n = 0;
for (i = 0; s[i] && i < len; i++) {
- /* escape with 't' at the start of a line */
- if (!n && (s[i] == 't' || s[i] == '['))
- putc('t', fp);
+ /* escape '[' with "[|" at the start of a line */
+ if (!n && s[i] == '[')
+ fputs("[|", fp);
switch (s[i]) {
case '\t': fputs(" ", fp);
@@ -592,7 +592,8 @@ printtimeshort(FILE *fp, const git_time *intime)
void
writeheader(FILE *fp, const char *title)
{
- putc('t', fp);
+ if (title[0] == '[')
+ fputs("[|", fp);
gphtext(fp, title, strlen(title));
if (title[0] && strippedname[0])
fputs(" - ", fp);
@@ -795,7 +796,8 @@ printshowfile(FILE *fp, struct commitinfo *ci)
if (git_patch_get_hunk(&hunk, &nhunklines, patch, j))
break;
- putc('t', fp);
+ if (hunk->header_len > 0 && hunk->header[0] == '[')
+ fputs("[|", fp);
gphtext(fp, hunk->header, hunk->header_len);
putc('\n', fp);
@@ -1024,7 +1026,8 @@ writeblob(git_object *obj, const char *fpath, const char *filename, size_t files
fp = efopen(fpath, "w");
writeheader(fp, filename);
- putc('t', fp);
+ if (filename[0] == '[')
+ fputs("[|", fp);
gphtext(fp, filename, strlen(filename));
fprintf(fp, " (%zuB)\n", filesize);
fputs("---\n", fp);