}  if (wallet_oldFormat) {  schemaValueFileName[10] = '\0'; SI_SetCharPref(pref_WalletSchemaValueFileName, schemaValueFileName); wallet_oldFormat = PR_FALSE;
WLLT_PostEdit(nsAutoString walletList) {  if (!Wallet_IsKeySet()) {    return;  }  nsFileSpec dirSpec;  nsresult rv = Wallet_ProfileDirectory(dirSpec);  if (NS_FAILED(rv)) {    return;  }  nsAutoString tail = walletList;  nsAutoString head, temp;  PRInt32 separator;  /* get first item in list */  separator = tail.FindChar(BREAK);  if (-1 == separator) {    return;  }  tail.Left(head, separator);  tail.Mid(temp, separator+1, tail.Length() - (separator+1));  tail = temp;  /* return if OK button was not pressed */  if (head != "OK") {    return;  }  if (wallet_oldFormat) {    /* change name of schemaValueFileName file from "xxxxxxxx.wlt" to "xxxxxxxx.w" */        schemaValueFileName[10] = '\0';    SI_SetCharPref(pref_WalletSchemaValueFileName, schemaValueFileName);    wallet_oldFormat = PR_FALSE;  }  /* open SchemaValue file */  nsOutputFileStream strm(dirSpec + schemaValueFileName);  if (!strm.is_open()) {    NS_ERROR("unable to open file");    return;  }  saveCountW += 16; /* preserve low order four bits which designate the file type */  nsKeyType writeCount = 0;  /* write the values in the walletList to the file */  wallet_PutHeader(strm, saveCountW, writeCount);  for (;;) {    separator = tail.FindChar(BREAK);    if (-1 == separator) {      break;    }    tail.Left(head, separator);    tail.Mid(temp, separator+1, tail.Length() - (separator+1));    tail = temp;    wallet_PutLine(strm, head, PR_TRUE, saveCountW, &writeCount);  }  /* close the file and read it back into the SchemaToValue list */  strm.close();  wallet_Clear(&wallet_SchemaToValue_list);  wallet_ReadFromFile(schemaValueFileName, wallet_SchemaToValue_list, PR_TRUE, PR_TRUE);}