tVarious fixes about presentation - phroxy - Gopher to HTTP proxy
 (HTM) git clone git://git.z3bra.org/phroxy.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit a44d2079ba256f02068daa7b153d9c87eb2e8160
 (DIR) parent d521a7e51213a29de0e339b7bd9fb1bb04f227df
 (HTM) Author: Willy Goiffon <dev@z3bra.org>
       Date:   Mon, 14 Sep 2020 11:24:01 +0200
       
       Various fixes about presentation
       
       Diffstat:
         M phroxy.c                            |      16 +++++++++-------
       
       1 file changed, 9 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/phroxy.c b/phroxy.c
       t@@ -180,6 +180,8 @@ contenttype(char i)
        {
                switch(i) {
                case '0':
       +                return "text/plain; charset=utf-8";
       +                break; /* NOTREACHED */
                case '1':
                        return "text/html; charset=utf-8";
                        break; /* NOTREACHED */
       t@@ -207,12 +209,12 @@ printheaders(char *ctype)
        }
        
        char *
       -htmlize(char *data, size_t len, size_t *newsize)
       +htmlize(char *data, size_t *htmlsize)
        {
                size_t alen, blen, hlen;
                char *html = NULL;
                char i, *p, *body, a[LINE_MAX], *f[4];
       -        char *fmt = "<a href='gopher://%s:%s/%c/%s'>%s</a><br/>\n";
       +        char *fmt = "<a href='http://%s/%s:%s/%c%s'>%s</a><br/>\n";
        
                blen = 0;
                body = NULL;
       t@@ -231,7 +233,7 @@ htmlize(char *data, size_t len, size_t *newsize)
                                snprintf(a, sizeof(a), "%s<br/>\n", f[0]);
                                break;
                        default:
       -                        snprintf(a, sizeof(a), fmt, f[2], f[3], i, f[1], f[0]);
       +                        snprintf(a, sizeof(a), fmt, http_host, f[2], f[3], i, f[1], f[0]);
                        }
                        alen = strnlen(a, sizeof(a));
                        body = realloc(body, blen + alen);
       t@@ -246,8 +248,8 @@ htmlize(char *data, size_t len, size_t *newsize)
        
                snprintf(html, hlen, htmlfmt, body);
        
       -        if (newsize)
       -                *newsize = hlen;
       +        if (htmlsize)
       +                *htmlsize = hlen;
        
                return html;
        }
       t@@ -259,13 +261,13 @@ serveitem(char item, char *data, size_t len)
                int sent;
        
                switch(item) {
       -         case '0':
                 case '1':
       -                html = htmlize(data, len, &len);
       +                html = htmlize(data, &len);
                        free(data);
                        data = html;
                        break;
        
       +         case '0':
                 case '6':
                 case '9':
                 case 'g':