>From 420a511e0aa787168c9eb2434c34bc2e405a0d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20Sch=C3=B6nfeld?= Date: Sun, 28 Jun 2015 23:06:45 +0200 Subject: [PATCH] WIP --- GVariant.xs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/GVariant.xs b/GVariant.xs index e359829..7fddee8 100644 --- a/GVariant.xs +++ b/GVariant.xs @@ -279,10 +279,14 @@ gboolean g_variant_is_container (GVariant *value); const char * g_variant_classify (GVariant *value); PREINIT: - GVariantClass vclass; + char vclass_char[2]; CODE: - vclass = g_variant_classify (value); - RETVAL = (const char *) &vclass; + /* g_variant_classify's return value is of type GVariantClass, which is + * probably wider than a char, so we must not treat its address as a + * string on big-endian machines. */ + vclass_char[0] = g_variant_classify (value); + vclass_char[1] = 0; + RETVAL = vclass_char; OUTPUT: RETVAL -- 2.1.0