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