Messages in this thread | | | Subject | Re: [PATCHv4] fat: don't use custom hex_to_bin() | From | Joe Perches <> | Date | Thu, 29 Sep 2011 11:41:47 -0700 |
| |
On Fri, 2011-09-30 at 03:27 +0900, OGAWA Hirofumi wrote: > Joe Perches <joe@perches.com> 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.
Funny.
I guess that's what I get for reading Andy's comment and coding that readably.
+ /* The ip contains 2 bytes in little + * endian format. We need to get them + * in native endian. */
| |