+ int width = var_get_width (variable);
+
+ union value val;
+ value_init (&val, width);
+ char *xx =
+ data_in (ss_cstr (in), psppire_dict_encoding (store->dict),
+ fmt->type, &val, width, "UTF-8");
+
+ GVariant *vrnt = value_variant_new (&val, width);
+ value_destroy (&val, width);
+
+ g_value_init (out, G_TYPE_VARIANT);
+ g_value_set_variant (out, vrnt);
+ free (xx);
+}
+
+gchar *
+myconvfunc (GtkTreeModel *model, gint col, gint row, const GValue *v)
+{
+ PsppireDataStore *store = PSPPIRE_DATA_STORE (model);
+
+ const struct variable *variable = psppire_dict_get_variable (store->dict, col);
+ g_return_val_if_fail (variable, g_strdup ("???"));
+
+ GVariant *vrnt = g_value_get_variant (v);
+ union value val;
+ value_variant_get (&val, vrnt);
+
+ const struct fmt_spec *fmt = var_get_print_format (variable);
+ char *out = data_out (&val, psppire_dict_encoding (store->dict), fmt);
+ value_destroy_from_variant (&val, vrnt);
+
+ return out;
+}