- if (st && st->ss->swapuuid) {
- printf(" UUID : %08x.%08x.%08x.%08x\n",
- swapl(*(__u32 *)(sb->uuid+0)),
- swapl(*(__u32 *)(sb->uuid+4)),
- swapl(*(__u32 *)(sb->uuid+8)),
- swapl(*(__u32 *)(sb->uuid+12)));
- } else {
- printf(" UUID : %08x.%08x.%08x.%08x\n",
- *(__u32 *)(sb->uuid+0),
- *(__u32 *)(sb->uuid+4),
- *(__u32 *)(sb->uuid+8),
- *(__u32 *)(sb->uuid+12));
- }
+ if (st)
+ swap = st->ss->swapuuid;
+ else
+#if __BYTE_ORDER == BIG_ENDIAN
+ swap = 0;
+#else
+ swap = 1;
+#endif
+ memcpy(uuid32, sb->uuid, 16);
+ if (swap)
+ printf(" UUID : %08x:%08x:%08x:%08x\n",
+ swapl(uuid32[0]),
+ swapl(uuid32[1]),
+ swapl(uuid32[2]),
+ swapl(uuid32[3]));
+ else
+ printf(" UUID : %08x:%08x:%08x:%08x\n",
+ uuid32[0],
+ uuid32[1],
+ uuid32[2],
+ uuid32[3]);
+