nssList_Add(rvCertListOpt, nssCertificate_AddRef(c));
nssList_Add(rvCertListOpt, c);
collect_subject_certs(  nssList *subjectList,  nssList *rvCertListOpt){    NSSCertificate *c;    NSSCertificate **rvArray = NULL;    PRUint32 i, count;    if (rvCertListOpt) {	nssListIterator *iter = nssList_CreateIterator(subjectList);	for (c  = (NSSCertificate *)nssListIterator_Start(iter);	     c != (NSSCertificate *)NULL;	     c  = (NSSCertificate *)nssListIterator_Next(iter)) {	    nssList_Add(rvCertListOpt, nssCertificate_AddRef(c));	}	nssListIterator_Finish(iter);	nssListIterator_Destroy(iter);    } else {	count = nssList_Count(subjectList);	rvArray = nss_ZNEWARRAY(NULL, NSSCertificate *, count + 1);	if (!rvArray) {	    return (NSSCertificate **)NULL;	}	nssList_GetArray(subjectList, (void **)rvArray, count);	for (i=0; i<count; i++) nssCertificate_AddRef(rvArray[i]);    }    return rvArray;}