mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
util/u_printf: do not double print format string with unused arugments
the CL CTS added a new test being printf("\n", "foo"), but we ended up
printing the new line twice. If we can't find a specifier anymore, ignore
the argument as after the loop processing all arguments we'll print the
remaining format string anyway.
Cc: mesa-stable
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30574>
This commit is contained in:
parent
f7830e0c80
commit
4080269845
1 changed files with 3 additions and 4 deletions
|
|
@ -166,10 +166,9 @@ u_printf_impl(FILE *out, const char *buffer, size_t buffer_size,
|
|||
int arg_size = fmt->arg_sizes[i];
|
||||
size_t spec_pos = util_printf_next_spec_pos(format, 0);
|
||||
|
||||
if (spec_pos == -1) {
|
||||
u_printf_plain(out, format);
|
||||
continue;
|
||||
}
|
||||
/* If we hit an unused argument we skip all remaining ones */
|
||||
if (spec_pos == -1)
|
||||
break;
|
||||
|
||||
const char *token = util_printf_prev_tok(&format[spec_pos]);
|
||||
const char *next_format = &format[spec_pos + 1];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue