X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib/blobdiff_plain/d16e1bacb6473e14398ef81b6d2379f982f43969..c2168cf64919e11d6ed71bb3477a75bcefd89cf6:/url.c diff --git a/url.c b/url.c index 75b6ff9..532a052 100644 --- a/url.c +++ b/url.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: url.c,v 1.2 1999/09/03 08:02:05 mdw Exp $ + * $Id: url.c,v 1.4 2001/06/22 19:36:18 mdw Exp $ * * Parsing and construction of url-encoded name/value pairs * @@ -30,6 +30,12 @@ /*----- Revision history --------------------------------------------------* * * $Log: url.c,v $ + * Revision 1.4 2001/06/22 19:36:18 mdw + * Include @@. + * + * Revision 1.3 2001/01/20 12:06:21 mdw + * Be more conservative in base-64 encoding. + * * Revision 1.2 1999/09/03 08:02:05 mdw * Make `#' a special character which needs escaping. * @@ -40,6 +46,7 @@ /*----- Header files ------------------------------------------------------*/ +#include #include #include #include @@ -81,15 +88,10 @@ static void encode(dstr *d, const char *p) DPUTC(d, '+'); break; default: - if (*p >= 33 && *p < 127) + if (isalnum((unsigned char)*p)) DPUTC(d, *p); else - case '&': - case '+': - case '=': - case '%': - case '#': - dstr_putf(d, "%%%02x", *p); + dstr_putf(d, "%%%02x", *p); break; } p++;