|| next >= dim[i])
|| next >= aDimensionSizes[i])
static PRInt32 GetArrayPosition(const nsAString& src, PRInt32 d, PRInt32* dim){  PRInt32 pos[MAX_ARRAY_DIMENSIONS];  nsAutoString leftover;  PRInt32 result = GetArrayDimensions(src, pos, leftover);  if (result != d                //  Easy cases where something went wrong    || !leftover.IsEmpty())    return -1;  result = 0;  for (PRInt32 i = 0;;) {    PRInt32 next = pos[i];    if (next == -1      || next >= dim[i])      return -1;    result = result + next;    if (++i < d)                 //  Multiply for next round.      result = result * dim[i];    else      return result;  }}