]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
lib/log kr_log_name2grp(): return -1 on failures
authorVladimír Čunát <vladimir.cunat@nic.cz>
Wed, 28 Jul 2021 17:39:22 +0000 (19:39 +0200)
committerTomas Krizek <tomas.krizek@nic.cz>
Thu, 29 Jul 2021 09:44:47 +0000 (11:44 +0200)
Let's be consistent witk kr_log_name2level()
and even generally we tend to use negative numbers for errors.

daemon/engine.c
daemon/lua/kres-gen-29.lua
lib/log.c
lib/log.h

index baeeb7e8482a77811aecc8e81cfb6a2acbc59b79..f93e770de2cc9fb41b6d6a8d630d93968738b718 100644 (file)
@@ -230,7 +230,7 @@ static int l_log_groups(lua_State *L)
                        if (!grp_str)
                                goto bad_call;
                        enum kr_log_group grp = kr_log_name2grp(grp_str);
-                       if (grp == 0)
+                       if (grp < 0)
                                lua_error_p(L, "unknown log group '%s'", lua_tostring(L, -1));
 
                        kr_log_group_add(grp);
index 24d4b3a5efe8db1318d1832ef38d1e8c2642efab..7649520eec38823bd915c750adbfde8ea3c6cb3e 100644 (file)
@@ -307,7 +307,7 @@ struct kr_server_selection {
        struct local_state *local_state;
 };
 typedef int kr_log_level_t;
-enum kr_log_group {LOG_GRP_SYSTEM = 1, LOG_GRP_CACHE, LOG_GRP_IO, LOG_GRP_NETWORK, LOG_GRP_TA, LOG_GRP_TLS, LOG_GRP_GNUTLS, LOG_GRP_TLSCLIENT, LOG_GRP_XDP, LOG_GRP_ZIMPORT, LOG_GRP_ZSCANNER, LOG_GRP_DOH, LOG_GRP_DNSSEC, LOG_GRP_HINT, LOG_GRP_PLAN, LOG_GRP_ITERATOR, LOG_GRP_VALIDATOR, LOG_GRP_RESOLVER, LOG_GRP_SELECTION, LOG_GRP_ZCUT, LOG_GRP_COOKIES, LOG_GRP_STATISTICS, LOG_GRP_REBIND, LOG_GRP_WORKER, LOG_GRP_POLICY, LOG_GRP_TASENTINEL, LOG_GRP_TASIGNALING, LOG_GRP_TAUPDATE, LOG_GRP_DAF, LOG_GRP_DETECTTIMEJUMP, LOG_GRP_DETECTTIMESKEW, LOG_GRP_GRAPHITE, LOG_GRP_PREFILL, LOG_GRP_PRIMING, LOG_GRP_SRVSTALE, LOG_GRP_WATCHDOG, LOG_GRP_NSID, LOG_GRP_DNSTAP, LOG_GRP_TESTS, LOG_GRP_DOTAUTH, LOG_GRP_HTTP, LOG_GRP_CONTROL, LOG_GRP_MODULE, LOG_GRP_DEVEL};
+enum kr_log_group {LOG_GRP_UNKNOWN = -1, LOG_GRP_SYSTEM = 1, LOG_GRP_CACHE, LOG_GRP_IO, LOG_GRP_NETWORK, LOG_GRP_TA, LOG_GRP_TLS, LOG_GRP_GNUTLS, LOG_GRP_TLSCLIENT, LOG_GRP_XDP, LOG_GRP_ZIMPORT, LOG_GRP_ZSCANNER, LOG_GRP_DOH, LOG_GRP_DNSSEC, LOG_GRP_HINT, LOG_GRP_PLAN, LOG_GRP_ITERATOR, LOG_GRP_VALIDATOR, LOG_GRP_RESOLVER, LOG_GRP_SELECTION, LOG_GRP_ZCUT, LOG_GRP_COOKIES, LOG_GRP_STATISTICS, LOG_GRP_REBIND, LOG_GRP_WORKER, LOG_GRP_POLICY, LOG_GRP_TASENTINEL, LOG_GRP_TASIGNALING, LOG_GRP_TAUPDATE, LOG_GRP_DAF, LOG_GRP_DETECTTIMEJUMP, LOG_GRP_DETECTTIMESKEW, LOG_GRP_GRAPHITE, LOG_GRP_PREFILL, LOG_GRP_PRIMING, LOG_GRP_SRVSTALE, LOG_GRP_WATCHDOG, LOG_GRP_NSID, LOG_GRP_DNSTAP, LOG_GRP_TESTS, LOG_GRP_DOTAUTH, LOG_GRP_HTTP, LOG_GRP_CONTROL, LOG_GRP_MODULE, LOG_GRP_DEVEL};
 
 kr_layer_t kr_layer_t_static;
 _Bool kr_dbg_assertion_abort;
