>>689 長い。却下。
これまでをまとめるとこれが一番良いように思う。

 if (color)
  pointer ? pointer[n] = color, n++ : n++;

完璧?