/* 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.
#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 */
+extern struct iri dummy_iri;
+
#define parse_charset(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 */