#include "libpspp/misc.h"
#include "libpspp/pool.h"
#include "libpspp/u8-line.h"
+#include "output/driver.h"
#include "output/pivot-table.h"
#include "output/table.h"
-#include "output/page-break-item.h"
-#include "output/text-item.h"
+#include "output/output-item.h"
#include "gl/xalloc.h"
{
lex_match (lexer, T_EQUALS);
lex_match (lexer, T_LPAREN);
- if (!lex_force_int (lexer))
+ if (!lex_force_int_range (lexer, "RECORDS", 0, INT_MAX))
goto error;
trns->record_cnt = lex_integer (lexer);
lex_get (lexer);
{
*eject = false;
if (trns->writer == NULL)
- page_break_item_submit (page_break_item_create ());
+ output_item_submit (page_break_item_create ());
else
leader = '1';
}
*u8_line_reserve (line, 0, 1, 1) = leader;
if (trns->writer == NULL)
- text_item_submit (text_item_create (TEXT_ITEM_LOG,
- ds_cstr (&line->s) + 1,
- NULL));
+ output_log ("%s", ds_cstr (&line->s) + 1);
else
{
size_t len = ds_length (&line->s);
len--;
}
- if (is_encoding_utf8 (trns->encoding))
- dfm_put_record (trns->writer, s, len);
- else
- {
- char *recoded = recode_string (trns->encoding, UTF8, s, len);
- dfm_put_record (trns->writer, recoded, strlen (recoded));
- free (recoded);
- }
+ dfm_put_record_utf8 (trns->writer, s, len);
}
}
}