On Tue, Jul 5, 2011 at 12:31 PM, Fam Zheng <famc...@gmail.com> wrote: > + ret = sscanf(p, "%10s %lld %10s %512s", [...] > + ret = sscanf(p, "%10s %lld %10s %511s %lld",
%512s -> %511s But instead of duplicating the format string and sscanf(3), I suggest doing sscanf(p, "%10s %lld %10s %511s %lld", ...) once only. After it returns you can check: if (ret < 4) { ...fail... } else if (!strcmp(access, "FLAT")) { if (ret != 5 || flat_offset < 0) { ...fail... } } else { if (ret != 4) { ...fail... } } Stefan