free (name);
name = NULL;
- if (c == NULL)
- c = case_create (dict_get_proto (d));
- else
- c = case_unshare_and_resize (c, dict_get_proto (d));
-
- *case_data_rw (c, v) = value;
-
if (lex_match_id (lexer, "MISSING"))
{
struct missing_values mv;
mv_destroy (&mv);
}
+ if (c == NULL)
+ c = case_create (dict_get_proto (d));
+ else
+ c = case_unshare_and_resize (c, dict_get_proto (d));
+ value_swap (case_data_rw (c, v), &value);
+ value_destroy (&value, width);
+
if (!lex_force_match (lexer, T_RPAREN))
goto done;
}
switch (expr->type)
{
case OP_number:
+ case OP_num_vec_elem:
{
double d = expr_evaluate_num (expr, c, 0);
if (d == SYSMIS)