summaryrefslogtreecommitdiffstats
path: root/src/libdebug/debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libdebug/debug.c')
-rw-r--r--src/libdebug/debug.c51
1 files changed, 48 insertions, 3 deletions
diff --git a/src/libdebug/debug.c b/src/libdebug/debug.c
index c9b8b27..44902ea 100644
--- a/src/libdebug/debug.c
+++ b/src/libdebug/debug.c
@@ -40,10 +40,51 @@ struct debug_cat {
const char *color;
} debug_cat[] = {
{ "options", "\033[0;33m" },
+ { "sender", "\033[1;33m" },
+ { "sound", "\033[0;35m" },
{ "dsp", "\033[0;31m" },
- { "ss5", "\033[1;34m" },
+ { "anetz", "\033[1;34m" },
+ { "bnetz", "\033[1;34m" },
+ { "cnetz", "\033[1;34m" },
+ { "nmt", "\033[1;34m" },
+ { "amps", "\033[1;34m" },
+ { "r2000", "\033[1;34m" },
+ { "imts", "\033[1;34m" },
+ { "mpt1327", "\033[1;34m" },
+ { "jollycom", "\033[1;34m" },
+ { "eurosignal", "\033[1;34m" },
+ { "frame", "\033[0;36m" },
+ { "call", "\033[0;37m" },
{ "cc", "\033[1;32m" },
+ { "database", "\033[0;33m" },
+ { "transaction", "\033[0;32m" },
+ { "dms", "\033[0;33m" },
+ { "sms", "\033[1;37m" },
+ { "sdr", "\033[1;31m" },
+ { "uhd", "\033[1;35m" },
+ { "soapy", "\033[1;35m" },
+ { "wave", "\033[1;33m" },
+ { "radio", "\033[1;34m" },
+ { "am791x", "\033[0;31m" },
+ { "uart", "\033[0;32m" },
+ { "device", "\033[0;33m" },
+ { "datenklo", "\033[1;34m" },
+ { "zeit", "\033[1;34m" },
+ { "sim layer 1", "\033[0;31m" },
+ { "sim layer 2", "\033[0;33m" },
+ { "sim ICL layer", "\033[0;36m" },
+ { "sim layer 7", "\033[0;37m" },
+ { "mtp layer 2", "\033[1;33m" },
+ { "mtp layer 3", "\033[1;36m" },
+ { "MuP", "\033[1;37m" },
+ { "router", "\033[1;35m" },
{ "stderr", "\033[1;37m" },
+ { "ss5", "\033[1;34m" },
+ { "isdn", "\033[1;35m" },
+ { "misdn", "\033[0;34m" },
+ { "dss1", "\033[1;34m" },
+ { "sip", "\033[1;35m" },
+ { "telephone", "\033[1;34m" },
{ NULL, NULL }
};
@@ -167,22 +208,24 @@ void debug_list_cat(void)
int parse_debug_opt(const char *optarg)
{
int i, max_level = 0;
- char *dstring, *p;
+ char *dup, *dstring, *p;
for (i = 0; debug_level[i]; i++)
max_level = i;
- dstring = strdup(optarg);
+ dup = dstring = strdup(optarg);
p = strsep(&dstring, ",");
for (i = 0; i < p[i]; i++) {
if (p[i] < '0' || p[i] > '9') {
fprintf(stderr, "Only digits are allowed for debug level!\n");
+ free(dup);
return -EINVAL;
}
}
debuglevel = atoi(p);
if (debuglevel > max_level) {
fprintf(stderr, "Debug level too high, use 'list' to show available levels!\n");
+ free(dup);
return -EINVAL;
}
if (dstring)
@@ -194,11 +237,13 @@ int parse_debug_opt(const char *optarg)
}
if (!debug_cat[i].name) {
fprintf(stderr, "Given debug category '%s' unknown, use 'list' to show available categories!\n", p);
+ free(dup);
return -EINVAL;
}
debug_mask |= ((uint64_t)1 << i);
}
+ free(dup);
return 0;
}