submit.name_array = (PA_Block)name_array; submit.value_array = (PA_Block)value_array; submit.type_array = (PA_Block)type_array;
submit.name_array = name_array; submit.value_array = value_array; submit.type_array = (PRUnichar **)type_array;
si_RememberSignonDataFromBrowser(char* URLName, char* username, char* password) {  LO_FormSubmitData submit;  char* USERNAME = "username";  char* PASSWORD = "password";  char* name_array[2];  char* value_array[2];  uint8 type_array[2];  /* do nothing if signon preference is not enabled */  if (!si_GetSignonRememberingPref()){    return;  }  /* initialize a temporary submit structure */  submit.name_array = (PA_Block)name_array;  submit.value_array = (PA_Block)value_array;  submit.type_array = (PA_Block)type_array;  submit.value_cnt = 2;  name_array[0] = USERNAME;  value_array[0] = NULL;  StrAllocCopy(value_array[0], username);  type_array[0] = FORM_TYPE_TEXT;  name_array[1] = PASSWORD;  value_array[1] = NULL;  StrAllocCopy(value_array[1], password);  type_array[1] = FORM_TYPE_PASSWORD;  /* Save the signon data */  SI_LoadSignonData(PR_TRUE);  si_PutData(URLName, &submit, PR_TRUE);  /* Free up the data memory just allocated */  PR_Free(value_array[0]);  PR_Free(value_array[1]);}