return !nosave;
}
-static void out_toasm_x86(FILE *f, char *sym, struct parsed_proto *pp)
+static void out_toasm_x86(FILE *f, char *sym, const struct parsed_proto *pp)
{
int must_save = 0;
int sarg_ofs = 1; // stack offset to args, in DWORDs
fprintf(f, "\tret\n\n");
}
-static void out_fromasm_x86(FILE *f, char *sym, struct parsed_proto *pp)
+static void out_fromasm_x86(FILE *f, char *sym, const struct parsed_proto *pp)
{
int sarg_ofs = 1; // stack offset to args, in DWORDs
int argc_repush;
int main(int argc, char *argv[])
{
FILE *fout, *fsyms_to, *fsyms_from, *fhdr;
- struct parsed_proto pp;
+ const struct parsed_proto *pp;
char line[256];
char sym[256];
int ret;
if (sym[0] == 0 || sym[0] == ';' || sym[0] == '#')
continue;
- ret = proto_parse(fhdr, sym, &pp);
- if (ret)
+ pp = proto_parse(fhdr, sym);
+ if (pp == NULL)
goto out;
- out_toasm_x86(fout, sym, &pp);
- proto_release(&pp);
+ out_toasm_x86(fout, sym, pp);
}
fprintf(fout, "# from asm\n\n");
if (sym[0] == 0 || sym[0] == ';' || sym[0] == '#')
continue;
- ret = proto_parse(fhdr, sym, &pp);
- if (ret)
+ pp = proto_parse(fhdr, sym);
+ if (pp == NULL)
goto out;
- out_fromasm_x86(fout, sym, &pp);
- proto_release(&pp);
+ out_fromasm_x86(fout, sym, pp);
}
ret = 0;