On Thu, Apr 30, 2015 at 09:07:45AM -0400, Robert Haas wrote:
> >> > > Since abs() is declared to return just an int. I don't see it anywhere
> >> > > in our tree and I'm not sure how portable it actually is, but labs() is
> >> > > supposedly in C89, so perhaps that should be used here instead?
> >> >
> >> > I just removed the "l" for now, since %02d is used to print the result
> >> > of abs() elsewhere. If that isn't right, someone can re-fix my fix.
> >>
> >> Works for me. I'm no longer seeing the warning.
> >
> > Oh, I see now that my commit generated a conflict and didn't apply.
> > Should we try labs() or just ignore it?
>
> If the result is guaranteed to fit in an integer, then there's no
> reason to adopt labs. If you think there are platforms where it would
> overflow int but fit into long, then there might be a reason to change
> it. All things being equal, it'd be nicer if we didn't need to use
> labs(), because every function we depend on is another thing that can
> break on some obscure platform.
I think abs() is fine; there is no risk of overflow from mod; thanks.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +