pt = sk_X509_PURPOSE_value(xptable, idx);
pt = X509_PURPOSE_iget(idx);
int X509_check_purpose(X509 *x, int id, int ca){	int idx;	X509_PURPOSE *pt;	if(!(x->ex_flags & EXFLAG_SET)) {		CRYPTO_w_lock(CRYPTO_LOCK_X509);		x509v3_cache_extensions(x);		CRYPTO_w_unlock(CRYPTO_LOCK_X509);	}	if(id == -1) return 1;	idx = X509_PURPOSE_get_by_id(id);	if(idx == -1) return -1;	pt = sk_X509_PURPOSE_value(xptable, idx);	return pt->check_purpose(pt, x, ca);}