X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Furl.h;h=8e92d7c57f3365f93304a3ff17c65cc5f4e4c411;hb=d1a5b69d490ce61a0f41db08263580487720bf2f;hp=a9c4449876646fccff0dfc8766e54505d53ecb74;hpb=d63e6f9f94894e6dca41a6a6a510fcc14eae58ac;p=libucw.git diff --git a/lib/url.h b/lib/url.h index a9c44498..8e92d7c5 100644 --- a/lib/url.h +++ b/lib/url.h @@ -1,5 +1,5 @@ /* - * Sherlock Library -- URL Functions + * UCW Library -- URL Functions * * (c) 1997--2004 Martin Mares * (c) 2001 Robert Spalek @@ -8,8 +8,8 @@ * of the GNU Lesser General Public License. */ -#ifndef _SHERLOCK_URL_H -#define _SHERLOCK_URL_H +#ifndef _UCW_URL_H +#define _UCW_URL_H #define MAX_URL_SIZE 1024 @@ -29,8 +29,9 @@ /* Remove/Introduce '%' escapes */ -int url_deescape(byte *, byte *); -int url_enescape(byte *, byte *); +int url_deescape(byte *s, byte *d); +int url_enescape(byte *s, byte *d); +int url_enescape_friendly(byte *src, byte *dest); // for cards.c only /* URL splitting and normalization */ @@ -45,15 +46,21 @@ struct url { byte *buf, *bufend; }; -int url_split(byte *, struct url *, byte *); -int url_normalize(struct url *, struct url *); -int url_canonicalize(struct url *); -int url_pack(struct url *, byte *); -int url_canon_split(byte *, byte *, byte *, struct url *); -int url_auto_canonicalize(byte *, byte *); -uns identify_protocol(byte *); +int url_split(byte *s, struct url *u, byte *d); +int url_normalize(struct url *u, struct url *b); +int url_canonicalize(struct url *u); +int url_pack(struct url *u, byte *d); +int url_canon_split_rel(byte *url, byte *buf1, byte *buf2, struct url *u, struct url *base); +int url_auto_canonicalize_rel(byte *src, byte *dst, struct url *base); +uns identify_protocol(byte *p); int url_has_repeated_component(byte *url); +static inline int url_canon_split(byte *url, byte *buf1, byte *buf2, struct url *u) +{ return url_canon_split_rel(url, buf1, buf2, u, NULL); } + +static inline int url_auto_canonicalize(byte *src, byte *dst) +{ return url_auto_canonicalize_rel(src, dst, NULL); } + /* Error codes */ char *url_error(uns);