X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fvar-display.c;h=b615fe522b3f76286143daef43bca1b9b42cd49a;hb=e9599a2f8e86d986fff1518682ba8942bd67d1c0;hp=c69730f6f2a104abf607d64a9a335bb15bb15d7e;hpb=392ab4052e2743f80664a4130b2b4ee5d82af7fe;p=pspp-builds.git diff --git a/src/ui/gui/var-display.c b/src/ui/gui/var-display.c index c69730f6..b615fe52 100644 --- a/src/ui/gui/var-display.c +++ b/src/ui/gui/var-display.c @@ -4,34 +4,17 @@ #include #include #include +#include "psppire-dict.h" #include #define _(msgid) gettext (msgid) #define N_(msgid) msgid #include "helper.h" +#include -const static gchar none[] = N_("None"); +static const gchar none[] = N_("None"); -gchar * -name_to_string (const struct variable *var, GError **err) -{ - const char *name = var_get_name (var); - g_assert (name); - - return pspp_locale_to_utf8 (name, -1, err); -} - - -gchar * -label_to_string (const struct variable *var, GError **err) -{ - const char *label = var_get_label (var); - - if ( ! label ) return g_strdup (none); - - return pspp_locale_to_utf8 (label, -1, err); -} gchar * measure_to_string (const struct variable *var, GError **err) @@ -45,7 +28,7 @@ measure_to_string (const struct variable *var, GError **err) gchar * -missing_values_to_string (const struct variable *pv, GError **err) +missing_values_to_string (const PsppireDict *dict, const struct variable *pv, GError **err) { const struct fmt_spec *fmt = var_get_print_format (pv); gchar *s; @@ -62,15 +45,14 @@ missing_values_to_string (const struct variable *pv, GError **err) gint i; for (i = 0 ; i < n; ++i ) { - union value v; - mv_get_value (miss, &v, i); - mv[i] = value_to_text (v, *fmt); + mv[i] = value_to_text (*mv_get_value (miss, i), *fmt); if ( i > 0 ) g_string_append (gstr, ", "); g_string_append (gstr, mv[i]); g_free (mv[i]); } - s = pspp_locale_to_utf8 (gstr->str, gstr->len, err); + s = recode_string (UTF8, psppire_dict_encoding (dict), + gstr->str, gstr->len); g_string_free (gstr, TRUE); } else @@ -90,16 +72,15 @@ missing_values_to_string (const struct variable *pv, GError **err) if ( mv_has_value (miss)) { gchar *ss = 0; - union value v; - mv_get_value (miss, &v, 0); - ss = value_to_text (v, *fmt); + ss = value_to_text (*mv_get_value (miss, 0), *fmt); g_string_append (gstr, ", "); g_string_append (gstr, ss); free (ss); } - s = pspp_locale_to_utf8 (gstr->str, gstr->len, err); + s = recode_string (UTF8, psppire_dict_encoding (dict), + gstr->str, gstr->len); g_string_free (gstr, TRUE); }