if(len > sizeof(long)) {
if(len > (int)sizeof(long)) {
static int long_c2i(ASN1_VALUE **pval, unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it){	int neg, i;	long ltmp;	unsigned long utmp = 0;	if(len > sizeof(long)) {		ASN1err(ASN1_F_LONG_C2I, ASN1_R_INTEGER_TOO_LARGE_FOR_LONG);		return 0;	}	/* Is it negative? */	if(len && (cont[0] & 0x80)) neg = 1;	else neg = 0;	utmp = 0;	for(i = 0; i < len; i++) {		utmp <<= 8;		if(neg) utmp |= cont[i] ^ 0xff;		else utmp |= cont[i];	}	ltmp = (long)utmp;	if(neg) {		ltmp++;		ltmp = -ltmp;	}	if(ltmp == it->size) {		ASN1err(ASN1_F_LONG_C2I, ASN1_R_INTEGER_TOO_LARGE_FOR_LONG);		return 0;	}	*(long *)pval = ltmp;	return 1;}