static int l_get_log_group(lua_State *L)
{
- int grp = 1;
- char *name = kr_log_grp2name(grp);
+ char* name;
lua_newtable(L);
- while (name) {
+ for (int grp = LOG_GRP_SYSTEM; grp <= LOG_GRP_DEVEL; grp++) {
+ name = kr_log_grp2name(grp);
+ if (kr_fails_assert(name))
+ continue;
if (kr_log_group_is_set(grp)) {
lua_pushboolean(L, true);
lua_setfield(L, -2, name);
}
- ++grp;
- name = kr_log_grp2name(grp);
}
return 1;
};
#endif
-int kr_log_group_is_set(log_groups_t group)
+log_groups_t kr_log_group_is_set(log_groups_t group)
{
return kr_log_groups & (1ULL << group);
}
log_level_t kr_log_name2level(const char *name)
{
+ if (kr_fails_assert(name))
+ return -1;
+
for (int i = 0; prioritynames[i].c_name; ++i)
{
if (strcmp(prioritynames[i].c_name, name) == 0)
log_groups_t kr_log_name2grp(const char *name)
{
- if (!name)
+ if (kr_fails_assert(name))
return 0;
for (int i = 0; log_group_names[i].g_name; ++i)
/* Don't forget add *_TAG below, log_group_names[] item (log.c) and generate
* new kres-gen.lua */
enum kr_log_groups_type {
- LOG_GRP_SYSTEM = 1,
+ LOG_GRP_SYSTEM = 1, /* Must be first in enum. */
LOG_GRP_CACHE,
LOG_GRP_IO,
LOG_GRP_NETWORK,
KR_EXPORT
extern log_groups_t kr_log_groups;
KR_EXPORT
-int kr_log_group_is_set(log_groups_t group);
+log_groups_t kr_log_group_is_set(log_groups_t group);
KR_EXPORT
void kr_log_add_group(log_groups_t group);
KR_EXPORT