Correct d2i/i2d typos.
[oweals/openssl.git] / crypto / asn1 / tasn_prn.c
index cf4c4ab3740f93b36a9fc8f9524e42b452d9df5d..d2830a5eaddeb3368414ff78329f18f94167b5f7 100644 (file)
@@ -522,8 +522,12 @@ static int asn1_primitive_print(BIO *out, ASN1_VALUE **fld,
        ASN1_STRING *str;
        int ret = 1, needlf = 1;
        const char *pname;
+       const ASN1_PRIMITIVE_FUNCS *pf;
+       pf = it->funcs;
        if (!asn1_print_fsname(out, indent, fname, sname, pctx))
                        return 0;
+       if (pf && pf->prim_print)
+               return pf->prim_print(out, fld, it, indent, pctx);
        str = (ASN1_STRING *)*fld;
        if (it->itype == ASN1_ITYPE_MSTRING)
                utype = str->type & ~V_ASN1_NEG;
@@ -533,7 +537,7 @@ static int asn1_primitive_print(BIO *out, ASN1_VALUE **fld,
                {
                ASN1_TYPE *atype = (ASN1_TYPE *)*fld;
                utype = atype->type;
-               fld = (ASN1_VALUE **)&atype->value.ptr;
+               fld = &atype->value.asn1_value;
                str = (ASN1_STRING *)*fld;
                if (pctx->flags & ASN1_PCTX_FLAGS_NO_ANY_TYPE)
                        pname = NULL;