lh_delete(ctx->certs,(char *)obj);
lh_delete(ctx->certs,obj);
int X509_STORE_add_cert(X509_STORE *ctx, X509 *x)	{	X509_OBJECT *obj,*r;	int ret=1;	if (x == NULL) return(0);	obj=(X509_OBJECT *)Malloc(sizeof(X509_OBJECT));	if (obj == NULL)		{		X509err(X509_F_X509_STORE_ADD_CERT,ERR_R_MALLOC_FAILURE);		return(0);		}	obj->type=X509_LU_X509;	obj->data.x509=x;	CRYPTO_w_lock(CRYPTO_LOCK_X509_STORE);	X509_OBJECT_up_ref_count(obj);	r=(X509_OBJECT *)lh_insert(ctx->certs,(char *)obj);	if (r != NULL)		{ /* oops, put it back */		lh_delete(ctx->certs,(char *)obj);		X509_OBJECT_free_contents(obj);		Free(obj);		lh_insert(ctx->certs,(char *)r);		X509err(X509_F_X509_STORE_ADD_CERT,X509_R_CERT_ALREADY_IN_HASH_TABLE);		ret=0;		}	CRYPTO_w_unlock(CRYPTO_LOCK_X509_STORE);	return(ret);		}