diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/a_enum.c')
-rw-r--r-- | src/lib/libcrypto/asn1/a_enum.c | 58 |
1 files changed, 2 insertions, 56 deletions
diff --git a/src/lib/libcrypto/asn1/a_enum.c b/src/lib/libcrypto/asn1/a_enum.c index 1428d1df7a..8a315fa371 100644 --- a/src/lib/libcrypto/asn1/a_enum.c +++ b/src/lib/libcrypto/asn1/a_enum.c | |||
@@ -65,60 +65,6 @@ | |||
65 | * for comments on encoding see a_int.c | 65 | * for comments on encoding see a_int.c |
66 | */ | 66 | */ |
67 | 67 | ||
68 | ASN1_ENUMERATED *ASN1_ENUMERATED_new(void) | ||
69 | { return M_ASN1_ENUMERATED_new(); } | ||
70 | |||
71 | void ASN1_ENUMERATED_free(ASN1_ENUMERATED *x) | ||
72 | { M_ASN1_ENUMERATED_free(x); } | ||
73 | |||
74 | |||
75 | int i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **pp) | ||
76 | { | ||
77 | int len, ret; | ||
78 | if(!a) return 0; | ||
79 | len = i2c_ASN1_INTEGER(a, NULL); | ||
80 | ret=ASN1_object_size(0,len,V_ASN1_ENUMERATED); | ||
81 | if(pp) { | ||
82 | ASN1_put_object(pp,0,len,V_ASN1_ENUMERATED,V_ASN1_UNIVERSAL); | ||
83 | i2c_ASN1_INTEGER(a, pp); | ||
84 | } | ||
85 | return ret; | ||
86 | } | ||
87 | |||
88 | ASN1_ENUMERATED *d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, unsigned char **pp, | ||
89 | long length) | ||
90 | { | ||
91 | unsigned char *p; | ||
92 | long len; | ||
93 | int i; | ||
94 | int inf,tag,xclass; | ||
95 | ASN1_ENUMERATED *ret; | ||
96 | |||
97 | p= *pp; | ||
98 | inf=ASN1_get_object(&p,&len,&tag,&xclass,length); | ||
99 | if (inf & 0x80) | ||
100 | { | ||
101 | i=ASN1_R_BAD_OBJECT_HEADER; | ||
102 | goto err; | ||
103 | } | ||
104 | |||
105 | if (tag != V_ASN1_ENUMERATED) | ||
106 | { | ||
107 | i=ASN1_R_EXPECTING_AN_ENUMERATED; | ||
108 | goto err; | ||
109 | } | ||
110 | ret = c2i_ASN1_INTEGER(a, &p, len); | ||
111 | if(ret) { | ||
112 | ret->type = (V_ASN1_NEG & ret->type) | V_ASN1_ENUMERATED; | ||
113 | *pp = p; | ||
114 | } | ||
115 | return ret; | ||
116 | err: | ||
117 | ASN1err(ASN1_F_D2I_ASN1_ENUMERATED,i); | ||
118 | return(NULL); | ||
119 | |||
120 | } | ||
121 | |||
122 | int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v) | 68 | int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v) |
123 | { | 69 | { |
124 | int i,j,k; | 70 | int i,j,k; |
@@ -168,7 +114,7 @@ long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a) | |||
168 | if (i == V_ASN1_NEG_ENUMERATED) | 114 | if (i == V_ASN1_NEG_ENUMERATED) |
169 | neg=1; | 115 | neg=1; |
170 | else if (i != V_ASN1_ENUMERATED) | 116 | else if (i != V_ASN1_ENUMERATED) |
171 | return(0); | 117 | return -1; |
172 | 118 | ||
173 | if (a->length > sizeof(long)) | 119 | if (a->length > sizeof(long)) |
174 | { | 120 | { |
@@ -176,7 +122,7 @@ long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a) | |||
176 | return(0xffffffffL); | 122 | return(0xffffffffL); |
177 | } | 123 | } |
178 | if (a->data == NULL) | 124 | if (a->data == NULL) |
179 | return(0); | 125 | return 0; |
180 | 126 | ||
181 | for (i=0; i<a->length; i++) | 127 | for (i=0; i<a->length; i++) |
182 | { | 128 | { |