2013/2/18 OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>: > Namjae Jeon <linkinjeon@xxxxxxxxx> 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). I agree. I will change it as your opinion. Thanks a lot, OGAWA!. > > Thanks. > -- > OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html