Re: [PATCHv2] fat: don't use custom hex_to_bin()

From: OGAWA Hirofumi
Date: Thu Sep 29 2011 - 10:43:28 EST


Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> writes:

>> So, I think it should be something like
>>
>> u8 uc[2];
>> if (hex2bin(uc, ip + 1, 2) < 0)
>> return -EINVAL;
>> *(wchar_t *)op = uc[0] << 8 | uc[1];
>> This should be readable more.
> It might be so, but it's not okay to do such constructions in C
>
> fs/fat/namei_vfat.c:535:1: warning: ISO C90 forbids mixed declarations
> and code [-Wdeclaration-after-statement]
>
> So, I will resend patch as I proposed with additional comments.

I guess you just did copy&paste. "u8 uc[2];" part should be before
statement as C90.

I.e.

if (escape && (*ip == ':')) {
u8 uc[2];

if (i > len - 5)
return -EINVAL;

if (hex2bin(uc, ip + 1, 2) < 0)
return -EINVAL;
*(wchar_t *)op = uc[0] << 8 | uc[1];

op += 2;
ip += 5;
i += 5;
} else {

This should be work?

Thanks.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/