- if (o->stackp > -1 && !odr_constructed_more(o))
- {
- if (!opt)
- o->error = OREQUIRED;
- return 0;
- }
- if (lclass < 0)
- {
- if ((br = ber_dectag(o->bp, &lclass, <ag, &lcons)) <= 0)
- {
- o->error = OPROTO;
- return 0;
- }
-#ifdef ODR_DEBUG
- fprintf(stderr, "\n[class=%d,tag=%d,cons=%d,stackp=%d]", lclass, ltag,
- lcons, o->stackp);
-#endif
- }
- if (class == lclass && tag == ltag)
- {
- o->bp += br;
- o->left -= br;
- *constructed = lcons;
- lclass = -1;
- return 1;
- }
- else
- {
- if (!opt)
- o->error = OREQUIRED;
- return 0;
- }
+ if (o->stackp > -1 && !odr_constructed_more(o))
+ {
+ if (!opt)
+ o->error = OREQUIRED;
+ return 0;
+ }
+ if (odr_ber_tag->lclass < 0)
+ {
+ if ((odr_ber_tag->br = ber_dectag(o->bp, &odr_ber_tag->lclass,
+ &odr_ber_tag->ltag, &odr_ber_tag->lcons)) <= 0)
+ {
+ o->error = OPROTO;
+ return 0;
+ }
+ #ifdef ODR_DEBUG
+ fprintf(stderr, "\n[class=%d,tag=%d,cons=%d,stackp=%d]", odr_ber_tag->lclass, odr_ber_tag->ltag,
+ odr_ber_tag->lcons, o->stackp);
+ #endif
+ }
+ if (zclass == odr_ber_tag->lclass && tag == odr_ber_tag->ltag)
+ {
+ o->bp += odr_ber_tag->br;
+ o->left -= odr_ber_tag->br;
+ *constructed = odr_ber_tag->lcons;
+ odr_ber_tag->lclass = -1;
+ return 1;
+ }
+ else
+ {
+ if (!opt)
+ o->error = OREQUIRED;
+ return 0;
+ }