int type= t->data[0] & SEC_ASN1_TAGNUM_MASK; int start; unsigned char *bp;
int            type        = t->data[0] & SEC_ASN1_TAGNUM_MASK; int            constructed = t->data[0] & SEC_ASN1_CONSTRUCTED; const char *   label; SECItem        my          = *t;  if (!constructed) { SECU_PrintAsHex(out, t, m, level); return; } if (SECSuccess != SECU_StripTagAndLength(&my)) return;
SECU_PrintSet(FILE *out, SECItem *t, char *m, int level){    int type= t->data[0] & SEC_ASN1_TAGNUM_MASK;    int start;    unsigned char *bp;    SECU_Indent(out, level);    if (m) {    	fprintf(out, "%s: ", m);    }    fprintf(out,"%s {\n", type == SEC_ASN1_SET ? "Set" : "Sequence"); /* } */    start = 2;    if (t->data[1] & 0x80) {	start += (t->data[1] & 0x7f);    }    for (bp=&t->data[start]; bp < &t->data[t->len]; ) {	SECItem tmp;	unsigned int i,len,lenlen;        if (bp[1] & 0x80) {	    lenlen = bp[1] & 0x1f;	    len = 0;	    for (i=0; i < lenlen; i++) {		len = len * 255 + bp[2+i];	    }	} else {	    lenlen = 1;	    len = bp[1];	}	tmp.len = len+lenlen+1;	if (tmp.len > &t->data[t->len] - bp) {	    tmp.len = &t->data[t->len] - bp;	}	tmp.data = bp;	bp += tmp.len;	secu_PrintAny(out,&tmp,NULL,level+1);    }    /* { */SECU_Indent(out, level); fprintf(out, "}\n");}