Gcc 4.2 doesn't like expressions of the form (a ? b : c) = 12; so we
code it in a less obscure way.
I did this as a patch to the original, but I don't know if the
original will ever be updated. This is a hack to make it work well
enough for me to use it.