summaryrefslogtreecommitdiffstats
path: root/crypto/asn1/a_type.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>1999-02-09 01:29:37 +0000
committerDr. Stephen Henson <steve@openssl.org>1999-02-09 01:29:37 +0000
commitbceacf938f07f84ecd2c0f2ad42b1ff90f34f93b (patch)
treeb51771101152e30447f5af89cc89698203db23f6 /crypto/asn1/a_type.c
parent068197a70ca2f3a16a5cc71ef164ef54a31e63e5 (diff)
Support for ASN1 ENUMERATED type. This copies and duplicates the ASN1_INTEGER
code and adds support to ASN1_TYPE and asn1parse.
Diffstat (limited to 'crypto/asn1/a_type.c')
-rw-r--r--crypto/asn1/a_type.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/crypto/asn1/a_type.c b/crypto/asn1/a_type.c
index 63b458358a..a3cf736026 100644
--- a/crypto/asn1/a_type.c
+++ b/crypto/asn1/a_type.c
@@ -89,6 +89,10 @@ unsigned char **pp;
case V_ASN1_NEG_INTEGER:
r=i2d_ASN1_INTEGER(a->value.integer,pp);
break;
+ case V_ASN1_ENUMERATED:
+ case V_ASN1_NEG_ENUMERATED:
+ r=i2d_ASN1_ENUMERATED(a->value.enumerated,pp);
+ break;
case V_ASN1_BIT_STRING:
r=i2d_ASN1_BIT_STRING(a->value.bit_string,pp);
break;
@@ -177,6 +181,11 @@ long length;
d2i_ASN1_INTEGER(NULL,&p,max-p)) == NULL)
goto err;
break;
+ case V_ASN1_ENUMERATED:
+ if ((ret->value.enumerated=
+ d2i_ASN1_ENUMERATED(NULL,&p,max-p)) == NULL)
+ goto err;
+ break;
case V_ASN1_BIT_STRING:
if ((ret->value.bit_string=
d2i_ASN1_BIT_STRING(NULL,&p,max-p)) == NULL)
@@ -309,6 +318,8 @@ ASN1_TYPE *a;
break;
case V_ASN1_INTEGER:
case V_ASN1_NEG_INTEGER:
+ case V_ASN1_ENUMERATED:
+ case V_ASN1_NEG_ENUMERATED:
case V_ASN1_BIT_STRING:
case V_ASN1_OCTET_STRING:
case V_ASN1_SEQUENCE: