RT783: Minor optimization to ASN1_INTEGER_set

Remove local variable and avoid extra assignment.

Reviewed-by: Emilia Kasper <emilia@silkandcyanide.net>
This commit is contained in:
Frdric Giudicelli 2014-08-14 22:34:49 -04:00 committed by Rich Salz
parent cf8bac4456
commit c753e71e0a

View File

@ -337,9 +337,7 @@ int ASN1_INTEGER_set(ASN1_INTEGER *a, long v)
int j,k; int j,k;
unsigned int i; unsigned int i;
unsigned char buf[sizeof(long)+1]; unsigned char buf[sizeof(long)+1];
long d;
a->type=V_ASN1_INTEGER;
if (a->length < (int)(sizeof(long)+1)) if (a->length < (int)(sizeof(long)+1))
{ {
if (a->data != NULL) if (a->data != NULL)
@ -352,18 +350,19 @@ int ASN1_INTEGER_set(ASN1_INTEGER *a, long v)
ASN1err(ASN1_F_ASN1_INTEGER_SET,ERR_R_MALLOC_FAILURE); ASN1err(ASN1_F_ASN1_INTEGER_SET,ERR_R_MALLOC_FAILURE);
return(0); return(0);
} }
d=v; if (v < 0)
if (d < 0)
{ {
d= -d; v= -v;
a->type=V_ASN1_NEG_INTEGER; a->type=V_ASN1_NEG_INTEGER;
} }
else
a->type=V_ASN1_INTEGER;
for (i=0; i<sizeof(long); i++) for (i=0; i<sizeof(long); i++)
{ {
if (d == 0) break; if (v == 0) break;
buf[i]=(int)d&0xff; buf[i]=(int)v&0xff;
d>>=8; v>>=8;
} }
j=0; j=0;
for (k=i-1; k >=0; k--) for (k=i-1; k >=0; k--)