RT1815: More const'ness improvements
[openssl.git] / crypto / asn1 / a_enum.c
index ad8f0ffd1ab3859c561d24f291f3428bb1366477..fe9aa13b9cd5b71b0393ac68fe75b252a7fd6016 100644 (file)
@@ -59,6 +59,7 @@
 #include <stdio.h>
 #include "cryptlib.h"
 #include <openssl/asn1.h>
+#include <openssl/bn.h>
 
 /* 
  * Code for ENUMERATED type: identical to INTEGER apart from a different tag.
 
 int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v)
        {
-       int i,j,k;
+       int j,k;
+       unsigned int i;
        unsigned char buf[sizeof(long)+1];
        long d;
 
        a->type=V_ASN1_ENUMERATED;
-       if (a->length < (sizeof(long)+1))
+       if (a->length < (int)(sizeof(long)+1))
                {
                if (a->data != NULL)
                        OPENSSL_free(a->data);
@@ -116,7 +118,7 @@ long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a)
        else if (i != V_ASN1_ENUMERATED)
                return -1;
        
-       if (a->length > sizeof(long))
+       if (a->length > (int)sizeof(long))
                {
                /* hmm... a bit ugly */
                return(0xffffffffL);
@@ -147,7 +149,7 @@ ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai)
                ASN1err(ASN1_F_BN_TO_ASN1_ENUMERATED,ERR_R_NESTED_ASN1_ERROR);
                goto err;
                }
-       if(bn->neg) ret->type = V_ASN1_NEG_ENUMERATED;
+       if(BN_is_negative(bn)) ret->type = V_ASN1_NEG_ENUMERATED;
        else ret->type=V_ASN1_ENUMERATED;
        j=BN_num_bits(bn);
        len=((j == 0)?0:((j/8)+1));
@@ -156,7 +158,7 @@ ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai)
                unsigned char *new_data=OPENSSL_realloc(ret->data, len+4);
                if (!new_data)
                        {
-                       ASN1err(ASN1_F_BN_TO_ASN1_INTEGER,ERR_R_MALLOC_FAILURE);
+                       ASN1err(ASN1_F_BN_TO_ASN1_ENUMERATED,ERR_R_MALLOC_FAILURE);
                        goto err;
                        }
                ret->data=new_data;
@@ -175,6 +177,6 @@ BIGNUM *ASN1_ENUMERATED_to_BN(ASN1_ENUMERATED *ai, BIGNUM *bn)
 
        if ((ret=BN_bin2bn(ai->data,ai->length,bn)) == NULL)
                ASN1err(ASN1_F_ASN1_ENUMERATED_TO_BN,ASN1_R_BN_LIB);
-       else if(ai->type == V_ASN1_NEG_ENUMERATED) ret->neg = 1;
+       else if(ai->type == V_ASN1_NEG_ENUMERATED) BN_set_negative(ret,1);
        return(ret);
        }