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

From: OGAWA Hirofumi
Date: Thu Sep 29 2011 - 14:27:58 EST


Joe Perches <joe@xxxxxxxxxxx> writes:

>> +
>> + if (hex2bin(uc, ip + 1, 2) < 0)
>> return -EINVAL;
>> - }
>> - *op++ = ec & 0xFF;
>> - *op++ = ec >> 8;
>> +
>> + *(wchar_t *)op++ = uc[0] << 8 | uc[1];
>
> perhaps:
>
> __le16 foo;
>
> if (hex2bin((u8 *)&foo, ip + 1, 2) < 0)
> return -EINVAL;
> *(u16 *)op = le16_to_cpu(foo);
>
> op += 2;

I also thought about it. But I think it is not so good, like you had
mistake. It should actually be "__be16 foo" and "be16_to_cpu()".

If we used sscanf() instead of hex2bin(), I might agree to use
"le16_to_cpu()" though.

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/