[Dovecot] 1.0.rc27 released - Compiling on AIX - brovke bitfield in mbox-sync-private.h
John Robinson
john.robinson at anonymous.org.uk
Sun Mar 18 21:01:37 EET 2007
On 18/03/2007 15:51, Timo Sirainen wrote:
> On Sat, 2007-03-17 at 01:39 +0100, Václav Haisman wrote:
[...]
>> uint32_t flags:8;
>> uint32_t uid_broken:1;
>> uint32_t expunged:1;
>> uint32_t pseudo:1;
>
> Right, I didn't think of that. But that feels a bit ugly :) I don't
> think it saves much memory anyway, so I'll keep it as uint8_t flags.
I may be a bit of a novice at this sort of thing, but if you want
bitfields, does it matter what you say? In theory at least,
unsigned int x:1;
is all you need, it'll take one bit of storage, there's no point
specifying the size of the thing you want truncated to one bit, what
you're asking for is precisely one bit to be used as an unsigned
integer. By saying e.g.
uint8 x:1;
you're specifying the size twice, and perhaps it's not a surprise if you
get errors trying to compile it: which is it to be, 8 bits or 1?
Cheers,
John.
More information about the dovecot
mailing list