[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Broken dbus



Sigh...

I knew it was too early on a Sunday morning for this... ;-}

Estabrook, Jay wrote:
> 
> The poor programming practice (hal) arises from assuming that all
> architectures have a natural boundary of 32-bits. Something like
> the following are indicative:
> 
>    pointer = (void *)((((char *)address) + 3) & ~3);

Should be:

    pointer = (void *)((((char *)address) + 4) & ~3);

which rounds UP to the next 32-bit natural boundary.

> 
> Better is:
> 
>    #define SZM (sizeof(void*)-1)
>    pointer = (void *)((((char *)address) + SZM) & ~SZM);

And this should be:

   #define SZ  (sizeof(void*))
   #define SZM (SZ-1)
   pointer = (void *)((((char *)address) + SZ) & ~SZM);

which also rounds UP.

Now back to the funny pages... ;-}

--Jay++


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]