The readdir_r change hits:
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I.. -g -O2 -Wall -Wmissing-prototypes
-MT filesys.lo -MD -
MP -MF .deps/filesys.Tpo -c filesys.
c -fPIC -DPIC -o .libs/filesys.o
filesys.c: In function `scm_readdir':
filesys.c:905: warning: implicit declaration of function `dirfd'
filesys.c:914: warning: implicit declaration of function `SCM_MAX'
filesys.c:918: warning: implicit declaration of function `alloca'
filesys.c:920: error: too many arguments to function `readdir_r'
filesys.c:898: warning: unused variable `old_errno'
I included "private-gc.h" to get SCM_MAX, and <alloca.h> for alloca,
but dirfd is not defined in Solaris. The version in win32-dirent.c won't work
because there is no fd field. This compiles:
name_max = fpathconf (ds->dd_fd, _PC_NAME_MAX);
and readdir takes 2 arguments now, so:
SCM_SYSCALL (readdir_r (ds, &rdent));
but that gets:
filesys.c: In function `scm_readdir':
filesys.c:927: warning: passing arg 2 of `readdir_r' from incompatible pointer
type
I don't know enough about readdir_r to say whether it matters.
_______________________________________________
Guile-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/guile-devel