From 33c15f71bd643f902e9ca75847c32942cd04920f Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Sun, 5 Jun 2011 22:23:47 +0200 Subject: [PATCH] Produce error if )-char is missing in charmap spec --- util/charmap.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/util/charmap.c b/util/charmap.c index f5be7f1..c242b3a 100644 --- a/util/charmap.c +++ b/util/charmap.c @@ -242,7 +242,6 @@ ucs4_t zebra_prim_w(ucs4_t **s) ucs4_t i = 0; char fmtstr[8]; - yaz_log(YLOG_DEBUG, "prim_w %.3s", (char *) *s); if (**s == '\\' && 1[*s]) { (*s)++; @@ -487,7 +486,14 @@ static int scan_string(char *s_native, ++s; s0 = s; i = 0; while (*s != ')' || s[-1] == '\\') + { + if (*s == '\0') + { + yaz_log(YLOG_FATAL, "Missing ) in charmap"); + return -1; + } arg_prim[i++] = zebra_prim_w(&s); + } arg_prim[i] = 0; if (scan_to_utf8(t_utf8, arg_prim, zebra_ucs4_strlen(arg_prim), str, sizeof(str)-1)) return -1; @@ -731,7 +737,7 @@ chrmaptab chrmaptab_create(const char *tabpath, const char *name, chrmaptab_destroy(res); res = 0; } - yaz_log(YLOG_DEBUG, "maptab %s close %d errors", name, errors); + yaz_log(YLOG_DEBUG, "maptab %s num=%d close %d errors", name, num, errors); if (t_utf8 != 0) yaz_iconv_close(t_utf8); if (t_unicode != 0) -- 1.7.10.4