| From 03f011f219a6d6068c4ccd07dbd8dcd50641ff10 Mon Sep 17 00:00:00 2001 |
| From: Mark Nudelman <markn@greenwoodsoftware.com> |
| 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 <sys/statfs.h> |
| +#if HAVE_LINUX_MAGIC_H |
| +#include <linux/magic.h> |
| +#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 <sys/types.h> |
| [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 <sys/statfs.h>], |
| +AC_TRY_COMPILE([#include <sys/statfs.h> |
| +#if HAVE_LINUX_MAGIC_H |
| +#include <linux/magic.h> |
| +#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)]) |
| |