Change "union value" to dynamically allocate long strings.
[pspp-builds.git] / src / language / xforms / compute.c
index 9f65491ef50afdd1485d74e7faf84d49e635704d..09fc2155abc82c0a678364301b1ea0de6b3fa9c9 100644 (file)
@@ -175,7 +175,7 @@ compute_str (void *compute_, struct ccase **c, casenumber case_num)
     {
       *c = case_unshare (*c);
       expr_evaluate_str (compute->rvalue, *c, case_num,
-                         case_data_rw (*c, compute->variable)->s,
+                         case_str_rw (*c, compute->variable),
                          compute->width);
     }
 
@@ -216,8 +216,7 @@ compute_str_vec (void *compute_, struct ccase **c, casenumber case_num)
       vr = vector_get_var (compute->vector, rindx - 1);
       *c = case_unshare (*c);
       expr_evaluate_str (compute->rvalue, *c, case_num,
-                         case_data_rw (*c, vr)->s,
-                         var_get_width (vr));
+                         case_str_rw (*c, vr), var_get_width (vr));
     }
 
   return TRNS_CONTINUE;