X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=odr%2Fodr_util.c;h=a25d1ad44e4ca4ba25a7acb0b28fd2fd6aec98a7;hb=9c459af695605b44a044ad206562818be10034f1;hp=16dc98471aea3bf6c0f7b63fd4f88bb67af9e023;hpb=10981b2f116449523a9f628c20a78212ce91553e;p=yaz-moved-to-github.git diff --git a/odr/odr_util.c b/odr/odr_util.c index 16dc984..a25d1ad 100644 --- a/odr/odr_util.c +++ b/odr/odr_util.c @@ -1,18 +1,20 @@ -#include #include +#include +#include -void *nalloc(ODR o, int size) { return malloc(size); } - -char *odr_indent(ODR o) +char MDF *odr_indent(ODR o) { static char buf[512]; + int i = o->indent; memset(buf, ' ', 512); + if (i >= 128) + i = 127; buf[o->indent * 4] = 0; return buf; } -int odp_more_chunks(ODR o, unsigned char *base, int len) +int MDF odp_more_chunks(ODR o, unsigned char *base, int len) { if (!len) return 0; @@ -30,3 +32,15 @@ int odp_more_chunks(ODR o, unsigned char *base, int len) else return o->bp - base < len; } + +Odr_oid MDF *odr_oiddup(ODR odr, Odr_oid *o) +{ + Odr_oid *r; + + if (!o) + return 0; + if (!(r = odr_malloc(odr, (oid_oidlen(o) + 1) * sizeof(int)))) + return 0; + oid_oidcpy(r, o); + return r; +}