From owner-freebsd-hackers@FreeBSD.ORG Thu May 1 08:06:44 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EB91437B401 for ; Thu, 1 May 2003 08:06:44 -0700 (PDT) Received: from mail.speakeasy.net (mail16.speakeasy.net [216.254.0.216]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5AB0543F85 for ; Thu, 1 May 2003 08:06:44 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 14849 invoked from network); 1 May 2003 15:06:47 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 1 May 2003 15:06:47 -0000 Received: from laptop.baldwin.cx ([216.133.140.1]) by server.baldwin.cx (8.12.8/8.12.8) with ESMTP id h41F6fOv025765; Thu, 1 May 2003 11:06:42 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: Date: Thu, 01 May 2003 11:06:45 -0400 (EDT) From: John Baldwin To: Dag-Erling Smorgrav cc: hackers@freebsd.org Subject: RE: incorrect enum warning? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 May 2003 15:06:45 -0000 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 <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/