wallet_keyInitialized = PR_TRUE;
wallet_Initialize() {  static PRBool wallet_Initialized = PR_FALSE;  if (!wallet_Initialized) {    wallet_FetchFieldSchemaFromNetCenter();    wallet_FetchURLFieldSchemaFromNetCenter();    wallet_FetchSchemaConcatFromNetCenter();    wallet_ReadFromFile("FieldSchema.tbl", wallet_FieldToSchema_list, PR_FALSE);    wallet_ReadFromURLFieldToSchemaFile("URLFieldSchema.tbl", wallet_URLFieldToSchema_list);    wallet_ReadFromFile("SchemaConcat.tbl", wallet_SchemaConcat_list, PR_FALSE);    wallet_Initialized = PR_TRUE;    Wallet_RestartKey();    char * message = Wallet_Localize("IncorrectKey_TryAgain?");    char * failed = Wallet_Localize("KeyFailure");    while (!Wallet_SetKey(PR_FALSE)) {      if (!Wallet_Confirm(message)) {        Wallet_Alert(failed);        PR_FREEIF(message);        PR_FREEIF(failed);        return;      }    }    PR_FREEIF(message);    PR_FREEIF(failed);    wallet_ReadFromFile("SchemaValue.tbl", wallet_SchemaToValue_list, PR_TRUE);  }#if DEBUG//    fprintf(stdout,"Field to Schema table \n");//    wallet_Dump(wallet_FieldToSchema_list);//    fprintf(stdout,"SchemaConcat table \n");//    wallet_Dump(wallet_SchemaConcat_list);//    fprintf(stdout,"URL Field to Schema table \n");//    XP_List * list_ptr;//    char item1[100];//    wallet_MapElement * ptr;//    list_ptr = wallet_URLFieldToSchema_list;//    while((ptr = (wallet_MapElement *) XP_ListNextObject(list_ptr))!=0) {//      ptr->item1->ToCString(item1, 100);//      fprintf(stdout, item1);//      fprintf(stdout,"\n");//      wallet_Dump(ptr->itemList);//    }//    fprintf(stdout,"Schema to Value table \n");//    wallet_Dump(wallet_SchemaToValue_list);#endif}