{
dump (0, "p->%sv_%s = parse_variable ();",
st_lower (sbc->prefix), st_lower (sbc->name));
- dump (1, "if (p->%sv_%s)",
+ dump (1, "if (!p->%sv_%s)",
st_lower (sbc->prefix), st_lower (sbc->name));
dump (0, "goto lossage;");
outdent ();
dump (0, " Generated by q2c from %s on %s.", ifn, timep);
dump (0, " Do not modify!");
dump (0, " */");
-
- dump (0, nullstr);
- dump (0, "#include \"settings.h\"");
- dump (0, "#include \"subclist.h\"");
- dump (0, nullstr);
}
/* Write out commands to free variable state. */
dump (0, "free (p->s_%s);", st_lower (sbc->name));
break;
case SBC_DBL_LIST:
- dump (0, "subc_list_double_destroy(p->dl_%s);", st_lower (sbc->name));
+ 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));
+ outdent();
break;
default:
break;
dump (0, "#include \"alloc.h\"");
dump (0, "#include \"error.h\"");
dump (0, "#include \"lexer.h\"");
+ dump (0, "#include \"settings.h\"");
dump (0, "#include \"str.h\"");
+ dump (0, "#include \"subclist.h\"");
dump (0, "#include \"var.h\"");
dump (0, nullstr);