From 51abba509a0997f05427a8acbe74dd07d8d6026e Mon Sep 17 00:00:00 2001 From: Dmitrij Tejblum Date: Wed, 21 Sep 2011 17:41:41 +0400 Subject: lib: provide more information in case of failed LOOKUP. * log.[ch] * mes_lookup: add a parameter with the name of the message list, print the name in case of failure. * LOOKUP macro: pass the name of the message list. --- lib/log.c | 9 +++++---- lib/log.h | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/log.c b/lib/log.c index 8a7e5f3a..4afe9229 100644 --- a/lib/log.c +++ b/lib/log.c @@ -774,7 +774,8 @@ lookup (const struct message *mes, int key) * provided otherwise. */ const char * -mes_lookup (const struct message *meslist, int max, int index, const char *none) +mes_lookup (const struct message *meslist, int max, int index, + const char *none, const char *mesname) { int pos = index - meslist[0].key; @@ -797,13 +798,13 @@ mes_lookup (const struct message *meslist, int max, int index, const char *none) { const char *str = (meslist->str ? meslist->str : none); - zlog_debug ("message index %d [%s] found in position %d (max is %d)", - index, str, i, max); + zlog_debug ("message index %d [%s] found in %s at position %d (max is %d)", + index, str, mesname, i, max); return str; } } } - zlog_err("message index %d not found (max is %d)", index, max); + zlog_err("message index %d not found in %s (max is %d)", index, mesname, max); assert (none); return none; } diff --git a/lib/log.h b/lib/log.h index 1f9a6899..ee34a4ad 100644 --- a/lib/log.h +++ b/lib/log.h @@ -146,12 +146,12 @@ extern int zlog_reset_file (struct zlog *zl); extern int zlog_rotate (struct zlog *); /* For hackey massage lookup and check */ -#define LOOKUP(x, y) mes_lookup(x, x ## _max, y, "(no item found)") +#define LOOKUP(x, y) mes_lookup(x, x ## _max, y, "(no item found)", #x) extern const char *lookup (const struct message *, int); extern const char *mes_lookup (const struct message *meslist, int max, int index, - const char *no_item); + const char *no_item, const char *mesname); extern const char *zlog_priority[]; extern const char *zlog_proto_names[]; -- cgit v1.2.1