Messages in this thread | | | From | OGAWA Hirofumi <> | Subject | Re: [PATCH v6 4/7] fat: restructure export_operations | Date | Mon, 18 Feb 2013 23:38:07 +0900 |
| |
Namjae Jeon <linkinjeon@gmail.com> writes:
>>> + if (parent && (len < FAT_FID_SIZE_WITH_PARENT)) { >>> + *lenp = FAT_FID_SIZE_WITH_PARENT; >>> + return 255; >>> + } else if (len < FAT_FID_SIZE_WITHOUT_PARENT) { >>> + *lenp = FAT_FID_SIZE_WITHOUT_PARENT; >>> + return 255; >>> + } >> >> This check strange. "parent && len == FAT_FID_SIZE_WITHOUT_PARENT" will >> overwrite over limit of fh size? > I need to check more. because I followed the logic in > export_encode_fh() function.
Ah, my fault, it doesn't have real problem. But code is quite strange.
If input is "parent && len >= FAT_FID_SIZE_WITHOUT_PARENT", "else if (len < FAT_FID_SIZE_WITHOUT_PARENT)" check is entirely useless, but this code itself checks "len".
if (parent) { if (len < FAT_FID_SIZE_WITH_PARENT) /* error */ } else { if (len < FAT_FID_SIZE_WITHOUT_PARENT) /* error */ }
I think this would readable, and I guess this will generates faster/simpler code (at least, this doesn't depends an optimization of gcc).
Thanks. -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
| |