void odr_choice_bias(ODR o, int what);
int odr_total(ODR o);
char *odr_errmsg(int n);
+Odr_oid *odr_getoidbystr(ODR o, char *str);
#endif
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: odr_mem.c,v $
- * Revision 1.8 1995-09-29 17:12:24 quinn
+ * Revision 1.9 1995-10-13 16:08:08 quinn
+ * Added OID utility
+ *
+ * Revision 1.8 1995/09/29 17:12:24 quinn
* Smallish
*
* Revision 1.7 1995/09/27 15:02:59 quinn
struct odr_memblock *p = o->mem;
char *r;
+ if (!o)
+ {
+ if (!(r = malloc(size)))
+ abort();
+ return r;
+ }
if (!p || p->size - p->top < size)
if (!(p = get_block(size)))
abort();
#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
#include <odr.h>
#include <oid.h>
oid_oidcpy(r, o);
return r;
}
+
+Odr_oid *odr_getoidbystr(ODR o, char *str)
+{
+ int num = 1, i = 0;
+ char *p = str;
+ Odr_oid *ret;
+
+ if (!isdigit(*str))
+ return 0;
+ while ((p = strchr(p, '.')))
+ num++, p++;
+ ret = odr_malloc(o, sizeof(*ret)*num);
+ p = str;
+ do
+ ret[i++] = atoi(p);
+ while ((p = strchr(p, '.')));
+ return ret;
+}