-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Bruno Haible on 8/16/2009 6:58 AM: >> + if test "$REPLACE_FPURGE$HAVE_DECL_FPURGE" != 01; then >> + AC_LIBOBJ([fpurge]) >> + fi > > This is not right: When REPLACE_FPURGE = 0 and HAVE_DECL_FPURGE = 0, it is not > needed to compile fpurge.c just because the declaration is missing. It would > also lead to a symbol clash, because in this case lib/stdio.in.h does not do > "#define fpurge rpl_fpurge", thus fpurge.o would and libc.so would both define > the symbol 'fpurge'. Which may lead to the expected effect of fpurge.o ends > up in a shared library that is dynamically loaded.
But it looks like your patch didn't quite fix things either - by moving the lone call to AC_LIBOBJ([fpurge]) inside the ac_cv_func_fpurge = yes block, you are failing to compile fpurge.c when __fpurge exists but not fpurge. > >> + remove (TESTFILE); > > Without a preceding fclose (fp), this call may not work on Windows platforms. Thanks for catching that. That also explains a failure I saw on a Solaris machine accessing an NFS mount, where NFS was unable to delete the in-use file. - -- Don't work too hard, make some time for fun as well! Eric Blake e...@byu.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkqIGJoACgkQ84KuGfSFAYC57wCffygAcDcQ7jV3qxgWL8Z3aiBd o4IAnRj4Yv+cj1yOj6dI41aMsOI7Xv2g =5xNz -----END PGP SIGNATURE-----