X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fexpressions%2Foperations.def;h=d283867214811ea142d83cafd39d9b69faf2a0a0;hb=a5097a183f00ab2d2dc538ba7094a4696e2fea04;hp=2d31bd47182dcb158d9f9c50e644fb03bb7b07bf;hpb=deb4fd96c0c171fc8eb64f7f1e7f5c2af4931416;p=pspp-builds.git diff --git a/src/language/expressions/operations.def b/src/language/expressions/operations.def index 2d31bd47..d2838672 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; }