Fix some more nasty stringyness in here by using asprintf instead of cruft.
gets rid of the second last use of the awful DECIMAL_SIZE.