[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: Broken dbus
- From: Jay Estabrook <Jay Estabrook hp com>
- To: Linux on Alpha processors <axp-list redhat com>
- Subject: Re: Broken dbus
- Date: Sun, 27 Apr 2008 11:05:27 -0400
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]