projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*** empty log message ***
[yaz-moved-to-github.git]
/
odr
/
odr.c
diff --git
a/odr/odr.c
b/odr/odr.c
index
bea667c
..
24b15b3
100644
(file)
--- a/
odr/odr.c
+++ b/
odr/odr.c
@@
-4,7
+4,13
@@
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: odr.c,v $
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: odr.c,v $
- * Revision 1.6 1995-03-08 12:12:15 quinn
+ * 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
* Added better error checking.
*
* Revision 1.5 1995/03/07 13:28:57 quinn
@@
-40,7
+46,8
@@
char *odr_errlist[] =
"Unexpected tag",
"Other error",
"Protocol error",
"Unexpected tag",
"Other error",
"Protocol error",
- "Malformed data"
+ "Malformed data",
+ "Stack overflow"
};
void odr_perror(ODR o, char *message)
};
void odr_perror(ODR o, char *message)
@@
-68,6
+75,7
@@
ODR odr_createmem(int direction)
r->print = stdout;
r->buf = 0;
r->buflen = 0;
r->print = stdout;
r->buf = 0;
r->buflen = 0;
+ r->mem = 0;
odr_reset(r);
return r;
}
odr_reset(r);
return r;
}
@@
-81,10
+89,13
@@
void odr_reset(ODR o)
o->t_tag = -1;
o->indent = 0;
o->stackp = -1;
o->t_tag = -1;
o->indent = 0;
o->stackp = -1;
+ odr_release_mem(o->mem);
+ o->mem = 0;
}
void odr_destroy(ODR o)
{
}
void odr_destroy(ODR o)
{
+ odr_release_mem(o->mem);
free(o);
}
free(o);
}