[pacman-dev] [PATCH] Fix compile error with clang-2.8
Rémy Oudompheng
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
>> 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.
>>
>
> 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);
> ~~^ ~~~~~~~~~~
> %u
> 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
mailing list