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.
This commit is contained in:
Dmitrij Tejblum 2011-09-21 17:41:41 +04:00 committed by Denis Ovsienko
parent eda3529e9c
commit 51abba509a
2 changed files with 7 additions and 6 deletions

View File

@ -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;
}

View File

@ -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[];