if (indent) { if (indent > 128) indent=128; memset(str,' ',indent); if (BIO_write(bp,str,indent) < indent) goto err; }
BIO_indent(bp,indent,128);
static int asn1_print_info(BIO *bp, int tag, int xclass, int constructed,	     int indent)	{	static const char fmt[]="%-18s";	static const char fmt2[]="%2d %-15s";	char str[128];	const char *p,*p2=NULL;	if (constructed & V_ASN1_CONSTRUCTED)		p="cons: ";	else		p="prim: ";	if (BIO_write(bp,p,6) < 6) goto err;	if (indent)		{		if (indent > 128) indent=128;		memset(str,' ',indent);		if (BIO_write(bp,str,indent) < indent) goto err;		}	p=str;	if ((xclass & V_ASN1_PRIVATE) == V_ASN1_PRIVATE)		sprintf(str,"priv [ %d ] ",tag);	else if ((xclass & V_ASN1_CONTEXT_SPECIFIC) == V_ASN1_CONTEXT_SPECIFIC)		sprintf(str,"cont [ %d ]",tag);	else if ((xclass & V_ASN1_APPLICATION) == V_ASN1_APPLICATION)		sprintf(str,"appl [ %d ]",tag);	else p = ASN1_tag2str(tag);	if (p2 != NULL)		{		if (BIO_printf(bp,fmt2,tag,p2) <= 0) goto err;		}	else		{		if (BIO_printf(bp,fmt,p) <= 0) goto err;		}	return(1);err:	return(0);	}