[Spice-devel] [spice-common PATCH 1/3] ppc: Fix lz magic endianess

Lukas Venhoda lvenhoda at redhat.com
Thu Jun 18 10:50:26 PDT 2015


Commit d39dfbfe changes to be lz magic always treated as LE when encoded.

Changing lz magic to constant instead of a runtime coversion from string
to int is a better way to go. This way lz magic will stay the same on
both BE and LE machines.

This commit reverts d39dfbfe changes in lz.c while keeping the rest.
They will be needed in future commit for quic.c
---
I didn't revert the patch, because I still need glib.h, but in different file.
---
 common/lz.c        | 4 +---
 common/lz_common.h | 3 ++-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/common/lz.c b/common/lz.c
index 2350152..d1c4033 100644
--- a/common/lz.c
+++ b/common/lz.c
@@ -47,8 +47,6 @@
 #include <config.h>
 #endif

-#include <glib.h>
-
 #include "spice_common.h"
 #include "lz.h"

@@ -539,7 +537,7 @@ int lz_encode(LzContext *lz, LzImageType type, int width, int height, int top_do
         encoder->usr->error(encoder->usr, "lz encoder reading image segments failed\n");
     }

-    encode_32(encoder, GUINT32_TO_LE(LZ_MAGIC));
+    encode_32(encoder, LZ_MAGIC);
     encode_32(encoder, LZ_VERSION);
     encode_32(encoder, type);
     encode_32(encoder, width);
diff --git a/common/lz_common.h b/common/lz_common.h
index 8d4861b..78df003 100644
--- a/common/lz_common.h
+++ b/common/lz_common.h
@@ -63,7 +63,8 @@ verify(SPICE_N_ELEMENTS(IS_IMAGE_TYPE_RGB) == (LZ_IMAGE_TYPE_A8 + 1));
 verify(SPICE_N_ELEMENTS(PLT_PIXELS_PER_BYTE) == (LZ_IMAGE_TYPE_PLT8 + 1));
 verify(SPICE_N_ELEMENTS(RGB_BYTES_PER_PIXEL) == (LZ_IMAGE_TYPE_A8 + 1));

-#define LZ_MAGIC (*(uint32_t *)"LZ  ")
+/* ASCII "LZ  " */
+#define LZ_MAGIC 0x20205a4c
 #define LZ_VERSION_MAJOR 1U
 #define LZ_VERSION_MINOR 1U
 #define LZ_VERSION ((LZ_VERSION_MAJOR << 16) | (LZ_VERSION_MINOR & 0xffff))
--
2.4.3



More information about the Spice-devel mailing list