Index: openssl/crypto/asn1/a_set.c |
=================================================================== |
--- openssl/crypto/asn1/a_set.c (revision 105093) |
+++ openssl/crypto/asn1/a_set.c (working copy) |
@@ -85,8 +85,9 @@ |
} |
/* int is_set: if TRUE, then sort the contents (i.e. it isn't a SEQUENCE) */ |
-int i2d_ASN1_SET(STACK *a, unsigned char **pp, i2d_of_void *i2d, int ex_tag, |
- int ex_class, int is_set) |
+int i2d_ASN1_SET(STACK_OF(OPENSSL_BLOCK) *a, unsigned char **pp, |
+ i2d_of_void *i2d, int ex_tag, int ex_class, |
+ int is_set) |
{ |
int ret=0,r; |
int i; |
@@ -96,8 +97,8 @@ |
int totSize; |
if (a == NULL) return(0); |
- for (i=sk_num(a)-1; i>=0; i--) |
- ret+=i2d(sk_value(a,i),NULL); |
+ for (i=sk_OPENSSL_BLOCK_num(a)-1; i>=0; i--) |
+ ret+=i2d(sk_OPENSSL_BLOCK_value(a,i),NULL); |
r=ASN1_object_size(1,ret,ex_tag); |
if (pp == NULL) return(r); |
@@ -108,10 +109,10 @@ |
/* And then again by Ben */ |
/* And again by Steve */ |
- if(!is_set || (sk_num(a) < 2)) |
+ if(!is_set || (sk_OPENSSL_BLOCK_num(a) < 2)) |
{ |
- for (i=0; i<sk_num(a); i++) |
- i2d(sk_value(a,i),&p); |
+ for (i=0; i<sk_OPENSSL_BLOCK_num(a); i++) |
+ i2d(sk_OPENSSL_BLOCK_value(a,i),&p); |
*pp=p; |
return(r); |
@@ -119,17 +120,17 @@ |
pStart = p; /* Catch the beg of Setblobs*/ |
/* In this array we will store the SET blobs */ |
- rgSetBlob = (MYBLOB *)OPENSSL_malloc(sk_num(a) * sizeof(MYBLOB)); |
+ rgSetBlob = OPENSSL_malloc(sk_OPENSSL_BLOCK_num(a) * sizeof(MYBLOB)); |
if (rgSetBlob == NULL) |
{ |
ASN1err(ASN1_F_I2D_ASN1_SET,ERR_R_MALLOC_FAILURE); |
return(0); |
} |
- for (i=0; i<sk_num(a); i++) |
+ for (i=0; i<sk_OPENSSL_BLOCK_num(a); i++) |
{ |
rgSetBlob[i].pbData = p; /* catch each set encode blob */ |
- i2d(sk_value(a,i),&p); |
+ i2d(sk_OPENSSL_BLOCK_value(a,i),&p); |
rgSetBlob[i].cbData = p - rgSetBlob[i].pbData; /* Length of this |
SetBlob |
*/ |
@@ -139,7 +140,7 @@ |
/* Now we have to sort the blobs. I am using a simple algo. |
*Sort ptrs *Copy to temp-mem *Copy from temp-mem to user-mem*/ |
- qsort( rgSetBlob, sk_num(a), sizeof(MYBLOB), SetBlobCmp); |
+ qsort( rgSetBlob, sk_OPENSSL_BLOCK_num(a), sizeof(MYBLOB), SetBlobCmp); |
if (!(pTempMem = OPENSSL_malloc(totSize))) |
{ |
ASN1err(ASN1_F_I2D_ASN1_SET,ERR_R_MALLOC_FAILURE); |
@@ -148,7 +149,7 @@ |
/* Copy to temp mem */ |
p = pTempMem; |
- for(i=0; i<sk_num(a); ++i) |
+ for(i=0; i<sk_OPENSSL_BLOCK_num(a); ++i) |
{ |
memcpy(p, rgSetBlob[i].pbData, rgSetBlob[i].cbData); |
p += rgSetBlob[i].cbData; |
@@ -162,16 +163,18 @@ |
return(r); |
} |
-STACK *d2i_ASN1_SET(STACK **a, const unsigned char **pp, long length, |
- d2i_of_void *d2i, void (*free_func)(void *), int ex_tag, |
- int ex_class) |
+STACK_OF(OPENSSL_BLOCK) *d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, |
+ const unsigned char **pp, |
+ long length, d2i_of_void *d2i, |
+ void (*free_func)(OPENSSL_BLOCK), int ex_tag, |
+ int ex_class) |
{ |
ASN1_const_CTX c; |
- STACK *ret=NULL; |
+ STACK_OF(OPENSSL_BLOCK) *ret=NULL; |
if ((a == NULL) || ((*a) == NULL)) |
{ |
- if ((ret=sk_new_null()) == NULL) |
+ if ((ret=sk_OPENSSL_BLOCK_new_null()) == NULL) |
{ |
ASN1err(ASN1_F_D2I_ASN1_SET,ERR_R_MALLOC_FAILURE); |
goto err; |
@@ -216,10 +219,10 @@ |
if ((s=d2i(NULL,&c.p,c.slen)) == NULL) |
{ |
ASN1err(ASN1_F_D2I_ASN1_SET,ASN1_R_ERROR_PARSING_SET_ELEMENT); |
- asn1_add_error(*pp,(int)(c.q- *pp)); |
+ asn1_add_error(*pp,(int)(c.p- *pp)); |
goto err; |
} |
- if (!sk_push(ret,s)) goto err; |
+ if (!sk_OPENSSL_BLOCK_push(ret,s)) goto err; |
} |
if (a != NULL) (*a)=ret; |
*pp=c.p; |
@@ -228,9 +231,9 @@ |
if ((ret != NULL) && ((a == NULL) || (*a != ret))) |
{ |
if (free_func != NULL) |
- sk_pop_free(ret,free_func); |
+ sk_OPENSSL_BLOCK_pop_free(ret,free_func); |
else |
- sk_free(ret); |
+ sk_OPENSSL_BLOCK_free(ret); |
} |
return(NULL); |
} |