I also looked a bit into msvcrt printf if that requires similar fixes as ntdll printf and found that the parts which seem potentially important ('ll', correctly handling wide char in narrow print, outputting unrecognized format symbol) already work correctly. The remaining corner cases (like conflicting width and wideness specifiers) so far look more of theoretical issue and is harder to do in msvcrt in the presence of flags, different versions and new modifiers, so I guess it doesn't make sense to change anything there now.