ctdb-logging: Add APIs to convert debug_level to and from integer
authorAmitay Isaacs <amitay@gmail.com>
Wed, 11 Nov 2015 03:45:08 +0000 (14:45 +1100)
committerMartin Schwenke <martins@samba.org>
Sun, 15 Nov 2015 23:46:14 +0000 (00:46 +0100)
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
ctdb/common/logging.c
ctdb/common/logging.h

index 82cf3d9d2a22adbde4405fb39084f5c6efb9e96c..7373d9d9c934bdb01a216b3c28af89d2350ca4f5 100644 (file)
@@ -72,3 +72,21 @@ enum debug_level debug_level_from_string(const char *log_string)
        /* Default debug level */
        return DEBUG_ERR;
 }
+
+int debug_level_to_int(enum debug_level log_level)
+{
+       return (int)log_level;
+}
+
+enum debug_level debug_level_from_int(int level)
+{
+       enum debug_level log_level;
+
+       if (level >= 0 && level < ARRAY_SIZE(log_string_map)) {
+               log_level = log_string_map[level].log_level;
+       } else {
+               log_level = DEBUG_ERR;
+       }
+
+       return log_level;
+}
index f427fbbf8284b8d92d8edd31244068f90cb74b34..64b835c5a1882a2c7dd53c01d7465c1357414a44 100644 (file)
@@ -35,5 +35,7 @@ enum debug_level {
 bool debug_level_parse(const char *log_string, enum debug_level *log_level);
 const char *debug_level_to_string(enum debug_level log_level);
 enum debug_level debug_level_from_string(const char *log_string);
+int debug_level_to_int(enum debug_level log_level);
+enum debug_level debug_level_from_int(int log_int);
 
 #endif /* __CTDB_LOGGING_H__ */