Because we have called bind_text_domain_codeset, gettext always
returns strings in UTF8 encoding. It's therefore not correct to
convert them again. Thanks to Michel Boaventura for reporting
this problem.
switch ( write_spec->type )
{
case FMT_F:
switch ( write_spec->type )
{
case FMT_F:
- return g_locale_to_utf8 (gettext (type_label[VT_NUMERIC]), -1, 0, 0, err);
+ return xstrdup (gettext (type_label[VT_NUMERIC]));
- return g_locale_to_utf8 (gettext (type_label[VT_COMMA]), -1, 0, 0, err);
+ return xstrdup (gettext (type_label[VT_COMMA]));
- return g_locale_to_utf8 (gettext (type_label[VT_DOT]), -1, 0, 0, err);
+ return xstrdup (gettext (type_label[VT_DOT]));
- return g_locale_to_utf8 (gettext (type_label[VT_SCIENTIFIC]), -1, 0, 0, err);
+ return xstrdup (gettext (type_label[VT_SCIENTIFIC]));
break;
case FMT_DATE:
case FMT_EDATE:
break;
case FMT_DATE:
case FMT_EDATE:
case FMT_DTIME:
case FMT_WKDAY:
case FMT_MONTH:
case FMT_DTIME:
case FMT_WKDAY:
case FMT_MONTH:
- return g_locale_to_utf8 (gettext (type_label[VT_DATE]), -1, 0, 0, err);
+ return xstrdup (gettext (type_label[VT_DATE]));
- return g_locale_to_utf8 (gettext (type_label[VT_DOLLAR]), -1, 0, 0, err);
+ return xstrdup (gettext (type_label[VT_DOLLAR]));
break;
case FMT_CCA:
case FMT_CCB:
case FMT_CCC:
case FMT_CCD:
case FMT_CCE:
break;
case FMT_CCA:
case FMT_CCB:
case FMT_CCC:
case FMT_CCD:
case FMT_CCE:
- return g_locale_to_utf8 (gettext (type_label[VT_CUSTOM]), -1, 0, 0, err);
+ return xstrdup (gettext (type_label[VT_CUSTOM]));
- return g_locale_to_utf8 (gettext (type_label[VT_STRING]), -1, 0, 0, err);
+ return xstrdup (gettext (type_label[VT_STRING]));
case PSPPIRE_VAR_STORE_COL_VALUES:
{
if ( ! var_has_value_labels (pv))
case PSPPIRE_VAR_STORE_COL_VALUES:
{
if ( ! var_has_value_labels (pv))
- return g_locale_to_utf8 (gettext (none), -1, 0, 0, err);
+ return xstrdup (gettext (none));
else
{
const struct val_labs *vls = var_get_value_labels (pv);
else
{
const struct val_labs *vls = var_get_value_labels (pv);
const gint align = var_get_alignment (pv);
g_assert (align < n_ALIGNMENTS);
const gint align = var_get_alignment (pv);
g_assert (align < n_ALIGNMENTS);
- return g_locale_to_utf8 (gettext (alignments[align]), -1, 0, 0, err);
+ return xstrdup (gettext (alignments[align]));
}
break;
case PSPPIRE_VAR_STORE_COL_MEASURE:
{
}
break;
case PSPPIRE_VAR_STORE_COL_MEASURE:
{
- return measure_to_string (pv, err);
+ return xstrdup (measure_to_string (pv, err));
const gint measure = var_get_measure (var);
g_assert (measure < n_MEASURES);
const gint measure = var_get_measure (var);
g_assert (measure < n_MEASURES);
- return g_locale_to_utf8 (gettext (measures[measure]),
- -1, 0, 0, err);
+ return gettext (measures[measure]);
gchar *s;
const struct missing_values *miss = var_get_missing_values (pv);
if ( mv_is_empty (miss))
gchar *s;
const struct missing_values *miss = var_get_missing_values (pv);
if ( mv_is_empty (miss))
- return g_locale_to_utf8 (gettext (none), -1, 0, 0, err);
+ return xstrdup (gettext (none));
else
{
if ( ! mv_has_range (miss))
else
{
if ( ! mv_has_range (miss))
text = measure_to_string (var, NULL);
g_string_append_printf (gstring, _("Measurement Level: %s\n"),
text);
text = measure_to_string (var, NULL);
g_string_append_printf (gstring, _("Measurement Level: %s\n"),
text);