mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 17:20:10 +01:00
util/u_debug: fix parsing of "all" again
The current implementation is incorrect if the string starts with "all"
like "RADV_DEBUG=allbos".
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10741
Fixes: 0c42c79edf ("utils/u_debug: Fix parse of "all,<something else>")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28051>
This commit is contained in:
parent
7eae0e03f1
commit
433a3c262a
1 changed files with 9 additions and 10 deletions
|
|
@ -423,18 +423,17 @@ parse_debug_string(const char *debug,
|
|||
|
||||
if (debug != NULL) {
|
||||
for (; control->string != NULL; control++) {
|
||||
if (!strncmp(debug, "all", strlen("all"))) {
|
||||
flag |= control->flag;
|
||||
const char *s = debug;
|
||||
unsigned n;
|
||||
|
||||
} else {
|
||||
const char *s = debug;
|
||||
unsigned n;
|
||||
for (; n = strcspn(s, ", "), *s; s += MAX2(1, n)) {
|
||||
if (!n)
|
||||
continue;
|
||||
|
||||
for (; n = strcspn(s, ", "), *s; s += MAX2(1, n)) {
|
||||
if (strlen(control->string) == n &&
|
||||
!strncmp(control->string, s, n))
|
||||
flag |= control->flag;
|
||||
}
|
||||
if (!strncmp("all", s, n) ||
|
||||
(strlen(control->string) == n &&
|
||||
!strncmp(control->string, s, n)))
|
||||
flag |= control->flag;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue