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");
SECU_Indent(out, level); fprintf(out,  "}\n");
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");}