[Parted-commits] GNU Parted Official Repository: Changes to 'master'

Jim Meyering meyering at alioth.debian.org
Tue Jun 7 16:55:24 UTC 2011


 libparted/arch/linux.c |   15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

New commits:
commit 0b6cd440ac094cefd791dba9d19d112aafd09fdf
Author: H. Peter Anvin <hpa at zytor.com>
Date:   Tue Jun 7 18:03:14 2011 +0200

    libparted: simplify kernel version-parsing logic
    
    * libparted/arch/linux.c: (_get_linux_version): Simplify and add
    an assertion.

diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 111816c..bfe2982 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -601,22 +601,17 @@ _get_linux_version ()
         static int kver = -1;
 
         struct utsname uts;
-        int major;
-        int minor;
-        int teeny;
+        int major = 0;
+        int minor = 0;
+        int teeny = 0;
 
         if (kver != -1)
                 return kver;
 
         if (uname (&uts))
                 return kver = 0;
-        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;
-
+        int n = sscanf (uts.release, "%u.%u.%u", &major, &minor, &teeny);
+        assert (n == 2 || n == 3);
         return kver = KERNEL_VERSION (major, minor, teeny);
 }
 



More information about the Parted-commits mailing list