outdent ();
}
dump (0, "free(p->s_%s);", st_lower(sbc->name) );
- dump (0, "p->s_%s = xstrdup (ds_c_str (&tokstr));",
+ dump (0, "p->s_%s = ds_xstrdup (&tokstr);",
st_lower (sbc->name));
dump (0, "lex_get ();");
if (sbc->restriction)
dump (0, "free (p->s_%s);", st_lower (sbc->name));
break;
case SBC_DBL_LIST:
- dump (0, "int i;");
- dump (1, "for(i = 0; i < MAXLISTS ; ++i)");
- dump (0, "subc_list_double_destroy(&p->dl_%s[i]);", st_lower (sbc->name));
+ dump (0, "{");
+ dump (1, "int i;");
+ dump (2, "for(i = 0; i < MAXLISTS ; ++i)");
+ dump (1, "subc_list_double_destroy(&p->dl_%s[i]);", st_lower (sbc->name));
+ dump (0, "}");
outdent();
break;
default:
dump (0, "#include <libpspp/alloc.h>");
dump (0, "#include <libpspp/message.h>");
dump (0, "#include <language/lexer/lexer.h>");
+ dump (0, "#include <language/lexer/variable-parser.h>");
dump (0, "#include <data/settings.h>");
dump (0, "#include <libpspp/str.h>");
dump (0, "#include <language/lexer/subcommand-list.h>");