index 794cf9f907fe7b7ef9bbcf5bb78a54ce92bcf0f3..6e171597277773e578e084e96395c6b1444ad821 100644 (file)
--- a/lib/log.c
+++ b/lib/log.c
@@ -35,7 +35,7 @@ typedef struct {
 
 #define GRP_NAME_ITEM(grp) { grp ## _TAG, grp }
 
-log_group_names_t log_group_names[] = {
+const log_group_names_t log_group_names[] = {
        GRP_NAME_ITEM(LOG_GRP_SYSTEM),
        GRP_NAME_ITEM(LOG_GRP_CACHE),
        GRP_NAME_ITEM(LOG_GRP_IO),
@@ -80,7 +80,7 @@ log_group_names_t log_group_names[] = {
        GRP_NAME_ITEM(LOG_GRP_CONTROL),
        GRP_NAME_ITEM(LOG_GRP_MODULE),
        GRP_NAME_ITEM(LOG_GRP_DEVEL),
-       { NULL,         -1 },
+       { NULL, LOG_GRP_UNKNOWN },
 };
 
 bool kr_log_group_is_set(enum kr_log_group group)
@@ -162,7 +162,7 @@ const char *kr_log_level2name(kr_log_level_t level)
 kr_log_level_t kr_log_name2level(const char *name)
 {
        if (kr_fails_assert(name))
-               return -1;
+               return LOG_GRP_UNKNOWN;
 
        for (int i = 0; level_names[i].name; ++i)
        {
@@ -170,12 +170,12 @@ kr_log_level_t kr_log_name2level(const char *name)
                        return level_names[i].level;
        }
 
-       return -1;
+       return LOG_GRP_UNKNOWN;
 }
 
 const char *kr_log_grp2name(enum kr_log_group group)
 {
-       for (int i = 0; log_group_names[i].g_val != -1; ++i)
+       for (int i = 0; log_group_names[i].g_name; ++i)
        {
                if (log_group_names[i].g_val == group)
                        return log_group_names[i].g_name;
@@ -187,7 +187,7 @@ const char *kr_log_grp2name(enum kr_log_group group)
 enum kr_log_group kr_log_name2grp(const char *name)
 {
        if (kr_fails_assert(name))
-               return 0;
+               return -1;
 
        for (int i = 0; log_group_names[i].g_name; ++i)
        {
@@ -195,7 +195,7 @@ enum kr_log_group kr_log_name2grp(const char *name)
                        return log_group_names[i].g_val;
        }
 
-       return 0;
+       return -1;
 }
 
 
index 7ae8a35690c76144ff366167096d79d0b786cd62..77d2acfa3483350169022abfebb5d444060bed9a 100644 (file)
--- a/lib/log.h
+++ b/lib/log.h
@@ -26,6 +26,7 @@ typedef enum {
 /* Don't forget add *_TAG below, log_group_names[] item (log.c) and generate
  * new kres-gen.lua */
 enum kr_log_group {
+       LOG_GRP_UNKNOWN = -1,
        LOG_GRP_SYSTEM = 1,  /* Must be first in enum. */
        LOG_GRP_CACHE,
        LOG_GRP_IO,