X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fvalue-variant.c;h=7c85786f6c1745a2b7d0cb281c3022612109b055;hb=2c4b104df57f2e8b5ed2afa50819294aaac4aa6c;hp=ef40935a8f05ebcdbc4053be76cef78bbdcd4023;hpb=afb3e3afa5ee6bc26d118e20e277eb03ddc6fac5;p=pspp diff --git a/src/ui/gui/value-variant.c b/src/ui/gui/value-variant.c index ef40935a8f..7c85786f6c 100644 --- a/src/ui/gui/value-variant.c +++ b/src/ui/gui/value-variant.c @@ -17,11 +17,9 @@ #include #include -#include #include "value-variant.h" #include "data/value.h" - enum { IDX_WIDTH, @@ -42,10 +40,9 @@ value_variant_new (const union value *in, int width) vv[IDX_DATA] = g_variant_new_double (in->f); else { - gchar *q = xmalloc (width); - memcpy (q, in->s, width); vv[IDX_DATA] = g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, - q, width, sizeof (gchar)); + in->s, width, + sizeof (gchar)); } return g_variant_new_tuple (vv, 2); @@ -79,7 +76,9 @@ value_variant_get (union value *val, GVariant *v) else { gsize w; - const gchar *data = g_variant_get_fixed_array (vdata, &w, sizeof (gchar)); + const gchar *data = + g_variant_get_fixed_array (vdata, &w, sizeof (gchar)); + if (w != width) g_critical ("Value variant's width does not match its array size"); val->s = xmemdup (data, w);