linux-libc-headers: include/asm-arm26/page.h, include/asm-ia64/pag...

Mariusz Mazur mmazur w kernel.pl
Nie, 29 Sie 2004, 17:11:47 CEST


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 }




Więcej informacji o liście dyskusyjnej pld-devel-pl