and, in src/utilunix.c, write #if defined(HAVE_GETGROUPLIST) && !defined(HAVE_GLIBC_2_3_2) ... #endif
Roland
Index: configure.ac =================================================================== RCS file: /cvsroot/mc/mc/configure.ac,v retrieving revision 1.30 diff -u -p -r1.30 configure.ac --- configure.ac 10 Jul 2005 10:45:28 -0000 1.30 +++ configure.ac 20 Jul 2005 19:06:02 -0000 @@ -179,6 +179,25 @@ AC_CHECK_FUNCS([atoll cfgetospeed getsid putenv setreuid setuid statfs strerror strftime \ sysconf tcgetattr tcsetattr truncate getgrouplist]) +dnl The GNU libc, version 2.3.2 has a buffer overflow in the getgrouplist(3) +dnl function, so we cannot use that function. +AC_MSG_CHECKING([for glibc version]) +AC_LINK_IFELSE([ +#include <gnu/libc-version.h> +#include <stdio.h> +int main(void) { + return puts(gnu_get_libc_version()); +} +], [ +mc_glibc_version=`./conftest$ac_exeext` +if test x"${mc_glibc_version}" = x"2.3.2"; then + AC_DEFINE([HAVE_GLIBC_2_3_2], 1, [Define this if you have glibc-2.3.2]) +fi +AC_MSG_RESULT([${mc_glibc_version}]) +], [ +AC_MSG_RESULT([none]) +]) + dnl S-Lang needs all four functions to be defined to use POSIX signal API AC_CHECK_FUNCS([sigaction sigemptyset sigprocmask sigaddset], , [slang_signals=no]) if test x$slang_signals != xno; then
_______________________________________________ Mc-devel mailing list http://mail.gnome.org/mailman/listinfo/mc-devel