H. Peter Anvin wrote: > On 06/05/2011 09:17 AM, Jim Meyering wrote: >> >> diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c >> index aeaf98f..111816c 100644 >> --- a/libparted/arch/linux.c >> +++ b/libparted/arch/linux.c >> @@ -610,7 +610,11 @@ _get_linux_version () >> >> if (uname (&uts)) >> return kver = 0; >> - if (sscanf (uts.release, "%u.%u.%u", &major, &minor, &teeny) != 3) >> + if (sscanf (uts.release, "%u.%u.%u", &major, &minor, &teeny) == 3) >> + ; /* ok */ >> + else if (sscanf (uts.release, "%u.%u", &major, &minor) == 2) >> + teeny = 0; >> + else >> return kver = 0; >> > > How about: > > major = minor = teeny = 0; > sscanf(uts.release, "%u.%u.%u", &major, &minor, &teeny); > > return kver = KERNEL_VERSION(major, minor, teeny);
Thanks, that would work, modulo an invalid uts.release -- admittedly unlikely -- but I prefer not to ignore sscanf's return value. _______________________________________________ parted-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/parted-devel

