Originally Posted by
karlson
It's very likely that the call is being interpreted as wait(NULL).
What makes you think that? I think it's very likely that you are wrong.
EDIT: Case in point:
Code:
firas@applejack ~ % cat test.c
#include <stdio.h>
int main(void)
{
foo();
return 0;
}
void foo(int* p)
{
printf("argument is %p\n", p);
printf("NULL is %p\n", (int*)NULL);
}
firas@applejack ~ % gcc -o test test.c
test.c:9:6: warning: conflicting types for ‘foo’
test.c:5:9: note: previous implicit declaration of ‘foo’ was here
firas@applejack ~ % ./test
argument is 0x1
NULL is (nil)
firas@applejack ~ % gcc -m32 -o test test.c
test.c:9:6: warning: conflicting types for ‘foo’
test.c:5:9: note: previous implicit declaration of ‘foo’ was here
firas@applejack ~ % ./test
argument is 0x8048410
NULL is (nil)
Bookmarks