incorrect enum warning?

Dag-Erling Smorgrav des at ofug.org
Thu May 1 07:51:44 PDT 2003


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?

DES
-- 
Dag-Erling Smorgrav - des at ofug.org


More information about the freebsd-hackers mailing list