incorrect enum warning?
John Baldwin
jhb at FreeBSD.org
Thu May 1 08:06:45 PDT 2003
On 01-May-2003 Dag-Erling Smorgrav wrote:
> Why does the following code in OpenPAM headers:
>
> /*
> * XSSO 5.4
> */
> enum {
> PAM_SILENT = 0x80000000,
> PAM_DISALLOW_NULL_AUTHTOK = 0x1,
> PAM_ESTABLISH_CRED = 0x1,
> PAM_DELETE_CRED = 0x2,
> PAM_REINITIALIZE_CRED = 0x4,
> PAM_REFRESH_CRED = 0x8,
> PAM_PRELIM_CHECK = 0x1,
> PAM_UPDATE_AUTHTOK = 0x2,
> PAM_CHANGE_EXPIRED_AUTHTOK = 0x4
> };
>
> cause the following warning when compiled with CSTD=c99:
>
> /usr/src/contrib/openpam/include/security/pam_constants.h:100: warning: ISO C restricts
> enumerator values to range of `int'
>
> when 0x80000000 is clearly within the range of 'int' on all platforms
> we support?
On an i386:
#define INT_MAX 0x7fffffff /* max value for an int */
0x80000000 > 0x7fffffff
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
More information about the freebsd-hackers
mailing list