int b, fix_len;
int fix_len; unsigned int b;
int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,	     const unsigned char *in, int inl)	{	int b, fix_len;	if (inl == 0)		{		*outl=0;		return 1;		}	if (ctx->flags & EVP_CIPH_NO_PADDING)		return EVP_EncryptUpdate(ctx, out, outl, in, inl);	b=ctx->cipher->block_size;	OPENSSL_assert(b <= sizeof ctx->final);	if(ctx->final_used)		{		memcpy(out,ctx->final,b);		out+=b;		fix_len = 1;		}	else		fix_len = 0;	if(!EVP_EncryptUpdate(ctx,out,outl,in,inl))		return 0;	/* if we have 'decrypted' a multiple of block size, make sure	 * we have a copy of this last block */	if (b > 1 && !ctx->buf_len)		{		*outl-=b;		ctx->final_used=1;		memcpy(ctx->final,&out[*outl],b);		}	else		ctx->final_used = 0;	if (fix_len)		*outl += b;			return 1;	}