]> mj.ucw.cz Git - libucw.git/commitdiff
Logging: Introduce LS_NUM_TYPES and use it.
authorMartin Mares <mj@ucw.cz>
Fri, 20 Feb 2009 17:09:12 +0000 (18:09 +0100)
committerMartin Mares <mj@ucw.cz>
Fri, 20 Feb 2009 17:09:12 +0000 (18:09 +0100)
ucw/log-stream.c
ucw/log.h

index 8b697f8bf9816bad3ac05f1b5f4147b7f2033557..5af9f3e6581ad264797e64c566ba0573db40f5d8 100644 (file)
@@ -176,14 +176,14 @@ int log_register_type(const char *name)
 {
   if (!log_type_names)
     {
-      log_type_names = xmalloc_zero(LS_GET_TYPE(~0U) * sizeof(char *));
+      log_type_names = xmalloc_zero(LS_NUM_TYPES * sizeof(char *));
       log_type_names[0] = "default";
     }
   uns id;
-  for (id=0; id < LS_GET_TYPE(~0U) && log_type_names[id]; id++)
+  for (id=0; id < LS_NUM_TYPES && log_type_names[id]; id++)
     if (!strcmp(log_type_names[id], name))
       return LS_SET_TYPE(id);
-  ASSERT(id < LS_GET_TYPE(~0U));
+  ASSERT(id < LS_NUM_TYPES);
   log_type_names[id] = xstrdup(name);
   return LS_SET_TYPE(id);
 }
@@ -196,7 +196,7 @@ int log_find_type(const char *name)
   if (!log_type_names)
     return -1;
 
-  for (uns id=0; id < LS_GET_TYPE(~0U) && log_type_names[id]; id++)
+  for (uns id=0; id < LS_NUM_TYPES && log_type_names[id]; id++)
     if (!strcmp(log_type_names[id], name))
       return LS_SET_TYPE(id);
   return -1;
index 14134111ddf446b73fd498b1aed1d7a1fe81408a..cd32f83e288f0f0deaab22f04bf1c801f5d8db36 100644 (file)
--- a/ucw/log.h
+++ b/ucw/log.h
@@ -111,6 +111,8 @@ enum ls_flagmasks {                 // Bit masks of groups
 #define LS_SET_TYPE(type)      ((type) << LS_TYPE_POS)                         /** Convert message type to flags **/
 #define LS_SET_CTRL(ctrl)      ((ctrl) << LS_CTRL_POS)                         /** Convert control bits to flags **/
 
+#define LS_NUM_TYPES (1 << LS_TYPE_BITS)
+
 /** Register a new message type and return the corresponding flag set (encoded by `LS_SET_TYPE`). **/
 int log_register_type(const char *name);