* Sebastian Hammer, Adam Dickmeiss
*
* $Log: odr.c,v $
- * Revision 1.6 1995-03-08 12:12:15 quinn
+ * Revision 1.9 1995-04-10 10:23:11 quinn
+ * Smallish changes.
+ *
+ * Revision 1.8 1995/03/17 10:17:43 quinn
+ * Added memory management.
+ *
+ * Revision 1.7 1995/03/10 11:44:41 quinn
+ * Fixed serious stack-bug in odr_cons_begin
+ *
+ * Revision 1.6 1995/03/08 12:12:15 quinn
* Added better error checking.
*
* Revision 1.5 1995/03/07 13:28:57 quinn
"Unexpected tag",
"Other error",
"Protocol error",
- "Malformed data"
+ "Malformed data",
+ "Stack overflow"
};
void odr_perror(ODR o, char *message)
if (!(r = malloc(sizeof(*r))))
return 0;
r->direction = direction;
- r->print = stdout;
+ r->print = stderr;
r->buf = 0;
r->buflen = 0;
+ r->mem = 0;
odr_reset(r);
return r;
}
o->t_tag = -1;
o->indent = 0;
o->stackp = -1;
+ odr_release_mem(o->mem);
+ o->mem = 0;
}
void odr_destroy(ODR o)
{
+ odr_release_mem(o->mem);
+ if (o->print != stderr)
+ fclose(o->print);
free(o);
}