summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/src/template_utils.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2015-01-10 21:19:54 +0100
committerJo-Philipp Wich <jow@openwrt.org>2015-01-10 21:19:54 +0100
commit9a81d8ff32bcb023d4d6e9f8955d978cfb76455c (patch)
tree41e9e6642b9e0c18d19bc0e0b91d57957f435845 /modules/luci-base/src/template_utils.c
parent1380c7b07dc57249a5a6bc4b8e665cc525ec6716 (diff)
luci-base: handle missing translations in template engine
Previously the template engine did not interpolate translation macros if no translation catalogue could be loaded due to a missing i18n directory. Change the offending code to return the original string in any error case. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Diffstat (limited to 'modules/luci-base/src/template_utils.c')
-rw-r--r--modules/luci-base/src/template_utils.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/modules/luci-base/src/template_utils.c b/modules/luci-base/src/template_utils.c
index 80542bd4f3..6c4baa669c 100644
--- a/modules/luci-base/src/template_utils.c
+++ b/modules/luci-base/src/template_utils.c
@@ -477,18 +477,8 @@ void luastr_translate(struct template_buffer *out, const char *s, unsigned int l
char *tr;
int trlen;
- switch (lmo_translate(s, l, &tr, &trlen))
- {
- case 0:
- luastr_escape(out, tr, trlen, escape_xml);
- break;
-
- case -1:
- luastr_escape(out, s, l, escape_xml);
- break;
-
- default:
- /* no catalog loaded */
- break;
- }
+ if (!lmo_translate(s, l, &tr, &trlen))
+ luastr_escape(out, tr, trlen, escape_xml);
+ else
+ luastr_escape(out, s, l, escape_xml);
}