From 8efcc0d8c86b588eb0ee0e60d3c60d8c107734b5 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Sun, 3 Oct 2010 23:26:18 -0400 Subject: [PATCH] glib-compile-schemas: write strinfo little endian Ensure that the strinfo is output in little-endian byte order on big endian machines. GSettings is now passing all of its tests on PowerPC. Bug #630968 is closed. --- gio/glib-compile-schemas.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c index c2725b4..2c97261 100644 --- a/gio/glib-compile-schemas.c +++ b/gio/glib-compile-schemas.c @@ -624,12 +624,18 @@ key_state_serialise (KeyState *state) if (state->strinfo->len) { GVariant *array; + guint32 *words; gpointer data; gsize size; + gint i; data = state->strinfo->str; size = state->strinfo->len; + words = data; + for (i = 0; i < size / sizeof (guint32); i++) + words[i] = GUINT32_TO_LE (words[i]); + array = g_variant_new_from_data (G_VARIANT_TYPE ("au"), data, size, TRUE, g_free, data); -- 2.7.4