Trung Nguyen (@trungnt2910) commented about dlls/msvcrt/printf.h:
i = FUNC_NAME(pf_handle_string)(pf_puts, puts_ctx, &ch, 1, &flags, locale, legacy_wide); if(i < 0) i = 0; /* ignore conversion error */ + } else if(flags.Format == 'Z') { + /* UNICODE_STRING and ANSI_STRING have the same layout. */ + UNICODE_STRING *ustr = pf_args(args_ctx, pos, VT_PTR, valist).get_ptr; + void *str = ustr ? ustr->Buffer : NULL; + int len = ustr ? ustr->Length : 0; + + if(FUNC_NAME(pf_is_str_wide)(&flags, legacy_wide)) { + if(len & 1) {
```suggestion:-0+0 if(len % sizeof(wchar_t)) { ``` IMO this would make more logical sense and, with optimizations on, be compiled to the same thing. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10460#note_134739