diff options
Diffstat (limited to 'src/libdebug/debug.c')
-rw-r--r-- | src/libdebug/debug.c | 51 |
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; } |