rv = SEC_ASN1DecodeItem(arena, &rawCerts, SEC_CertSequenceTemplate,
rv = SEC_QuickDERDecodeItem(arena, &rawCerts, SEC_CertSequenceTemplate,
SEC_ReadCertSequence(SECItem *certsItem, CERTImportCertificateFunc f, void *arg){    SECStatus rv;    SECItem **certs;    int count;    SECItem **rawCerts = NULL;    PRArenaPool *arena;    SEC_PKCS7ContentInfo *contentInfo = NULL;    arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);    if (arena == NULL) {	return SECFailure;    }    contentInfo = SEC_PKCS7DecodeItem(certsItem, NULL, NULL, NULL, NULL, NULL, 				      NULL, NULL);    if ( contentInfo == NULL ) {	goto loser;    }    if ( SEC_PKCS7ContentType (contentInfo) != SEC_OID_NS_TYPE_CERT_SEQUENCE ) {	goto loser;    }    rv = SEC_ASN1DecodeItem(arena, &rawCerts, SEC_CertSequenceTemplate,		    contentInfo->content.data);    if (rv != SECSuccess) {	goto loser;    }    certs = rawCerts;    if ( certs ) {	count = 0;		while ( *certs ) {	    count++;	    certs++;	}	rv = (* f)(arg, rawCerts, count);    }        rv = SECSuccess;        goto done;loser:    rv = SECFailure;    done:    if ( contentInfo ) {	SEC_PKCS7DestroyContentInfo(contentInfo);    }    if ( arena ) {	PORT_FreeArena(arena, PR_FALSE);    }        return(rv);}