Dali, In the *BSD world, alloca() is regarded as a liability. Here's the FreeBSD man page:
>>>>>>>> ALLOCA(3) FreeBSD Library Functions Manual ALLOCA(3) NAME alloca - memory allocator LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <stdlib.h> void * alloca(size_t size); DESCRIPTION The alloca() function allocates size bytes of space in the stack frame of the caller. This temporary space is automatically freed on return. RETURN VALUES The alloca() function returns a pointer to the beginning of the allocated space. If the allocation failed, a NULL pointer is returned. SEE ALSO brk(2), calloc(3), getpagesize(3), malloc(3), realloc(3) BUGS The alloca() function is machine dependent; its use is discouraged. FreeBSD 4.6 June 4, 1993 FreeBSD 4.6 <<<<<<<< If you're using alloca() to mean "subtract N bytes from the stack pointer, and tell me where it points now" then you have to realise that you're assuming a _lot_ about how the stack is used. Especially in an inlined function! All the best Chris -- Chris Gray [EMAIL PROTECTED] +32 477 599 703 _______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe