X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fodr_oid.c;h=78346195ac99bb59362060eca6fda35548a76e45;hp=95d44477c3ac7b70f80bb1f4932fcd90b0d2ecc8;hb=8cb8947e3a7bff4dbf8f124871cb4905df1adce7;hpb=3cef72d7093afaa8b106e4160ef0885b2ac50335 diff --git a/src/odr_oid.c b/src/odr_oid.c index 95d4447..7834619 100644 --- a/src/odr_oid.c +++ b/src/odr_oid.c @@ -1,15 +1,17 @@ -/* - * Copyright (c) 1995-2004, Index Data +/* This file is part of the YAZ toolkit. + * Copyright (C) Index Data * See the file LICENSE for details. - * - * $Id: odr_oid.c,v 1.3 2004-08-13 07:30:06 adam Exp $ + */ +/** + * \file odr_oid.c + * \brief Implements ODR OID codec */ #if HAVE_CONFIG_H #include #endif +#include #include "odr-priv.h" -#include /* * Top level oid en/decoder. @@ -20,33 +22,43 @@ int odr_oid(ODR o, Odr_oid **p, int opt, const char *name) int res, cons = 0; if (o->error) - return 0; - if (o->t_class < 0) + return 0; + if (o->op->t_class < 0) { - o->t_class = ODR_UNIVERSAL; - o->t_tag = ODR_OID; + o->op->t_class = ODR_UNIVERSAL; + o->op->t_tag = ODR_OID; } - if ((res = ber_tag(o, p, o->t_class, o->t_tag, &cons, opt, name)) < 0) - return 0; + res = ber_tag(o, p, o->op->t_class, o->op->t_tag, &cons, opt, name); + if (res < 0) + return 0; if (!res) - return odr_missing(o, opt, name); + return odr_missing(o, opt, name); if (cons) { odr_seterror(o, OPROTO, 46); - return 0; + return 0; } if (o->direction == ODR_PRINT) { - int i; + int i; - odr_prname(o, name); - odr_printf(o, "OID:"); - for (i = 0; (*p)[i] > -1; i++) - odr_printf(o, " %d", (*p)[i]); - odr_printf(o, "\n"); - return 1; + odr_prname(o, name); + odr_printf(o, "OID:"); + for (i = 0; (*p)[i] > -1; i++) + odr_printf(o, " %d", (*p)[i]); + odr_printf(o, "\n"); + return 1; } if (o->direction == ODR_DECODE) - *p = (int *)odr_malloc(o, OID_SIZE * sizeof(**p)); - return ber_oidc(o, *p); + *p = (Odr_oid *)odr_malloc(o, OID_SIZE * sizeof(**p)); + return ber_oidc(o, *p, OID_SIZE); } +/* + * Local variables: + * c-basic-offset: 4 + * c-file-style: "Stroustrup" + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +