* Sebastian Hammer, Adam Dickmeiss
*
* $Log: ber_oct.c,v $
- * Revision 1.1 1995-02-02 16:21:52 quinn
+ * Revision 1.3 1995-02-03 17:04:34 quinn
+ * *** empty log message ***
+ *
+ * Revision 1.2 1995/02/02 20:38:50 quinn
+ * Updates.
+ *
+ * Revision 1.1 1995/02/02 16:21:52 quinn
* First kick.
*
*/
#include <odr.h>
-static int more_chunks(ODR o, unsigned char *base, int len)
-{
- if (!len)
- return 0;
- if (len < 0) /* indefinite length */
- {
- if (*o->bp == 0 && *(o->bp + 1) == 0)
- {
- o->bp += 2;
- o->left -= 2;
- return 0;
- }
- else
- return 1;
- }
- else
- return o->bp - base < len;
-}
-
-int ber_octetstring(ODR o, ODR_OCT *p, int cons)
+int ber_octetstring(ODR o, Odr_oct *p, int cons)
{
int res, len;
unsigned char *base, *c;
if (cons) /* fetch component strings */
{
base = o->bp;
- while (more_chunks(o, base, len))
+ while (odp_more_chunks(o, base, len))
if (!odr_octetstring(o, &p, 0))
return 0;
return 1;
return 1;
if (len > p->size - p->len)
{
- c = nalloc(o, p->size += len);
+ c = nalloc(o, p->size += len + 1);
if (p->len)
memcpy(c, p->buf, p->len);
p->buf = c;