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.
This commit is contained in:
Ryan Lortie 2010-10-03 23:26:18 -04:00
parent 61563d5f55
commit 8efcc0d8c8

View File

@ -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);