On Thu, Oct 7, 2010 at 7:50 AM, Dan McGee <[email protected]> wrote: > On Wed, Oct 6, 2010 at 8:40 PM, Allan McRae <[email protected]> wrote: >> Signed-off-by: Allan McRae <[email protected]> >> --- >> >> wint_t appears to be the same as size_t or unsigned long. It probably best if >> someone checks that is the right format specifier on x86_64 too... > > man wchar.h: > The implementation shall support one or more programming environments > in which the width of wint_t is no greater than the width of type long. > > man printf(3): > l (ell) A following integer conversion corresponds to a > long int or unsigned long int argument, or a following n conversion > corre‐ > sponds to a pointer to a long int argument, or a > following c conversion corresponds to a wint_t argument, or a > following s con‐ > version corresponds to a pointer to wchar_t argument. > > So we should really be using '%lc', it sounds like clang is busted... > > What does printf("%ls", p) give you? This isn't actually right because > we don't want to print the full string, just one character, but it > would be interesting to see if they implemented half of the spec.
And it may have been solved already... http://www.mail-archive.com/[email protected]/msg26807.html -Dan
