HOST command needs F_KEEP_FINAL_TOKEN.
[pspp] / src / language / expressions / operations.def
index 303c1d5c9103e50ea2b3397f32e3b25bed431702..85e4d6c433a01365e6c4600a79c1d836fc89ef34 100644 (file)
@@ -566,15 +566,8 @@ string function RTRIM (string s, string c)
 
 function NUMBER (string s, ni_format f)
 {
-  struct data_in di;
   union value out;
-  di.s = s.string;
-  di.v = &out;
-  di.flags = DI_IMPLIED_DECIMALS;
-  di.f1 = 1;
-  di.format = *f;
-  di.e = s.string + min (s.length, di.format.w);
-  data_in (&di);
+  data_in (ss_head (s, f->w), f->type, f->d, 0, &out, 0);
   return out.f;
 }
 
@@ -587,7 +580,7 @@ absorb_miss string function STRING (x, no_format f)
   v.f = x;
   dst = alloc_string (e, f->w);
   assert (!fmt_is_string (f->type));
-  data_out (dst.string, f, &v);
+  data_out (&v, f, dst.string);
   return dst;
 }