On niedziela 29 sierpień 2004 16:44, Jakub Bogusz wrote:
> > -#define PAGE_SIZE          (1UL << PAGE_SHIFT)
> > +extern int getpagesize(void);
> > +#define PAGE_SIZE ((unsigned long)getpagesize())
> > +#define PAGE_SHIFT ((unsigned
> > long[]){12,13,14,-1,15,-1,-1,-1,16}[PAGE_SIZE>>13]) #define
> > PAGE_MASK           (~(PAGE_SIZE-1))
>
> Wersja z ?: trochę brzydziej wyglądała, ale chyba jej wolałbym użyć...
> przynajmniej sensownie by zareagowała na zwrócenie nieoczekiwanej
> wartości przez getpagesize() - bo to powyższe... można się domyślić.

Nie można, bo się ni w ząb nie znam na operacjach bitowych w C :)
Chooociaż. Chyba rozszyfrowałem co to za spaghetti makro. Jak rozumiem chodzi 
ci o wersją, jaką ten człek posłał oryginalnie, a to co jest powyżej działa 
tylko poprawnie dla jakiś określonych PAGE_SIZEów?
(jeszczem tego nie wydał, więc mogę zmienić)


-- 
Każdy człowiek, który naprawdę żyje, nie ma charakteru, nie może go mieć.
Charakter jest zawsze martwy, otacza cię zgniła struktura przeniesiona z 
przeszłości. Jeżeli działasz zgodnie z charakterem wtedy nie działasz w ogóle
- jedynie mechanicznie reagujesz.                 { Osho }

_______________________________________________
pld-devel-pl mailing list
[EMAIL PROTECTED]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym