summaryrefslogtreecommitdiff
path: root/url.h
diff options
context:
space:
mode:
Diffstat (limited to 'url.h')
-rw-r--r--url.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/url.h b/url.h
index f311c40..2a27c34 100644
--- a/url.h
+++ b/url.h
@@ -3,14 +3,22 @@
struct strbuf;
-extern int is_url(const char *url);
-extern int is_urlschemechar(int first_flag, int ch);
-extern char *url_decode(const char *url);
-extern char *url_decode_mem(const char *url, int len);
-extern char *url_decode_parameter_name(const char **query);
-extern char *url_decode_parameter_value(const char **query);
+int is_url(const char *url);
+int is_urlschemechar(int first_flag, int ch);
+char *url_decode(const char *url);
+char *url_decode_mem(const char *url, int len);
-extern void end_url_with_slash(struct strbuf *buf, const char *url);
-extern void str_end_url_with_slash(const char *url, char **dest);
+/*
+ * Similar to the url_decode_{,mem} methods above, but doesn't assume there
+ * is a scheme followed by a : at the start of the string. Instead, %-sequences
+ * before any : are also parsed.
+ */
+char *url_percent_decode(const char *encoded);
+
+char *url_decode_parameter_name(const char **query);
+char *url_decode_parameter_value(const char **query);
+
+void end_url_with_slash(struct strbuf *buf, const char *url);
+void str_end_url_with_slash(const char *url, char **dest);
#endif /* URL_H */