debug: add noprefix version of debug_dump_enum
authorKeith Whitwell <keith@tungstengraphics.com>
Sat, 17 Jan 2009 18:45:20 +0000 (18:45 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Sat, 17 Jan 2009 18:45:20 +0000 (18:45 +0000)
src/gallium/auxiliary/util/p_debug.c
src/gallium/include/pipe/p_debug.h

index acdfa211c84e8cb4635bad0ea97aebf196a261a4..f373f941dd8e7fd8fb0275c8f84e12e610bfdbfe 100644 (file)
@@ -405,6 +405,32 @@ debug_dump_enum(const struct debug_named_value *names,
 }
 
 
+const char *
+debug_dump_enum_noprefix(const struct debug_named_value *names, 
+                         const char *prefix,
+                         unsigned long value)
+{
+   static char rest[64];
+   
+   while(names->name) {
+      if(names->value == value) {
+         const char *name = names->name;
+         while (*name == *prefix) {
+            name++;
+            prefix++;
+         }
+         return name;
+      }
+      ++names;
+   }
+
+   
+
+   util_snprintf(rest, sizeof(rest), "0x%08lx", value);
+   return rest;
+}
+
+
 const char *
 debug_dump_flags(const struct debug_named_value *names, 
                  unsigned long value)
index 3b00fb9aa891cf0fd3505eb7e9fb98fb61888207..e9c95982dda229ca4df2a4fe68bc0260ac5d7c70 100644 (file)
@@ -261,6 +261,11 @@ const char *
 debug_dump_enum(const struct debug_named_value *names, 
                 unsigned long value);
 
+const char *
+debug_dump_enum_noprefix(const struct debug_named_value *names, 
+                         const char *prefix,
+                         unsigned long value);
+
 
 /**
  * Convert binary flags value to a string.