X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fexpressions%2Foperations.def;h=d283867214811ea142d83cafd39d9b69faf2a0a0;hb=0cef299dab442edb73b5942408b38bf5aefe7489;hp=2d31bd47182dcb158d9f9c50e644fb03bb7b07bf;hpb=9a331fe64eb814ae5c1322e21717a04fb254bf65;p=pspp diff --git a/src/language/expressions/operations.def b/src/language/expressions/operations.def index 2d31bd4718..d283867214 100644 --- a/src/language/expressions/operations.def +++ b/src/language/expressions/operations.def @@ -573,7 +573,7 @@ string function RTRIM (string s, string c) function NUMBER (string s, ni_format f) { union value out; - data_in (ss_head (s, f->w), LEGACY_NATIVE, f->type, f->d, 0, 0, &out, 0); + data_in (ss_head (s, f->w), LEGACY_NATIVE, f->type, f->d, 0, 0, NULL, &out, 0); return out.f; } @@ -582,11 +582,15 @@ absorb_miss string function STRING (x, no_format f) { union value v; struct substring dst; + char *s; v.f = x; - dst = alloc_string (e, f->w); + assert (!fmt_is_string (f->type)); - data_out (&v, f, dst.string); + s = data_out (&v, LEGACY_NATIVE, f); + dst = alloc_string (e, strlen (s)); + strcpy (dst.string, s); + free (s); return dst; }