#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>
struct pool *pool; /* Stores related data. */
bool eject; /* Eject page before printing? */
bool include_prefix; /* Prefix lines with space? */
- enum legacy_encoding encoding; /* Encoding to use for output. */
+ const char *encoding; /* Encoding to use for output. */
struct dfm_writer *writer; /* Output file, NULL=listing file. */
struct ll_list specs; /* List of struct prt_out_specs. */
size_t record_cnt; /* Number of records to write. */
}
if (fh != NULL)
- tab_title (t, ngettext ("Writing %d record to %s.",
- "Writing %d records to %s.", trns->record_cnt),
+ tab_title (t, ngettext ("Writing %zu record to %s.",
+ "Writing %zu records to %s.", trns->record_cnt),
trns->record_cnt, fh_get_name (fh));
else
- tab_title (t, ngettext ("Writing %d record.",
- "Writing %d records.", trns->record_cnt),
+ tab_title (t, ngettext ("Writing %zu record.",
+ "Writing %zu records.", trns->record_cnt),
trns->record_cnt);
tab_submit (t);
}
else
{
ds_put_substring (&trns->line, ds_ss (&spec->string));
- if (trns->encoding != LEGACY_NATIVE)
+ if (0 != strcmp (trns->encoding, LEGACY_NATIVE))
{
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);
}
}
}