X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Firi.h;h=e759e456329837c5a85392f8003b97c7c2117d26;hp=4488501da40a57e6c8932b8c2b4115bd01e47727;hb=HEAD;hpb=3b8b1b82d66a826d178b37b52dd9d158a5bb2ddc diff --git a/src/iri.h b/src/iri.h index 4488501d..e759e456 100644 --- a/src/iri.h +++ b/src/iri.h @@ -1,5 +1,5 @@ /* Internationalization related declarations. - Copyright (C) 2000, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GNU Wget. @@ -30,21 +30,44 @@ as that of the covered work. */ #ifndef IRI_H #define IRI_H +struct iri { + char *uri_encoding; /* Encoding of the uri to fetch */ + char *content_encoding; /* Encoding of links inside the fetched file */ + char *orig_url; /* */ + bool utf8_encode; /* Will/Is the current url encoded in utf8 */ +}; + #ifdef ENABLE_IRI char *parse_charset (char *str); char *find_locale (void); bool check_encoding_name (char *encoding); const char *locale_to_utf8 (const char *str); -char *idn_encode (char *host); +char *idn_encode (struct iri *i, char *host); +char *idn_decode (char *host); +bool remote_to_utf8 (struct iri *i, const char *str, const char **new); +struct iri *iri_new (void); +struct iri *iri_dup (const struct iri *); +void iri_free (struct iri *i); +void set_uri_encoding (struct iri *i, char *charset, bool force); +void set_content_encoding (struct iri *i, char *charset); #else /* ENABLE_IRI */ -#define parse_charset(str) NULL +extern struct iri dummy_iri; + +#define parse_charset(str) (str, NULL) #define find_locale() NULL #define check_encoding_name(str) false #define locale_to_utf8(str) (str) -#define idn_encode(str) NULL +#define idn_encode(a,b) NULL +#define idn_decode(str) NULL +#define remote_to_utf8(a,b,c) false +#define iri_new() (&dummy_iri) +#define iri_dup(a) (&dummy_iri) +#define iri_free(a) +#define set_uri_encoding(a,b,c) +#define set_content_encoding(a,b) #endif /* ENABLE_IRI */ #endif /* IRI_H */