chiark / gitweb /
Document new interrogation macros. Fix text a bit.
[mLib] / url.c
diff --git a/url.c b/url.c
index 75b6ff9872de4d0de5e1a7dd9a55a2df4ee4b1c8..d21242f61b829a29f08b2bc5be5acc9b22730fd5 100644 (file)
--- 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.3 2001/01/20 12:06:21 mdw Exp $
  *
  * Parsing and construction of url-encoded name/value pairs
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: url.c,v $
+ * 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.
  *
@@ -81,15 +84,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++;