Blame SOURCES/0037-libparted-Fix-probing-AIX-disks-on-other-arches.patch

003ee8
From 85cec179048914d165e3a11b1d8d8c759725d236 Mon Sep 17 00:00:00 2001
003ee8
From: "Brian C. Lane" <bcl@redhat.com>
003ee8
Date: Fri, 6 May 2016 14:39:09 -0700
003ee8
Subject: [PATCH 37/38] libparted: Fix probing AIX disks on other arches
003ee8
003ee8
Not a likely scenario, but make sure the magic check works everywhere.
003ee8
003ee8
(cherry picked from commit 24cd71c0a7c4b2abdfff04be5a088a44ab5df2fe)
003ee8
---
003ee8
 libparted/labels/aix.c | 18 +++---------------
003ee8
 1 file changed, 3 insertions(+), 15 deletions(-)
003ee8
003ee8
diff --git a/libparted/labels/aix.c b/libparted/labels/aix.c
003ee8
index 0fa6fe7..a831d95 100644
003ee8
--- a/libparted/labels/aix.c
003ee8
+++ b/libparted/labels/aix.c
003ee8
@@ -34,23 +34,11 @@
003ee8
 #  define _(String) (String)
003ee8
 #endif /* ENABLE_NLS */
003ee8
 
003ee8
-#define	AIX_LABEL_MAGIC		0xc9c2d4c1
003ee8
+#define	AIX_LABEL_MAGIC		(0xc9c2d4c1UL)
003ee8
 #define	MAX_TOTAL_PART		16
003ee8
 
003ee8
 static PedDiskType aix_disk_type;
003ee8
 
003ee8
-static inline int
003ee8
-aix_label_magic_get (const char *label)
003ee8
-{
003ee8
-	return *(unsigned int *)label;
003ee8
-}
003ee8
-
003ee8
-static inline void
003ee8
-aix_label_magic_set (char *label, int magic_val)
003ee8
-{
003ee8
-	*(unsigned int *)label = magic_val;
003ee8
-}
003ee8
-
003ee8
 static int
003ee8
 aix_probe (const PedDevice *dev)
003ee8
 {
003ee8
@@ -59,9 +47,9 @@ aix_probe (const PedDevice *dev)
003ee8
 	void *label;
003ee8
 	if (!ptt_read_sector (dev, 0, &label))
003ee8
 		return 0;
003ee8
-	unsigned int magic = aix_label_magic_get (label);
003ee8
+	bool found = PED_BE32_TO_CPU(*(uint32_t *)label) == AIX_LABEL_MAGIC;
003ee8
 	free (label);
003ee8
-	return magic == AIX_LABEL_MAGIC;
003ee8
+	return found;
003ee8
 }
003ee8
 
003ee8
 static PedDisk*
003ee8
-- 
003ee8
2.5.5
003ee8