debug.c: fix no-color-printing in case .color = NULL
authorHarald Welte <laforge@gnumonks.org>
Fri, 26 Mar 2010 01:45:03 +0000 (09:45 +0800)
committerHarald Welte <laforge@gnumonks.org>
Fri, 26 Mar 2010 13:26:01 +0000 (21:26 +0800)
src/debug.c

index 934f229..d10861f 100644 (file)
@@ -115,7 +115,7 @@ static const char* color(int subsys)
                        return debug_info->cat[i].color;
        }
 
-       return "";
+       return NULL;
 }
 
 static void _output(struct debug_target *target, unsigned int subsys,
@@ -136,8 +136,11 @@ static void _output(struct debug_target *target, unsigned int subsys,
 
        /* are we using color */
        if (target->use_color) {
-               snprintf(col, sizeof(col), "%s", color(subsys));
-               col[sizeof(col)-1] = '\0';
+               const char *c = color(subsys);
+               if (c) {
+                       snprintf(col, sizeof(col), "%s", color(subsys));
+                       col[sizeof(col)-1] = '\0';
+               }
        }
        vsnprintf(buf, sizeof(buf), format, ap);
        buf[sizeof(buf)-1] = '\0';