if (wallet_ReadFromList(field, value, itemList, wallet_SchemaToValue_list, index2)) {
if (wallet_ReadFromList(wallet_GetHostFile(wallet_lastUrl)+":"+field, value, itemList, wallet_SchemaToValue_list, index2)) {
PRInt32 FieldToValue(    nsAutoString field,    nsAutoString& schema,    nsAutoString& value,    nsVoidArray*& itemList,    PRInt32& index){  /* return if no SchemaToValue list exists */  if (!wallet_SchemaToValue_list) {    return -1;  }  /* if no schema name is given, fetch schema name from field/schema tables */  nsVoidArray* dummy;  if (index == -1) {    index = 0;  }  if ((schema.Length() > 0) ||      wallet_ReadFromList(field, schema, dummy, wallet_specificURLFieldToSchema_list) ||      wallet_ReadFromList(field, schema, dummy, wallet_FieldToSchema_list)) {    /* schema name found, now fetch value from schema/value table */     PRInt32 index2 = index;    if (wallet_ReadFromList(schema, value, itemList, wallet_SchemaToValue_list, index2)) {      /* value found, prefill it into form */      index = index2;      return 0;    } else {      /* value not found, see if concatenation rule exists */      nsVoidArray * itemList2;      nsAutoString dummy2;      if (wallet_ReadFromList(schema, dummy2, itemList2, wallet_SchemaConcat_list)) {        /* concatenation rules exist, generate value as a concatenation */        wallet_Sublist * ptr1;        value = nsAutoString("");        nsAutoString value2;        PRInt32 count = LIST_COUNT(itemList2);        for (PRInt32 i=0; i<count; i++) {          ptr1 = NS_STATIC_CAST(wallet_Sublist*, itemList2->ElementAt(i));          if (wallet_ReadFromList(ptr1->item, value2, dummy, wallet_SchemaToValue_list)) {            if (value.Length()>0) {              value += " ";            }            value += value2;          }        }        index = -1;        itemList = nsnull;        if (value.Length()>0) {          return 0;        }      }    }  } else {    /* schema name not found, use field name as schema name and fetch value */    PRInt32 index2 = index;    if (wallet_ReadFromList(field, value, itemList, wallet_SchemaToValue_list, index2)) {      /* value found, prefill it into form */      schema = nsAutoString(field);      index = index2;      return 0;    }  }  index = -1;  return -1;}