summaryrefslogtreecommitdiff
path: root/riscos
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2014-01-28 21:40:13 +0000
committerVincent Sanders <vince@netsurf-browser.org>2014-01-28 21:40:13 +0000
commit654da2ffb5abf2afe9532f1d0cb77ed88f8a97cc (patch)
treeefbc3d97a8650b682b7181e748698de9c555d80d /riscos
parent4b760c7e499e2f5cb1d06242d5f186e14e94496a (diff)
downloadnetsurf-654da2ffb5abf2afe9532f1d0cb77ed88f8a97cc.tar.gz
netsurf-654da2ffb5abf2afe9532f1d0cb77ed88f8a97cc.tar.bz2
move utf8 conversion routines to use nserror instead of their own error enum
Diffstat (limited to 'riscos')
-rw-r--r--riscos/download.c20
-rw-r--r--riscos/gui/url_bar.c6
-rw-r--r--riscos/help.c6
-rw-r--r--riscos/menus.c11
-rw-r--r--riscos/query.c10
-rw-r--r--riscos/save.c12
-rw-r--r--riscos/textselection.c8
-rw-r--r--riscos/ucstables.c56
-rw-r--r--riscos/wimp.c12
-rw-r--r--riscos/window.c16
10 files changed, 77 insertions, 80 deletions
diff --git a/riscos/download.c b/riscos/download.c
index d0149b66c..526f30174 100644
--- a/riscos/download.c
+++ b/riscos/download.c
@@ -228,7 +228,7 @@ static struct gui_download_window *gui_download_window_create(download_context *
os_error *error;
url_func_result res;
char *local_path;
- utf8_convert_ret err;
+ nserror err;
size_t i, last_dot;
dw = malloc(sizeof *dw);
@@ -376,9 +376,9 @@ static struct gui_download_window *gui_download_window_create(download_context *
filename);
err = utf8_to_local_encoding(dw->path, 0, &local_path);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* badenc should never happen */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err !=NSERROR_BAD_ENCODING);
LOG(("utf8_to_local_encoding failed"));
warn_user("NoMemory", 0);
free(dw);
@@ -588,7 +588,7 @@ void ro_gui_download_update_status(struct gui_download_window *dw)
os_error *error;
int width;
char *local_status;
- utf8_convert_ret err;
+ nserror err;
gettimeofday(&t, 0);
dt = (t.tv_sec + 0.000001 * t.tv_usec) - (dw->last_time.tv_sec +
@@ -622,9 +622,9 @@ void ro_gui_download_update_status(struct gui_download_window *dw)
/* convert to local encoding */
err = utf8_to_local_encoding(
messages_get("Download"), 0, &local_status);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* badenc should never happen */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
/* hide nomem error */
snprintf(dw->status, sizeof dw->status,
messages_get("Download"),
@@ -645,9 +645,9 @@ void ro_gui_download_update_status(struct gui_download_window *dw)
err = utf8_to_local_encoding(
messages_get("DownloadU"), 0, &local_status);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* badenc should never happen */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
/* hide nomem error */
snprintf(dw->status, sizeof dw->status,
messages_get("DownloadU"),
@@ -673,9 +673,9 @@ void ro_gui_download_update_status(struct gui_download_window *dw)
err = utf8_to_local_encoding(messages_get("Downloaded"), 0,
&local_status);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* badenc should never happen */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
/* hide nomem error */
snprintf(dw->status, sizeof dw->status,
messages_get("Downloaded"),
diff --git a/riscos/gui/url_bar.c b/riscos/gui/url_bar.c
index d7647402b..681824d89 100644
--- a/riscos/gui/url_bar.c
+++ b/riscos/gui/url_bar.c
@@ -956,12 +956,12 @@ void ro_gui_url_bar_set_url(struct url_bar *url_bar, const char *url,
*/
if (is_utf8) {
- utf8_convert_ret err;
+ nserror err;
err = utf8_to_local_encoding(url, 0, &local_text);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* A bad encoding should never happen, so assert this */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_to_enc failed"));
/* Paranoia */
local_text = NULL;
diff --git a/riscos/help.c b/riscos/help.c
index 14d34af15..9da52f3e6 100644
--- a/riscos/help.c
+++ b/riscos/help.c
@@ -225,7 +225,7 @@ static void ro_gui_interactive_help_broadcast(wimp_message *message,
char *base_token;
char *local_token;
os_error *error;
- utf8_convert_ret err;
+ nserror err;
/* start off with an empty reply */
reply = (help_full_message_reply *)message;
@@ -255,9 +255,9 @@ static void ro_gui_interactive_help_broadcast(wimp_message *message,
/* convert to local encoding */
err = utf8_to_local_encoding(translated_token, 0,
&local_token);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* badenc should never happen */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
/* simply use UTF-8 string */
strncpy(reply->reply, translated_token, 235);
}
diff --git a/riscos/menus.c b/riscos/menus.c
index e51fc34c5..29d514122 100644
--- a/riscos/menus.c
+++ b/riscos/menus.c
@@ -875,8 +875,7 @@ bool ro_gui_menu_translate(struct menu_definition *menu)
int alphabet;
struct menu_definition_entry *entry;
char *translated;
- utf8_convert_ret err;
-
+ nserror err;
/* read current alphabet */
error = xosbyte1(osbyte_ALPHABET_NUMBER, 127, 0, &alphabet);
@@ -895,8 +894,8 @@ bool ro_gui_menu_translate(struct menu_definition *menu)
free(menu->menu->title_data.indirected_text.text);
err = utf8_to_local_encoding(messages_get(menu->title_key),
0, &translated);
- if (err != UTF8_CONVERT_OK) {
- assert(err != UTF8_CONVERT_BADENC);
+ if (err != NSERROR_OK) {
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_to_enc failed"));
return false;
}
@@ -912,8 +911,8 @@ bool ro_gui_menu_translate(struct menu_definition *menu)
free(entry->menu_entry->data.indirected_text.text);
err = utf8_to_local_encoding(messages_get(entry->entry_key),
0, &translated);
- if (err != UTF8_CONVERT_OK) {
- assert(err != UTF8_CONVERT_BADENC);
+ if (err != NSERROR_OK) {
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_to_enc failed"));
return false;
}
diff --git a/riscos/query.c b/riscos/query.c
index 6401ad2b8..226849462 100644
--- a/riscos/query.c
+++ b/riscos/query.c
@@ -150,7 +150,7 @@ query_id query_user_xy(const char *query, const char *detail,
int len;
int tx;
char *local_text = NULL;
- utf8_convert_ret err;
+ nserror err;
qw = malloc(sizeof(struct gui_query_window));
if (!qw) {
@@ -171,8 +171,8 @@ query_id query_user_xy(const char *query, const char *detail,
/* set the text of the 'Yes' button and size accordingly */
err = utf8_to_local_encoding(yes, 0, &local_text);
- if (err != UTF8_CONVERT_OK) {
- assert(err != UTF8_CONVERT_BADENC);
+ if (err != NSERROR_OK) {
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_to_local_encoding_failed"));
local_text = NULL;
}
@@ -201,8 +201,8 @@ query_id query_user_xy(const char *query, const char *detail,
/* set the text of the 'No' button and size accordingly */
err = utf8_to_local_encoding(no, 0, &local_text);
- if (err != UTF8_CONVERT_OK) {
- assert(err != UTF8_CONVERT_BADENC);
+ if (err != NSERROR_OK) {
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_to_local_encoding_failed"));
local_text = NULL;
}
diff --git a/riscos/save.c b/riscos/save.c
index 59222c49a..cc123444c 100644
--- a/riscos/save.c
+++ b/riscos/save.c
@@ -614,7 +614,7 @@ static void ro_gui_save_drag_end(wimp_dragged *drag, void *data)
os_error *error;
char *dp, *ep;
char *local_name = NULL;
- utf8_convert_ret err;
+ nserror err;
if (dragbox_active)
ro_gui_drag_box_cancel();
@@ -651,9 +651,9 @@ static void ro_gui_save_drag_end(wimp_dragged *drag, void *data)
/* saving directly from browser window, choose a
* name based upon the URL */
err = utf8_to_local_encoding(save_leafname, 0, &local_name);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* badenc should never happen */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
local_name = NULL;
}
name = local_name ? local_name : save_leafname;
@@ -1216,7 +1216,7 @@ void ro_gui_save_set_state(hlcache_handle *h, gui_save_type save_type,
const char *name = gui_save_table[save_type].name;
bool done = false;
char *nice = NULL;
- utf8_convert_ret err;
+ nserror err;
char *local_name;
size_t i;
@@ -1270,9 +1270,9 @@ void ro_gui_save_set_state(hlcache_handle *h, gui_save_type save_type,
leaf_buf[leaf_len - 1] = 0;
err = utf8_to_local_encoding(name, 0, &local_name);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* badenc should never happen */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
local_name = NULL;
}
diff --git a/riscos/textselection.c b/riscos/textselection.c
index 73b5246e3..c07075475 100644
--- a/riscos/textselection.c
+++ b/riscos/textselection.c
@@ -391,7 +391,7 @@ bool ro_gui_selection_prepare_paste_dataload(
FILE *fp;
long size;
char *local_cb;
- utf8_convert_ret ret;
+ nserror ret;
/* Ignore messages that aren't for us */
if (dataxfer->your_ref == 0 || dataxfer->your_ref != paste_prev_message)
@@ -410,7 +410,7 @@ bool ro_gui_selection_prepare_paste_dataload(
ret = utf8_from_local_encoding(local_cb, size,
&clipboard);
- if (ret == UTF8_CONVERT_OK) {
+ if (ret == NSERROR_OK) {
clip_length = strlen(clipboard);
}
@@ -509,13 +509,13 @@ void ro_gui_selection_data_request(wimp_full_message_data_request *req)
bool ro_gui_save_clipboard(const char *path)
{
char *local_cb;
- utf8_convert_ret ret;
+ nserror ret;
os_error *error;
assert(clip_length > 0 && clipboard);
ret = utf8_to_local_encoding(clipboard, clip_length, &local_cb);
- if (ret != UTF8_CONVERT_OK) {
+ if (ret != NSERROR_OK) {
warn_user("SaveError", "Could not convert");
return false;
}
diff --git a/riscos/ucstables.c b/riscos/ucstables.c
index 970caf122..4754bac89 100644
--- a/riscos/ucstables.c
+++ b/riscos/ucstables.c
@@ -446,17 +446,16 @@ static const struct special {
* \param string The string to convert
* \param len The length (in bytes) of the string, or 0
* \param result Pointer to location in which to store result
- * \return The appropriate utf8_convert_ret value
+ * \return An nserror code
*/
-utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len,
- char **result)
+nserror utf8_to_local_encoding(const char *string, size_t len, char **result)
{
os_error *error;
int alphabet, i;
size_t off, prev_off;
char *temp, *cur_pos;
const char *enc;
- utf8_convert_ret err;
+ nserror err;
assert(string);
assert(result);
@@ -473,7 +472,7 @@ utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len,
/* UTF-8 -> simply copy string */
if (alphabet == 111 /* UTF-8 */) {
*result = strndup(string, len);
- return UTF8_CONVERT_OK;
+ return NSERROR_OK;
}
/* get encoding name */
@@ -485,7 +484,7 @@ utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len,
/* create output buffer */
*(result) = malloc(len + 1);
if (!(*result))
- return UTF8_CONVERT_NOMEM;
+ return NSERROR_NOMEM;
*(*result) = '\0';
prev_off = 0;
@@ -508,10 +507,10 @@ utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len,
if (off - prev_off > 0) {
err = utf8_to_enc(string + prev_off, enc,
off - prev_off, &temp);
- if (err != UTF8_CONVERT_OK) {
- assert(err != UTF8_CONVERT_BADENC);
+ if (err != NSERROR_OK) {
+ assert(err != NSERROR_BAD_ENCODING);
free(*result);
- return UTF8_CONVERT_NOMEM;
+ return NSERROR_NOMEM;
}
strcat(cur_pos, temp);
@@ -533,10 +532,10 @@ utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len,
if (prev_off < len) {
err = utf8_to_enc(string + prev_off, enc, len - prev_off,
&temp);
- if (err != UTF8_CONVERT_OK) {
- assert(err != UTF8_CONVERT_BADENC);
+ if (err != NSERROR_OK) {
+ assert(err != NSERROR_BAD_ENCODING);
free(*result);
- return UTF8_CONVERT_NOMEM;
+ return NSERROR_NOMEM;
}
strcat(cur_pos, temp);
@@ -544,7 +543,7 @@ utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len,
free(temp);
}
- return UTF8_CONVERT_OK;
+ return NSERROR_OK;
}
/**
@@ -553,10 +552,9 @@ utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len,
* \param string The string to convert
* \param len The length (in bytes) of the string, or 0
* \param result Pointer to location in which to store result
- * \return The appropriate utf8_convert_ret value
+ * \return An nserror code
*/
-utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len,
- char **result)
+nserror utf8_from_local_encoding(const char *string, size_t len, char **result)
{
os_error *error;
int alphabet, i, num_specials = 0, result_alloc;
@@ -564,7 +562,7 @@ utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len,
size_t off, prev_off, cur_off;
char *temp;
const char *enc;
- utf8_convert_ret err;
+ nserror err;
assert(string && result);
@@ -581,10 +579,10 @@ utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len,
if (alphabet == 111 /* UTF-8 */) {
temp = strndup(string, len);
if (!temp)
- return UTF8_CONVERT_NOMEM;
+ return NSERROR_NOMEM;
*result = temp;
- return UTF8_CONVERT_OK;
+ return NSERROR_OK;
}
/* get encoding name */
@@ -598,7 +596,7 @@ utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len,
*(result) = malloc(result_alloc);
if (!(*result))
- return UTF8_CONVERT_NOMEM;
+ return NSERROR_NOMEM;
*(*result) = '\0';
prev_off = 0;
@@ -619,11 +617,11 @@ utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len,
if (off - prev_off > 0) {
err = utf8_from_enc(string + prev_off, enc,
off - prev_off, &temp, NULL);
- if (err != UTF8_CONVERT_OK) {
- assert(err != UTF8_CONVERT_BADENC);
+ if (err != NSERROR_OK) {
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_from_enc failed"));
free(*result);
- return UTF8_CONVERT_NOMEM;
+ return NSERROR_NOMEM;
}
strcat((*result) + cur_off, temp);
@@ -647,7 +645,7 @@ utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len,
(3 * SPECIAL_CHUNK_SIZE));
if (!temp) {
free(*result);
- return UTF8_CONVERT_NOMEM;
+ return NSERRO_NOMEM;
}
*result = temp;
@@ -661,11 +659,11 @@ utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len,
if (prev_off < len) {
err = utf8_from_enc(string + prev_off, enc, len - prev_off,
&temp, NULL);
- if (err != UTF8_CONVERT_OK) {
- assert(err != UTF8_CONVERT_BADENC);
+ if (err != NSERROR_OK) {
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_from_enc failed"));
free(*result);
- return UTF8_CONVERT_NOMEM;
+ return NSERROR_NOMEM;
}
strcat((*result) + cur_off, temp);
@@ -680,9 +678,9 @@ utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len,
if (!temp) {
LOG(("realloc failed"));
free(*result);
- return UTF8_CONVERT_NOMEM;
+ return NSERROR_NOMEM;
}
*result = temp;
- return UTF8_CONVERT_OK;
+ return NSERROR_OK;
}
diff --git a/riscos/wimp.c b/riscos/wimp.c
index 87860ad35..2e488918d 100644
--- a/riscos/wimp.c
+++ b/riscos/wimp.c
@@ -273,12 +273,12 @@ void ro_gui_set_icon_string(wimp_w w, wimp_i i, const char *text, bool is_utf8)
unsigned int button_type;
if (is_utf8) {
- utf8_convert_ret err;
+ nserror err;
/* convert text to local encoding */
err = utf8_to_local_encoding(text, 0, &local_text);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* A bad encoding should never happen, so assert this */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_to_enc failed"));
/* Paranoia */
local_text = NULL;
@@ -677,7 +677,7 @@ void ro_gui_set_window_title(wimp_w w, const char *text)
wimp_window_info_base window;
os_error *error;
char *title_local_enc;
- utf8_convert_ret err;
+ nserror err;
/* Get the window details
*/
@@ -692,10 +692,10 @@ void ro_gui_set_window_title(wimp_w w, const char *text)
/* convert text to local encoding */
err = utf8_to_local_encoding(text, 0, &title_local_enc);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* A bad encoding should never happen,
* so assert this */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_to_enc failed"));
return;
}
diff --git a/riscos/window.c b/riscos/window.c
index 2221425c3..1f70d3d66 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -4621,7 +4621,7 @@ bool ro_gui_window_import_text(struct gui_window *g, const char *filename)
os_error *error;
char *buf, *utf8_buf, *sp;
int size;
- utf8_convert_ret ret;
+ nserror ret;
const char *ep;
char *p;
@@ -4656,9 +4656,9 @@ bool ro_gui_window_import_text(struct gui_window *g, const char *filename)
}
ret = utf8_from_local_encoding(buf, size, &utf8_buf);
- if (ret != UTF8_CONVERT_OK) {
+ if (ret != NSERROR_OK) {
/* bad encoding shouldn't happen */
- assert(ret != UTF8_CONVERT_BADENC);
+ assert(ret != NSERROR_BAD_ENCODING);
LOG(("utf8_from_local_encoding failed"));
free(buf);
warn_user("NoMemory", NULL);
@@ -4802,7 +4802,7 @@ bool ro_gui_window_prepare_form_select_menu(struct browser_window *bw,
char *text_convert, *temp;
struct form_option *option;
bool reopen = true;
- utf8_convert_ret err;
+ nserror err;
assert(control);
@@ -4839,9 +4839,9 @@ bool ro_gui_window_prepare_form_select_menu(struct browser_window *bw,
}
err = utf8_to_local_encoding(messages_get("SelectMenu"), 0,
&text_convert);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* badenc should never happen */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_to_local_encoding failed"));
warn_user("NoMemory", 0);
ro_gui_menu_closed();
@@ -4875,10 +4875,10 @@ bool ro_gui_window_prepare_form_select_menu(struct browser_window *bw,
err = utf8_to_local_encoding(temp,
0, &text_convert);
- if (err != UTF8_CONVERT_OK) {
+ if (err != NSERROR_OK) {
/* A bad encoding should never happen,
* so assert this */
- assert(err != UTF8_CONVERT_BADENC);
+ assert(err != NSERROR_BAD_ENCODING);
LOG(("utf8_to_enc failed"));
warn_user("NoMemory", 0);
ro_gui_menu_closed();