x=PEM_read_bio_X509(in,NULL,NULL,NULL);
x=PEM_read_bio_X509_AUX(in,NULL,NULL,NULL);
int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type)	{	int ret=0;	BIO *in=NULL;	int i,count=0;	X509 *x=NULL;	if (file == NULL) return(1);	in=BIO_new(BIO_s_file_internal());	if ((in == NULL) || (BIO_read_filename(in,file) <= 0))		{		X509err(X509_F_X509_LOAD_CERT_FILE,ERR_R_SYS_LIB);		goto err;		}	if (type == X509_FILETYPE_PEM)		{		for (;;)			{			x=PEM_read_bio_X509(in,NULL,NULL,NULL);			if (x == NULL)				{				if ((ERR_GET_REASON(ERR_peek_error()) ==					PEM_R_NO_START_LINE) && (count > 0))					{					ERR_clear_error();					break;					}				else					{					X509err(X509_F_X509_LOAD_CERT_FILE,						ERR_R_PEM_LIB);					goto err;					}				}			i=X509_STORE_add_cert(ctx->store_ctx,x);			if (!i) goto err;			count++;			X509_free(x);			x=NULL;			}		ret=count;		}	else if (type == X509_FILETYPE_ASN1)		{		x=d2i_X509_bio(in,NULL);		if (x == NULL)			{			X509err(X509_F_X509_LOAD_CERT_FILE,ERR_R_ASN1_LIB);			goto err;			}		i=X509_STORE_add_cert(ctx->store_ctx,x);		if (!i) goto err;		ret=i;		}	else		{		X509err(X509_F_X509_LOAD_CERT_FILE,X509_R_BAD_X509_FILETYPE);		goto err;		}err:	if (x != NULL) X509_free(x);	if (in != NULL) BIO_free(in);	return(ret);	}