char *slotParams, *ciphers, *nss, *nssFlags;
char *slotParams, *ciphers, *nss, *nssFlags, *tmp; char *trustOrderPair,*cipherOrderPair,*slotPair,*cipherPair,*flagPair;
pk11_mkNSS(char **slotStrings, int slotCount, PRBool internal, PRBool isFIPS,	  PRBool isModuleDB,  PRBool isModuleDBOnly, PRBool isCritical, 	  unsigned long trustOrder, unsigned long cipherOrder,				unsigned long ssl0, unsigned long ssl1) {    int slotLen, i;    char *slotParams, *ciphers, *nss, *nssFlags;    /* now let's build up the string     * first the slot infos     */    slotLen=0;    for (i=0; i < (int)slotCount; i++) {	slotLen += PORT_Strlen(slotStrings[i])+1;    }    slotLen += 1; /* space for the final NULL */    slotParams = (char *)PORT_ZAlloc(slotLen);    PORT_Memset(slotParams,0,slotLen);    for (i=0; i < (int)slotCount; i++) {	PORT_Strcat(slotParams,slotStrings[i]);	PORT_Strcat(slotParams," ");	PR_smprintf_free(slotStrings[i]);	slotStrings[i]=NULL;    }        /*     * now the NSS structure     */    nssFlags = pk11_mkNSSFlags(internal,isFIPS,isModuleDB,isModuleDBOnly,							isCritical); 	/* for now only the internal module is critical */    ciphers = pk11_makeCipherFlags(ssl0, ssl1);    nss = PR_smprintf("trustOrder=%d cipherOrder=%d Flags='%s' slotParams={%s} ciphers='%s'",trustOrder,cipherOrder,nssFlags,slotParams,ciphers);    PORT_Free(nssFlags);    PR_smprintf_free(ciphers);    return nss;}