From 03f011f219a6d6068c4ccd07dbd8dcd50641ff10 Mon Sep 17 00:00:00 2001 From: Mark Nudelman Date: Tue, 20 Sep 2022 12:32:30 -0700 Subject: [PATCH] Fix reading procfs files on Linux: bad detection of HAVE_PROCFS. diff --git a/ch.c b/ch.c index bfad09c7..fcf136b9 100644 --- a/ch.c +++ b/ch.c @@ -28,6 +28,9 @@ extern ino_t curr_ino; #if HAVE_PROCFS #include +#if HAVE_LINUX_MAGIC_H +#include +#endif #endif typedef POSITION BLOCKNUM; diff --git a/configure.ac b/configure.ac index f7c64814..b10adce9 100644 --- a/configure.ac +++ b/configure.ac @@ -37,7 +37,7 @@ AC_SEARCH_LIBS([regcmp], [gen intl PW]) # Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS([ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h sys/ioctl.h sys/stream.h wctype.h]) +AC_CHECK_HEADERS([ctype.h errno.h fcntl.h limits.h stdio.h stdlib.h string.h termcap.h termio.h termios.h time.h unistd.h values.h linux/magic.h sys/ioctl.h sys/stream.h wctype.h]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STAT @@ -271,7 +271,10 @@ AC_TRY_COMPILE([#include [struct stat s; dev_t dev = s.st_dev; ino_t ino = s.st_ino;], [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_STAT_INO)], [AC_MSG_RESULT(no)]) AC_MSG_CHECKING(for procfs) -AC_TRY_COMPILE([#include ], +AC_TRY_COMPILE([#include +#if HAVE_LINUX_MAGIC_H +#include +#endif], [struct statfs s; s.f_type = PROC_SUPER_MAGIC; (void) fstatfs(0,&s); ], [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_PROCFS)], [AC_MSG_RESULT(no)])