Peter Eisentraut <peter@eisentraut.org> writes:
> Remove unnecessary uses of Abs()
Re-reading this, I noticed something that's probably not good:
in ecpg/pgtypeslib/interval.c you did
- sprintf(cp, "%02d.%0*d", abs(sec), precision, (int) Abs(fsec));
+ sprintf(cp, "%02d.%0*d", abs(sec), precision, abs(fsec));
(in 2 places). I think this has possibly broken the direction of rounding
for negative values, because we'll now truncate to integer before changing
sign. Maybe it's okay but you have to make assumptions about what it'll
do. Safer would have been
+ sprintf(cp, "%02d.%0*d", abs(sec), precision, (int) fabs(fsec));
There is similar-looking coding in remove_gene(), but I didn't check
the data type involved.
regards, tom lane