sch isn't an array, how did this pass through gcc?