Use the msg function to report errors wherever possible.
[pspp] / src / output / tab.c
index 7ce860f14e09c1e357eb11bafce1d3dba1d766b9..5bde1b7c418c57d05bdbb78d42dae37ec32e09ef 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include <stdlib.h>
 
 #include "data/data-out.h"
-#include "data/dictionary.h"
 #include "data/format.h"
 #include "data/settings.h"
 #include "data/value.h"
+#include "data/variable.h"
 #include "libpspp/assertion.h"
 #include "libpspp/compiler.h"
 #include "libpspp/i18n.h"
@@ -38,7 +38,6 @@
 #include "output/table-provider.h"
 #include "output/text-item.h"
 
-#include "gl/error.h"
 #include "gl/minmax.h"
 #include "gl/xalloc.h"
 
@@ -360,7 +359,7 @@ tab_box (struct tab_table *t, int f_h, int f_v, int i_h, int i_v,
    from V, displayed with format spec F. */
 void
 tab_value (struct tab_table *table, int c, int r, unsigned char opt,
-          const union value *v, const struct dictionary *dict, 
+          const union value *v, const struct variable *var,
           const struct fmt_spec *f)
 {
   char *contents;
@@ -379,7 +378,9 @@ tab_value (struct tab_table *table, int c, int r, unsigned char opt,
     }
 #endif
 
-  contents = data_out_pool (v, dict_get_encoding (dict), f, table->container);
+  contents = data_out_stretchy (v, var_get_encoding (var),
+                                f != NULL ? f : var_get_print_format (var),
+                                table->container);
 
   table->cc[c + r * table->cf] = contents;
   table->ct[c + r * table->cf] = opt;
@@ -417,7 +418,7 @@ tab_fixed (struct tab_table *table, int c, int r, unsigned char opt,
 #endif
 
   double_value.f = val;
-  s = data_out_pool (&double_value, C_ENCODING, &f, table->container);
+  s = data_out_stretchy (&double_value, C_ENCODING, &f, table->container);
 
   table->cc[c + r * table->cf] = s + strspn (s, " ");
   table->ct[c + r * table->cf] = opt;
@@ -459,7 +460,7 @@ tab_double (struct tab_table *table, int c, int r, unsigned char opt,
 #endif
 
   double_value.f = val;
-  s = data_out_pool (&double_value, C_ENCODING, fmt, table->container);
+  s = data_out_stretchy (&double_value, C_ENCODING, fmt, table->container);
   table->cc[c + r * table->cf] = s + strspn (s, " ");
   table->ct[c + r * table->cf] = opt;
 }
@@ -765,6 +766,6 @@ static const struct table_class tab_table_class =
 struct tab_table *
 tab_cast (const struct table *table)
 {
-  assert (table->class == &tab_table_class);
+  assert (table->klass == &tab_table_class);
   return UP_CAST (table, struct tab_table, table);
 }