info: parse debug levels > 9

This commit is contained in:
David Schleef 2013-07-24 10:29:30 -07:00
parent d55893fb96
commit f599019a99

View file

@ -1717,9 +1717,15 @@ parse_debug_level (gchar * str, GstDebugLevel * level)
/* works in place */ /* works in place */
g_strstrip (str); g_strstrip (str);
if (str[0] != '\0' && str[1] == '\0' if (g_ascii_isdigit (str[0])) {
&& str[0] >= '0' && str[0] < '0' + GST_LEVEL_COUNT) { unsigned long l;
*level = (GstDebugLevel) (str[0] - '0'); char *endptr;
l = strtoul (str, &endptr, 10);
if (endptr > str && endptr[0] == 0) {
*level = (GstDebugLevel) l;
} else {
return FALSE;
}
} else if (strcmp (str, "ERROR") == 0) { } else if (strcmp (str, "ERROR") == 0) {
*level = GST_LEVEL_ERROR; *level = GST_LEVEL_ERROR;
} else if (strncmp (str, "WARN", 4) == 0) { } else if (strncmp (str, "WARN", 4) == 0) {