summaryrefslogtreecommitdiff
path: root/riscos/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/window.c')
-rw-r--r--riscos/window.c23
1 files changed, 7 insertions, 16 deletions
diff --git a/riscos/window.c b/riscos/window.c
index 80cd80b02..fa8b2e1d7 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -27,6 +27,7 @@
#include "netsurf/riscos/theme.h"
#include "netsurf/riscos/thumbnail.h"
#include "netsurf/utils/log.h"
+#include "netsurf/utils/url.h"
#include "netsurf/utils/utils.h"
gui_window *window_list = 0;
@@ -676,6 +677,7 @@ bool ro_gui_window_keypress(gui_window *g, int key, bool toolbar)
struct content *content = g->data.browser.bw->current_content;
wimp_window_state state;
int y;
+ char *url;
assert(g->type == GUI_BROWSER_WINDOW);
@@ -744,22 +746,11 @@ bool ro_gui_window_keypress(gui_window *g, int key, bool toolbar)
case wimp_KEY_RETURN:
if (!toolbar)
break;
- else {
- char *url = xcalloc(1, 10 + strlen(g->url));
- char *url2;
- if (g->url[strspn(g->url, "abcdefghijklmnopqrstuvwxyz")] != ':') {
- strcpy(url, "http://");
- strcpy(url + 7, g->url);
- } else {
- strcpy(url, g->url);
- }
- url2 = url_join(url, 0);
- free(url);
- if (url2) {
- gui_window_set_url(g, url2);
- browser_window_go(g->data.browser.bw, url2);
- free(url2);
- }
+ url = url_normalize(g->url);
+ if (url) {
+ gui_window_set_url(g, url);
+ browser_window_go(g->data.browser.bw, url);
+ free(url);
}
return true;