]> err.no Git - util-linux/commitdiff
mkswap: linux_version() code consolidation
authorKarel Zak <kzak@redhat.com>
Tue, 6 Nov 2007 01:40:49 +0000 (02:40 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 6 Nov 2007 01:40:49 +0000 (02:40 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
disk-utils/Makefile.am
disk-utils/mkswap.c

index ab44a3309665a5e4db0c311326f66950a600d7db..4b8f55c419c8f05029e596b05d3608a061e20805 100644 (file)
@@ -7,7 +7,7 @@ sbin_PROGRAMS = mkfs mkswap blockdev fsck.minix mkfs.minix mkfs.bfs
 fsck_minix_SOURCES = fsck.minix.c bitops.h minix.h
 mkfs_minix_SOURCES = mkfs.minix.c bitops.h minix.h
 mkfs_bfs_SOURCES = mkfs.bfs.c
-mkswap_SOURCES = mkswap.c swapheader.h
+mkswap_SOURCES = mkswap.c swapheader.h ../lib/linux_version.c
 
 usrbinexec_PROGRAMS = fdformat isosize
 
index b1cc6e748a051b432799ae1f0bf000bec58a543c..d61075b5128d64bb0f030384c8635eab2cb2839c 100644 (file)
@@ -46,6 +46,7 @@
 #include <selinux/context.h>
 #endif
 
+#include "linux_version.h"
 #include "swapheader.h"
 #include "xstrncpy.h"
 #include "nls.h"
@@ -70,24 +71,8 @@ static unsigned long badpages = 0;
 static int check = 0;
 static int version = -1;
 
-#define MAKE_VERSION(p,q,r)    (65536*(p) + 256*(q) + (r))
-
 #define SELINUX_SWAPFILE_TYPE  "swapfile_t"
 
-static int
-linux_version_code(void) {
-       struct utsname my_utsname;
-       int p, q, r;
-
-       if (uname(&my_utsname) == 0) {
-               p = atoi(strtok(my_utsname.release, "."));
-               q = atoi(strtok(NULL, "."));
-               r = atoi(strtok(NULL, "."));
-               return MAKE_VERSION(p,q,r);
-       }
-       return 0;
-}
-
 #ifdef __sparc__
 # ifdef __arch64__
 #  define is_sparc64() 1
@@ -597,7 +582,7 @@ main(int argc, char ** argv) {
                        version = 1;
                else
                /* use version 1 as default, if possible */
-               if (linux_version_code() < MAKE_VERSION(2,1,117))
+               if (get_linux_version() < KERNEL_VERSION(2,1,117))
                        version = 0;
                else if (pagesize < 2048)
                        version = 0;
@@ -619,9 +604,9 @@ main(int argc, char ** argv) {
 
        if (version == 0)
                maxpages = V0_MAX_PAGES;
-       else if (linux_version_code() >= MAKE_VERSION(2,3,4))
+       else if (get_linux_version() >= KERNEL_VERSION(2,3,4))
                maxpages = PAGES;
-       else if (linux_version_code() >= MAKE_VERSION(2,2,1))
+       else if (get_linux_version() >= KERNEL_VERSION(2,2,1))
                maxpages = V1_MAX_PAGES;
        else
                maxpages = V1_OLD_MAX_PAGES;