ACB_ values exceed 16 bits, yet some working variables explicitly declared as uint16

Richard Bollinger rabollinger at gmail.com
Tue Feb 21 22:03:03 GMT 2006


cc: WorkShop Compilers 5.0 98/12/15 C 5.0

#define BUILD_ENV_UNAME "SunOS SS10 5.8 Generic_117350-24 sun4u sparc
SUNW,Ultra-2"
#define BUILD_ENV_DATE "Mon Feb 20 07:53:37 EST 2006"
#define BUILD_ENV_COMPILER "cc"


On 2/21/06, Jeremy Allison <jra at samba.org> wrote:
> On Tue, Feb 21, 2006 at 04:46:02PM -0500, Richard Bollinger wrote:
> > SAMBA VERSION: 3.0.22pre1-SVN-build-13566
> >
> > Building on Sun Solaris, get this failure message:
> > Compiling utils/pdbedit.c
> > "utils/pdbedit.c", line 330: warning: initializer does not fit or is
> > out of range: -1544
> > "utils/pdbedit.c", line 675: non-constant initializer: op "U&"
> > "utils/pdbedit.c", line 943: cannot recover from previous errors
> > cc: acomp failed for utils/pdbedit.c
> > *** Error code 2
> > make: Fatal error: Command failed for target `utils/pdbedit.o'
> >
> > The code in question in utils/pdbedit.c reads as follows:
> > uint16 not_settable = ~(ACB_DISABLED|ACB_HOMDIRREQ|ACB_PWNOTREQ|
> > ACB_PWNOEXP|ACB_AUTOLOCK);
> >
> > But those defined values can exceed 16 bits, for example:
> > include/smb.h:#define ACB_DONT_REQUIRE_PREAUTH 0x00010000  /* 1 =
> > Preauth not required */
>
> Hmmm. Yep, that's the only flag > 16 bits, but it isn't referred
> to in any of the source code yet (only in a header). The constants
> for these are defined as 0x<32 bit value> though. What compiler
> are you using ? This passes gcc.
>
> Jeremy.
>


More information about the samba-technical mailing list