syntax-gen: Test the category properly.
[pspp] / src / ui / syntax-gen.c
index 27e61e4253b476607f37ef4f3ddecfb005db9e19..54a7845b70d44722c6b3bcb531def0556a3365fd 100644 (file)
@@ -29,6 +29,7 @@
 #include "libpspp/cast.h"
 #include "libpspp/i18n.h"
 #include "libpspp/message.h"
+#include "data/settings.h"
 #include "libpspp/str.h"
 #include "libpspp/misc.h"
 
@@ -148,7 +149,7 @@ syntax_gen_number (struct string *output,
 {
   assert (format == NULL || fmt_is_numeric (format->type));
   if (format != NULL
-      && (format->type
+      && (fmt_get_category (format->type)
           & (FMT_CAT_DATE | FMT_CAT_TIME | FMT_CAT_DATE_COMPONENT)))
     {
       union value v_in, v_out;
@@ -156,10 +157,11 @@ syntax_gen_number (struct string *output,
       bool ok;
 
       v_in.f = number;
-      s = data_out (&v_in, "FIXME",  format);
+      s = data_out (&v_in, "FIXME", format, settings_get_fmt_settings ());
 
       /* FIXME: UTF8 encoded strings will fail here */
-      error = data_in (ss_cstr (s), C_ENCODING, format->type, &v_out, 0, NULL);
+      error = data_in (ss_cstr (s), C_ENCODING, format->type,
+                       settings_get_fmt_settings (), &v_out, 0, NULL);
       ok = error == NULL;
       free (error);