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

bsnmpd's snmp_hostres module:

usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c:204:20: error: absolute value function 'abs' given an argument of type 'const long' but has parameter of type 'int' which may cause truncation of value [-Werror,-Wabsolute-value]
        str[9] = (u_char)(abs(tm->tm_gmtoff) / 3600);
                          ^
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c:204:20: note: use function 'labs' instead
        str[9] = (u_char)(abs(tm->tm_gmtoff) / 3600);
                          ^~~
                          labs
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c:205:22: error: absolute value function 'abs' given an argument of type 'const long' but has parameter of type 'int' which may cause truncation of value [-Werror,-Wabsolute-value]
        str[10] = (u_char)((abs(tm->tm_gmtoff) % 3600) / 60);
                            ^
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c:205:22: note: use function 'labs' instead
        str[10] = (u_char)((abs(tm->tm_gmtoff) % 3600) / 60);
                            ^~~
                            labs

Since tm::tm_gmtoff is a long, use labs(3) instead.

MFC after:	3 days
This commit is contained in:
Dimitry Andric 2014-11-22 23:50:18 +00:00
parent fafeab4393
commit b9cfeb20f6
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=274900

View File

@ -201,8 +201,8 @@ make_date_time(u_char *str, const struct tm *tm, u_int decisecs)
else
str[8] = '+';
str[9] = (u_char)(abs(tm->tm_gmtoff) / 3600);
str[10] = (u_char)((abs(tm->tm_gmtoff) % 3600) / 60);
str[9] = (u_char)(labs(tm->tm_gmtoff) / 3600);
str[10] = (u_char)((labs(tm->tm_gmtoff) % 3600) / 60);
return (11);
}