From 9a81d8ff32bcb023d4d6e9f8955d978cfb76455c Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 10 Jan 2015 21:19:54 +0100 Subject: [PATCH] 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 --- modules/luci-base/src/template_utils.c | 18 ++++-------------- 1 file 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); } -- 2.11.0