summaryrefslogtreecommitdiff
path: root/riscos/gui
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2015-07-18 20:12:01 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2015-07-18 20:12:01 +0100
commitabc7a71117e4ae03f9b7146ce3f299a4b931b1ef (patch)
treeaaad184c4e849604da7289db0ed47607ef994548 /riscos/gui
parent3b9df4f79655f80acbb508f85181f795319801a9 (diff)
downloadnetsurf-abc7a71117e4ae03f9b7146ce3f299a4b931b1ef.tar.gz
netsurf-abc7a71117e4ae03f9b7146ce3f299a4b931b1ef.tar.bz2
Pass the URL bar contents back as UTF-8.
Diffstat (limited to 'riscos/gui')
-rw-r--r--riscos/gui/url_bar.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/riscos/gui/url_bar.c b/riscos/gui/url_bar.c
index 5eccd602e..a25ea8748 100644
--- a/riscos/gui/url_bar.c
+++ b/riscos/gui/url_bar.c
@@ -83,6 +83,7 @@ struct url_bar {
wimp_i text_icon;
char *text_buffer;
size_t text_size;
+ char *text_buffer_utf8;
wimp_i suggest_icon;
int suggest_x, suggest_y;
@@ -508,6 +509,9 @@ void ro_gui_url_bar_destroy(struct url_bar *url_bar)
if (url_bar == NULL)
return;
+ if (url_bar->text_buffer_utf8 != NULL)
+ free(url_bar->text_buffer_utf8);
+
free(url_bar);
}
@@ -1073,6 +1077,15 @@ const char *ro_gui_url_bar_get_url(struct url_bar *url_bar)
if (url_bar == NULL)
return NULL;
+ if (url_bar->text_buffer_utf8 != NULL) {
+ free(url_bar->text_buffer_utf8);
+ url_bar->text_buffer_utf8 = NULL;
+ }
+
+ if (utf8_from_local_encoding(url_bar->text_buffer, 0, &url_bar->text_buffer_utf8) == NSERROR_OK) {
+ return (const char *) url_bar->text_buffer_utf8;
+ }
+
return (const char *) url_bar->text_buffer;
}