]> pd.if.org Git - zpackage/blobdiff - crypto/rfc3986.re
send full encoded queries
[zpackage] / crypto / rfc3986.re
index feaf49ac0340942c92700db180b867c49ce4d61b..ce7ce8a9c2b63e8ccd36c674fc37c811397d2d82 100644 (file)
@@ -20,7 +20,9 @@ struct tls_uri {
        char *host;
        char *port;
        char *path;
+       char *encoded_path;
        char *query;
+       char *encoded_query;
        char *fragment;
 };
 
@@ -202,6 +204,13 @@ int tls_parse_uri(char *s, struct tls_uri *uri) {
                }
        }
 
+       if (uri->path) {
+               uri->encoded_path = strdup(uri->path);
+       }
+       if (uri->query) {
+               uri->encoded_query = strdup(uri->query);
+       }
+       
        percent_decode(uri->host);
        percent_decode(uri->path);
        percent_decode(uri->query);
@@ -230,5 +239,8 @@ void tls_free_uri(struct tls_uri *uri) {
        uri->scheme = 0;
        free(uri->fragment);
        uri->fragment = 0;
-       
+       free(uri->encoded_path);
+       uri->encoded_path = 0;
+       free(uri->encoded_query);
+       uri->encoded_query = 0;
 }