From ed2743714bec59de1273cc0617d6b588a06a1203 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Mon, 12 Jun 2017 19:02:12 +0200 Subject: [PATCH] Fix lack of error message on mustach issue MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: I16139c133d7031e38f4c63ff6369f1d7478fc86f Signed-off-by: José Bollo --- src/wgtpkg-mustach.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/wgtpkg-mustach.c b/src/wgtpkg-mustach.c index 110f11b..45d94e8 100644 --- a/src/wgtpkg-mustach.c +++ b/src/wgtpkg-mustach.c @@ -21,10 +21,12 @@ #include #include +#include #include #include "mustach.h" +#include "verbose.h" #define MAX_DEPTH 256 @@ -321,8 +323,29 @@ static struct mustach_itf itf = { */ int apply_mustach(const char *template, struct json_object *root, char **result, size_t *size) { + int rc; struct expl e; + e.root = root; - return mustach(template, &itf, &e, result, size); + rc = mustach(template, &itf, &e, result, size); + if (rc < 0) { + static const char *msgs[] = { + "SYSTEM", + "UNEXPECTED_END", + "EMPTY_TAG", + "TAG_TOO_LONG", + "BAD_SEPARATORS", + "TOO_DEPTH", + "CLOSING", + "BAD_UNESCAPE_TAG" + }; + + rc = -(rc + 1); + ERROR("mustach error found: MUSTACH_ERROR_%s", + rc < 0 || rc >= (int)(sizeof msgs / sizeof * msgs) ? "???" : msgs[rc]); + rc = -1; + errno = EINVAL; + } + return rc; } -- 2.16.6