#include "size_max.h"
#include <data/case.h>
#include <data/dictionary.h>
+#include <data/data-out.h>
#include <data/format.h>
#include <data/procedure.h>
#include <data/variable.h>
/* Parses and executes the LIST procedure. */
int
-cmd_list (struct dataset *ds)
+cmd_list (struct lexer *lexer, struct dataset *ds)
{
struct variable casenum_var;
bool ok;
- if (!parse_list (ds, &cmd, NULL))
+ if (!parse_list (lexer, ds, &cmd, NULL))
return CMD_FAILURE;
/* Fill in defaults. */
strcpy (casenum_var.name, "Case#");
casenum_var.type = NUMERIC;
casenum_var.fv = -1;
- casenum_var.print = make_output_format (FMT_F,
- (cmd.last == LONG_MAX
- ? 5 : intlog10 (cmd.last)), 0);
+ casenum_var.print = fmt_for_output (FMT_F,
+ (cmd.last == LONG_MAX
+ ? 5 : intlog10 (cmd.last)), 0);
/* Add the weight variable at the beginning of the variable list. */
cmd.n_variables++;
ds_put_char_multiple(&line_buffer, ' ', width - v->print.w);
}
- if ((formats[v->print.type].cat & FCAT_STRING) || v->fv != -1)
+ if (fmt_is_string (v->print.type) || v->fv != -1)
{
- data_out (ds_put_uninit(&line_buffer, v->print.w),
- &v->print, case_data (c, v->fv));
+ data_out (case_data (c, v->fv), &v->print,
+ ds_put_uninit (&line_buffer, v->print.w));
}
else
{
union value case_idx_value;
case_idx_value.f = case_idx;
- data_out (ds_put_uninit(&line_buffer,v->print.w),
- &v->print, &case_idx_value);
+ data_out (&case_idx_value, &v->print,
+ ds_put_uninit (&line_buffer,v->print.w));
}
ds_put_char(&line_buffer, ' ');
struct variable *v = cmd.v_variables[column];
char buf[256];
- if ((formats[v->print.type].cat & FCAT_STRING) || v->fv != -1)
- data_out (buf, &v->print, case_data (c, v->fv));
+ if (fmt_is_string (v->print.type) || v->fv != -1)
+ data_out (case_data (c, v->fv), &v->print, buf);
else
{
union value case_idx_value;
case_idx_value.f = case_idx;
- data_out (buf, &v->print, &case_idx_value);
+ data_out (&case_idx_value, &v->print, buf);
}
fputs (" <TD>", x->file);