summaryrefslogtreecommitdiff
path: root/utils/utf8.h
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2005-06-07 21:29:26 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2005-06-07 21:29:26 +0000
commit0bcfdbeb50b2435b848ea1fd50ccc79ba64fd129 (patch)
treeb24749b82e3e4f840f7ecfd7f2fcdfc5bd26a291 /utils/utf8.h
parentbe6a75509d4abdd1ddc9742780e1a80e33f53917 (diff)
downloadnetsurf-0bcfdbeb50b2435b848ea1fd50ccc79ba64fd129.tar.gz
netsurf-0bcfdbeb50b2435b848ea1fd50ccc79ba64fd129.tar.bz2
[project @ 2005-06-07 21:29:26 by jmb]
Lose cnv_str_local_enc and friends. UTF-8 conversion functions now return an enumerated type allowing for fallbacks, if appropriate. svn path=/import/netsurf/; revision=1744
Diffstat (limited to 'utils/utf8.h')
-rw-r--r--utils/utf8.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/utils/utf8.h b/utils/utf8.h
index 02ff0322d..56d2534a5 100644
--- a/utils/utf8.h
+++ b/utils/utf8.h
@@ -12,6 +12,12 @@
#ifndef _NETSURF_UTILS_UTF8_H_
#define _NETSURF_UTILS_UTF8_H_
+typedef enum {
+ UTF8_CONVERT_OK,
+ UTF8_CONVERT_NOMEM,
+ UTF8_CONVERT_BADENC
+} utf8_convert_ret;
+
size_t utf8_to_ucs4(const char *s, size_t l);
size_t utf8_from_ucs4(size_t c, char *s);
@@ -20,7 +26,9 @@ size_t utf8_length(const char *s);
size_t utf8_prev(const char *s, size_t o);
size_t utf8_next(const char *s, size_t l, size_t o);
-char *utf8_to_enc(const char *string, const char *encname, size_t len);
-char *utf8_from_enc(const char *string, const char *encname, size_t len);
+utf8_convert_ret utf8_to_enc(const char *string, const char *encname,
+ size_t len, char **result);
+utf8_convert_ret utf8_from_enc(const char *string, const char *encname,
+ size_t len, char **result);
#endif