summaryrefslogtreecommitdiff
path: root/frontends
diff options
context:
space:
mode:
authorJohn-Mark Bell <jmb@netsurf-browser.org>2018-01-21 14:27:10 +0000
committerJohn-Mark Bell <jmb@netsurf-browser.org>2018-01-21 14:27:10 +0000
commit08c275ed2c843441aad23d38646083de7a130753 (patch)
tree4389a357639e105895379a7868c90c26be57a8d8 /frontends
parent790d30b7888d5818a4e2521aabe2f31f04d59341 (diff)
downloadnetsurf-08c275ed2c843441aad23d38646083de7a130753.tar.gz
netsurf-08c275ed2c843441aad23d38646083de7a130753.tar.bz2
RISC OS: translate resource paths.
Fixes #2266.
Diffstat (limited to 'frontends')
-rw-r--r--frontends/riscos/gui.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/frontends/riscos/gui.c b/frontends/riscos/gui.c
index cfc513f72..be1bc8d9a 100644
--- a/frontends/riscos/gui.c
+++ b/frontends/riscos/gui.c
@@ -195,6 +195,7 @@ static struct
static nsurl *gui_get_resource_url(const char *path)
{
static const char base_url[] = "file:///NetSurf:/Resources/";
+ const char *lang;
size_t path_len, length;
char *raw;
nsurl *url = NULL;
@@ -220,8 +221,12 @@ static nsurl *gui_get_resource_url(const char *path)
path_len = strlen(path);
+ lang = ro_gui_default_language();
+
/* Find max URL length */
- length = SLEN(base_url) + SLEN("xx/") + path_len + 1;
+ length = SLEN(base_url) +
+ strlen(lang) + 1 + /* <lang> + / */
+ path_len + 1; /* + NUL */
raw = malloc(length);
if (raw != NULL) {
@@ -230,13 +235,11 @@ static nsurl *gui_get_resource_url(const char *path)
ptr += SLEN(base_url);
/* Add language directory to URL, for translated files */
- /* TODO: handle non-en langauages
- * handle non-html translated files */
+ /* TODO: handle non-html translated files */
if (path_len > SLEN(".html") &&
strncmp(path + path_len - SLEN(".html"),
".html", SLEN(".html")) == 0) {
- memcpy(ptr, "en/", SLEN("en/"));
- ptr += SLEN("en/");
+ ptr += sprintf(ptr, "%s/", lang);
}
/* Add filename to URL */