mc -> do (wy)znawcow C ;)
Michal Zalewski
lcamtuf w ids.pl
Pią, 28 Sie 1998, 20:36:22 CEST
On Fri, 2 Oct 1998, Wojtek Slusarczyk wrote:
> char *strstr (const char *haystack, const char *needle);
>
> Podczas kompilacji na glibcu pluje takim bledem :
>
> mountlist.c:105: parse error before `__extension__'
> mountlist.c:105: parse error before `needle'
> [...]
> #define strstr(haystack, needle) \
> (__extension__ (__builtin_constant_p (needle) && sizeof ((needle)[0])
[...]
Jak widac, strstr jest wczesniej zdefiniowany jako makro preprocesora.
Wobec tego gdy pojawia sie jako nazwa funkcji, deklaracja ta jest
zastepowana... wywolaniem makra =)
> I teraz pytanie do wszystkich GURU: jak ustawic to diabelstwo za
> wylaczeniem skrajnosci ???:
Sprawdzic w configure (jesli nie jest to robione domyslnie), czy w
systemie jest juz strstr, a jesli jest, zrobic #ifdef _HAVE_STRSTR i tylko
odpowiedniego includa, zamiast ponownej deklaracji...
_______________________________________________________________________
Michal Zalewski [lcamtuf w ids.pl] [ENSI / marchew] [dione.ids.pl SYSADM]
[http://linux.lepszy.od.kobiety.pl/~lcamtuf/] <=--=> bash$ :(){ :|:&};:
[voice phone: +48 (0) 22 813 25 86] ? [pager (MetroBip): 0 642 222 813]
Iterowac jest rzecza ludzka, wykonywac rekursywnie - boska [P. Deutsch]
Więcej informacji o liście dyskusyjnej pld-devel-pl