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

Jeremy Allison jra at samba.org
Tue Feb 21 21:56:12 GMT 2006


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