X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Foid_util.c;h=c630ebf03137a53a88c41f14f2de1deae8fad610;hb=afae1117609712743c1109597d080a53a8dac5d4;hp=752315871ff61ad214e63361f82e4fa34d0a238c;hpb=be821514c869d68186361b5aab6bbfd1aa60e087;p=yaz-moved-to-github.git diff --git a/src/oid_util.c b/src/oid_util.c index 7523158..c630ebf 100644 --- a/src/oid_util.c +++ b/src/oid_util.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: oid_util.c,v 1.2 2007-04-12 20:47:28 adam Exp $ + * $Id: oid_util.c,v 1.4 2007-05-08 08:22:36 adam Exp $ */ /** @@ -21,19 +21,19 @@ #include #include -void oid_oidcpy(int *t, const int *s) +void oid_oidcpy(Odr_oid *t, const Odr_oid *s) { while ((*(t++) = *(s++)) > -1); } -void oid_oidcat(int *t, const int *s) +void oid_oidcat(Odr_oid *t, const Odr_oid *s) { while (*t > -1) t++; while ((*(t++) = *(s++)) > -1); } -int oid_oidcmp(const int *o1, const int *o2) +int oid_oidcmp(const Odr_oid *o1, const Odr_oid *o2) { while (*o1 == *o2 && *o1 > -1) { @@ -48,7 +48,7 @@ int oid_oidcmp(const int *o1, const int *o2) return -1; } -int oid_oidlen(const int *o) +int oid_oidlen(const Odr_oid *o) { int len = 0; @@ -58,7 +58,7 @@ int oid_oidlen(const int *o) } -char *oid_oid_to_dotstring(const int *oid, char *oidbuf) +char *oid_oid_to_dotstring(const Odr_oid *oid, char *oidbuf) { char tmpbuf[20]; int i; @@ -74,7 +74,7 @@ char *oid_oid_to_dotstring(const int *oid, char *oidbuf) return oidbuf; } -int oid_dotstring_to_oid(const char *name, int *oid) +int oid_dotstring_to_oid(const char *name, Odr_oid *oid) { int i = 0; int val = 0; @@ -90,6 +90,8 @@ int oid_dotstring_to_oid(const char *name, int *oid) name++; } } + if (i == 0) + return -1; oid[i] = val; oid[i+1] = -1; return 0;