diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2015-01-10 21:19:54 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2015-01-10 21:19:54 +0100 |
commit | 9a81d8ff32bcb023d4d6e9f8955d978cfb76455c (patch) | |
tree | 41e9e6642b9e0c18d19bc0e0b91d57957f435845 /modules/luci-base/src | |
parent | 1380c7b07dc57249a5a6bc4b8e665cc525ec6716 (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')
-rw-r--r-- | modules/luci-base/src/template_utils.c | 18 |
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 80542bd4f..6c4baa669 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); } |