{ int ret;  ret=OBJ_sn2nid(s); if (ret == NID_undef) { ret=OBJ_ln2nid(s); if (ret == NID_undef) { ASN1_OBJECT *op=NULL; unsigned char *buf,*p; int i;  i=a2d_ASN1_OBJECT(NULL,0,s,-1); if (i <= 0) {  ERR_get_error(); return(0); }  if ((buf=(unsigned char *)Malloc(i)) == NULL) return(NID_undef); a2d_ASN1_OBJECT(buf,i,s,-1); p=buf; op=d2i_ASN1_OBJECT(NULL,&p,i); if (op == NULL) return(NID_undef); ret=OBJ_obj2nid(op); ASN1_OBJECT_free(op); Free(buf); } } return(ret); }
{ ASN1_OBJECT *obj; int nid; obj = OBJ_txt2obj(s, 0); nid = OBJ_obj2nid(obj); ASN1_OBJECT_free(obj); return nid; }
int OBJ_txt2nid(s)char *s;	{	int ret;	ret=OBJ_sn2nid(s);	if (ret == NID_undef)		{		ret=OBJ_ln2nid(s);		if (ret == NID_undef)			{			ASN1_OBJECT *op=NULL;			unsigned char *buf,*p;			int i;			i=a2d_ASN1_OBJECT(NULL,0,s,-1);			if (i <= 0)				{				/* clear the error */				ERR_get_error();				return(0);				}			if ((buf=(unsigned char *)Malloc(i)) == NULL)				return(NID_undef);			a2d_ASN1_OBJECT(buf,i,s,-1);			p=buf;			op=d2i_ASN1_OBJECT(NULL,&p,i);			if (op == NULL) return(NID_undef);			ret=OBJ_obj2nid(op);			ASN1_OBJECT_free(op);			Free(buf);			}		}	return(ret);	}