HomeFreeBSD

Fix the following -Werror warnings from clang 3.5.0, while building

Description

Fix the following -Werror warnings from clang 3.5.0, while building
usr.bin/locate:

usr.bin/locate/locate/util.c:249:29: error: taking the absolute value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]

MAXPATHLEN, abs(i) < abs(htonl(i)) ? i : htonl(i));
                     ^

usr.bin/locate/locate/util.c:249:29: note: remove the call to 'abs' since unsigned values cannot be negative

MAXPATHLEN, abs(i) < abs(htonl(i)) ? i : htonl(i));
                     ^~~

usr.bin/locate/locate/util.c:274:32: error: taking the absolute value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]

MAXPATHLEN, abs(word) < abs(htonl(word)) ? word :
                        ^

usr.bin/locate/locate/util.c:274:32: note: remove the call to 'abs' since unsigned values cannot be negative

MAXPATHLEN, abs(word) < abs(htonl(word)) ? word :
                        ^~~

The problem is that ntohl() always returns an unsigned quantity. In
this case, it's expected to be cast back to a signed integer, but to
stop complaints about abs() we just store it into an integer, and don't
call ntohl() again.

Reviewed by: ngie
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D1196

Details

Provenance
dimAuthored on
Reviewer
ngie
Differential Revision
D1196: Fix clang 3.5.0 warning in usr.bin/locate
Parents
rS274846: Fix the following -Werror warning from clang 3.5.0, while building
Branches
Unknown
Tags
Unknown

Event Timeline