X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fodr_bool.c;h=7c9279eabb506aedb33b02738e438091a0789750;hp=7106ac0f3e8b752e9ae3794a4d899935699f1209;hb=2979c8fc3b5c53c06facad850dcae09645b43044;hpb=05c274ef315384faafcc5900c17468f0ea2474e6 diff --git a/src/odr_bool.c b/src/odr_bool.c index 7106ac0..7c9279e 100644 --- a/src/odr_bool.c +++ b/src/odr_bool.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1995-2004, Index Data + * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: odr_bool.c,v 1.3 2004-10-15 00:19:00 adam Exp $ + * $Id: odr_bool.c,v 1.7 2007-03-19 21:08:13 adam Exp $ */ /** @@ -25,25 +25,34 @@ int odr_bool(ODR o, int **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_BOOLEAN; + o->op->t_class = ODR_UNIVERSAL; + o->op->t_tag = ODR_BOOLEAN; } - 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 (o->direction == ODR_PRINT) { - odr_prname(o, name); - odr_printf(o, "%s\n", (**p ? "TRUE" : "FALSE")); - return 1; + odr_prname(o, name); + odr_printf(o, "%s\n", (**p ? "TRUE" : "FALSE")); + return 1; } if (cons) - return 0; + return 0; if (o->direction == ODR_DECODE) - *p = (int *)odr_malloc(o, sizeof(int)); + *p = (int *)odr_malloc(o, sizeof(int)); return ber_boolean(o, *p); } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +