if (NS_FAILED(wallet_PutLine(strm, "", obscure))) { break; }
wallet_PutLine(strm, "", obscure);
wallet_WriteToFile(char* filename, nsVoidArray* list, PRBool obscure) {  wallet_MapElement * ptr;  if (obscure && !Wallet_KeySet()) {    return;  }  /* open output stream */  nsFileSpec dirSpec;  nsresult rv = Wallet_ProfileDirectory(dirSpec);  if (NS_FAILED(rv)) {    return;  }  nsOutputFileStream strm(dirSpec + filename);  if (!strm.is_open()) {    NS_ERROR("unable to open file");    return;  }  /* make sure the list exists */  if(!list) {    return;  }  Wallet_RestartKey();  /* traverse the list */  PRInt32 count = LIST_COUNT(list);  for (PRInt32 i=0; i<count; i++) {    ptr = NS_STATIC_CAST(wallet_MapElement*, list->ElementAt(i));    if (NS_FAILED(wallet_PutLine(strm, (*ptr).item1, obscure))) {      break;    }    if ((*ptr).item2 != "") {      if (NS_FAILED(wallet_PutLine(strm, (*ptr).item2, obscure))) {        break;      }    } else {      wallet_Sublist * ptr1;      PRInt32 count2 = LIST_COUNT(ptr->itemList);      for (PRInt32 j=0; j<count2; j++) {        ptr1 = NS_STATIC_CAST(wallet_Sublist*, ptr->itemList->ElementAt(j));        if (NS_FAILED(wallet_PutLine(strm, (*ptr).item1, obscure))) {          break;        }      }    }    if (NS_FAILED(wallet_PutLine(strm, "", obscure))) {      break;    }  }  /* close the stream */  strm.flush();  strm.close();}