[pacman-dev] [PATCH] Fix compile error with clang-2.8
remyoudompheng at gmail.com
Thu Oct 7 09:05:01 EDT 2010
Allan McRae <allan at archlinux.org> wrote:
> On 07/10/10 22:50, Dan McGee wrote:
>> On Wed, Oct 6, 2010 at 8:40 PM, Allan McRae<allan at archlinux.org> wrote:
>> man printf(3):
>> l (ell) A following integer conversion corresponds to a
>> long int or unsigned long int argument, or a following n conversion
>> 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.
> Same error with %ls.
> util.c:264:13: error: conversion specifies type 'int *' but the argument has
> type 'wint_t' (aka 'unsigned int') [-Wformat]
> printf("%ls", (wint_t)*p);
> ~~^ ~~~~~~~~~~
> 1 error generated.
I may be a C newbie, but is (wint_t)*p the same as (wint_t)(*p) ? It
would explain the pointer/integer confusion.
More information about the pacman-dev