Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
+/* FIXME: seems like a lot of code duplication with data-list.c. */
+
#include <config.h>
#include <assert.h>
#include <stdlib.h>
static int nrec;
static int internal_cmd_print (int flags);
-static int print_trns_proc (struct trns_header *, struct ccase *);
-static void print_trns_free (struct trns_header *);
+static trns_proc_func print_trns_proc;
+static trns_free_func print_trns_free;
static int parse_specs (void);
static void dump_table (void);
static void append_var_spec (struct prt_out_spec *spec);
static struct fmt_list *
fixed_parse_fortran (void)
{
- struct fmt_list *head;
+ struct fmt_list *head = NULL;
struct fmt_list *fl = NULL;
lex_get (); /* skip opening parenthesis */
pot_w = i->fc + 1;
break;
case PRT_ERROR:
+ default:
assert (0);
- break;
}
if (pot_w > w)
w = pot_w;
/* Performs the transformation inside print_trns T on case C. */
static int
-print_trns_proc (struct trns_header * trns, struct ccase * c)
+print_trns_proc (struct trns_header * trns, struct ccase * c,
+ int case_num UNUSED)
{
/* Transformation. */
struct print_trns *t = (struct print_trns *) trns;
break;
case PRT_VAR:
- if (i->u.v.v->type == NUMERIC)
- data_out (&buf[i->fc], &i->u.v.f, &c->data[i->u.v.v->fv]);
- else
- {
- union value t;
- t.c = c->data[i->u.v.v->fv].s;
- data_out (&buf[i->fc], &i->u.v.f, &t);
- }
+ data_out (&buf[i->fc], &i->u.v.f, &c->data[i->u.v.v->fv]);
len = i->fc + i->u.v.f.w;
break;
}
print_space_trns;
-static int print_space_trns_proc (struct trns_header *, struct ccase *);
-static void print_space_trns_free (struct trns_header *);
+static trns_proc_func print_space_trns_proc;
+static trns_free_func print_space_trns_free;
int
cmd_print_space (void)
}
static int
-print_space_trns_proc (struct trns_header * trns, struct ccase * c)
+print_space_trns_proc (struct trns_header * trns, struct ccase * c,
+ int case_num UNUSED)
{
struct print_space_trns *t = (struct print_space_trns *) trns;
int n;
{
union value v;
- expr_evaluate (t->e, c, &v);
+ expr_evaluate (t->e, c, case_num, &v);
n = v.f;
if (n < 0)
{