nsresult rv = SINGSIGN_Enumerate(mHostCount, mUserCount++, &host, &user, &pswd);
nsresult rv = SINGSIGN_Enumerate(mHostCount, mUserCount++, mDecrypt, &host, &user, &pswd);
    NS_IMETHOD GetNext(nsISupports **result)     {      char * host;      PRUnichar * user;      PRUnichar * pswd;      nsresult rv = SINGSIGN_Enumerate(mHostCount, mUserCount++, &host, &user, &pswd);      if (NS_FAILED(rv)) {        mUserCount = 0;        mHostCount++;        return rv;      }      if (mUserCount == SINGSIGN_UserCount(mHostCount)) {        mUserCount = 0;        mHostCount++;      }      nsIPassword *password = new nsPassword(host, user, pswd);      // note that memory is handed off to "new nsPassword" in a non-xpcom fashion       if (password == nsnull) {        nsMemory::Free(host);        nsMemory::Free(user);        nsMemory::Free(pswd);        return NS_ERROR_OUT_OF_MEMORY;      }      *result = password;      NS_ADDREF(*result);      return NS_OK;    }