vv[IDX_DATA] = g_variant_new_from_data (G_VARIANT_TYPE_BYTESTRING, q,
width + 1, FALSE, NULL, NULL);
}
-
+
return g_variant_new_tuple (vv, 2);
}
else
{
const gchar *data = g_variant_get_bytestring (vdata);
+ size_t len = strlen (data);
if (width <= MAX_SHORT_STRING)
- memcpy (val->short_string, data, MAX_SHORT_STRING);
+ memcpy (val->short_string, data, MIN (MAX_SHORT_STRING, len));
else
- {
- val->long_string = xmemdup (data, width);
- }
+ val->long_string = xmemdup (data, MIN (width, len));
}
g_variant_unref (vdata);