-static void flush_records (struct print_trns *, int target_record,
- bool *eject, int *record);
+static void
+print_literal (struct print_trns *trns, const struct prt_out_spec *spec)
+{
+ const char *s = ds_data (&spec->string);
+ int n = ds_length (&spec->string);
+ int width = u8_width (s, n, UTF8);
+
+ u8_line_put (&trns->line, x0, x0 + width, s, n);
+}
+
+static void
+print_var (struct print_trns *trns, const struct prt_out_spec *spec,
+ const union value *value)
+{
+ int x0 = spec->first_column;
+
+ if (!spec->sysmis_as_spaces || input->f != SYSMIS)
+ {
+ char *s = data_out (input, var_get_encoding (spec->var), &spec->format);
+ size_t n = strlen (s);
+
+ x1 = ;
+ u8_line_put (&trns->line, x0, x1, s, n);
+ free (s);
+ }
+ else
+ {
+ x1 = x0 + spec->format.w;
+ memset (u8_line_reserve (&trns->line, x0, x1, x1 - x0),
+ ' ', x1 - x0);
+ }
+
+
+}