#include <language/lexer/lexer.h>
#include <language/lexer/variable-parser.h>
#include <libpspp/assertion.h>
+#include <libpspp/i18n.h>
#include <libpspp/compiler.h>
#include <libpspp/ll.h>
#include <libpspp/message.h>
switch (spec->type)
{
case PRT_LITERAL:
- tab_text (t, 0, row, TAB_LEFT | TAB_FIX | TAT_PRINTF, "\"%.*s\"",
- (int) ds_length (&spec->string), ds_data (&spec->string));
+ tab_text_format (t, 0, row, TAB_LEFT | TAB_FIX, "\"%.*s\"",
+ (int) ds_length (&spec->string),
+ ds_data (&spec->string));
width = ds_length (&spec->string);
break;
case PRT_VAR:
default:
NOT_REACHED ();
}
- tab_text (t, 1, row, TAT_PRINTF, "%d", spec->record);
- tab_text (t, 2, row, TAT_PRINTF, "%3d-%3d",
- spec->first_column, spec->first_column + width - 1);
+ tab_text_format (t, 1, row, 0, "%d", spec->record);
+ tab_text_format (t, 2, row, 0, "%3d-%3d",
+ spec->first_column, spec->first_column + width - 1);
row++;
}
{
size_t length = ds_length (&spec->string);
char *data = ss_data (ds_tail (&trns->line, length));
- legacy_recode (LEGACY_NATIVE, data,
- trns->encoding, data, length);
+ char *s = recode_string (trns->encoding, LEGACY_NATIVE, data, length);
+ memcpy (data, s, length);
+ free (s);
}
}
}