if(p == NULL) {   while(++i < variants) array[i] = PL_strdup("");  break; }
static char** MakeStringArray(PRUint32 variants, char* data){  if((variants <= 0) || (data == NULL))    return NULL;  char ** array = (char **)PR_Calloc(variants, sizeof(char *));  if(array == NULL)    return NULL;  char * start = data;  for(PRUint32 i = 0; i < variants; i++)  {    char * p = PL_strchr(start, '|');    if(p != NULL)      *p = 0;    array[i] = PL_strdup(start);    start = ++p;  }  return array;}