tChange formatting to show link types - phroxy - Gopher to HTTP proxy
(HTM) git clone git://git.z3bra.org/phroxy.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 813a41fdb0d7fe01d316f02ac1f3774fedc2cacc
(DIR) parent dfc1f827663825fec6794c8849751ecdfe3553b5
(HTM) Author: Willy Goiffon <dev@z3bra.org>
Date: Tue, 15 Sep 2020 11:05:28 +0200
Change formatting to show link types
Diffstat:
M phroxy.c | 32 ++++++++++++++++++++++++++++---
1 file changed, 29 insertions(+), 3 deletions(-)
---
(DIR) diff --git a/phroxy.c b/phroxy.c
t@@ -203,6 +203,30 @@ contenttype(char i)
return NULL;
}
+char *
+itemname(char i)
+{
+ switch(i) {
+ case '0': return "TXT";
+ case '1': return "DIR";
+ case '2': return "CSO";
+ case '3': return "ERR";
+ case '4': return "MAC";
+ case '5': return "WIN";
+ case '6': return "UUE";
+ case '7': return "QRY";
+ case '8': return "TNT";
+ case '9': return "BIN";
+ case 'I': return "IMG";
+ case 'g': return "GIF";
+ case 'h': return "URL";
+ case 's': return "SND";
+ }
+
+ return NULL;
+}
+
+
void
printheaders(char *ctype)
{
t@@ -224,7 +248,8 @@ htmlize(char *data, size_t *bodysize)
size_t alen, blen;
char *body = NULL;
char i, *p, a[LINE_MAX], *f[4];
- char *fmt = "<a href='http://%s/%s:%s/%c%s'>%s</a>\n";
+ char *ifmt = "%s\n";
+ char *afmt = "<a href='http://%s/%s:%s/%c%s'>%s (%s)</a>\n";
blen = 0;
body = NULL;
t@@ -243,12 +268,13 @@ htmlize(char *data, size_t *bodysize)
f[3] = strsep(&p, "\r");
if (!f[1])
continue;
+
switch(i) {
case 'i':
- snprintf(a, sizeof(a), "%s\n", f[0]);
+ snprintf(a, sizeof(a), ifmt, f[0]);
break;
default:
- snprintf(a, sizeof(a), fmt, http_host, f[2], f[3], i, f[1], f[0]);
+ snprintf(a, sizeof(a), afmt, http_host, f[2], f[3], i, f[1], f[0], itemname(i));
}
alen = strnlen(a, sizeof(a));