On Tue, Aug 8, 2017 at 6:03 PM, Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > On 08/04/2017 09:31 PM, Rob Clark wrote: >> >> @@ -528,8 +549,13 @@ repeat: >> continue; >> >> case 's': >> - str = string(str, end, va_arg(args, char *), >> - field_width, precision, flags); >> + if (qualifier == 'l') { > > %ls refers to wchar with implementation dependent width in the C standard. > There is no qualifier for 16-bit wchar. Couldn't we use %us here in > reference to the u-notation ( u'MyString' ). This would leave the path > open for a standard compliant '%ls'. >
So two drawbacks I'm running into when converting to c11 u"string" style, compared to the -fshort-wchar: 1) with -fshort-wchar plus %ls, gcc knows how to typecheck the printf/sprintf/etc args 2) introducing a non-standard conversion character (since there doesn't seem to be a standard one) means we need to drop -Wformat So far, afaict, the only argument against -fshort-wchar seems to be that someday ext4 might support utf32 filenames? (And really -fshort-wchar doesn't preclude that. So I'm not sure this is a valid argument.) So independent of c11 (which might be a good idea for other reasons), I'm back to thinking we should use -fshort-wchar. Possibly as a kconfig option that EFI_LOADER selects.. or possibly just unconditionally. Thoughts? BR, -R _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot