items. The old code used modulus which does not give the required result,
for C (ISO 1990) and before the result is implementation defined so may have
worked for some compilers / targets but from C (ISO 1999) onwards the sign
of the result comes from the dividend so will not work. (By M. T. Jones)