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. --- NEWS | 12 ++++++++++++ ch.c | 3 +++ configure.ac | 7 +++++-- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index bcfe4c6c..fa7b9eb3 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,18 @@ Report bugs, suggestions or comments at https://github.com/gwsw/less/issues. +====================================================================== + + Major changes between "less" versions 608 and 609 + +* Fix ANSI color bug when overstriking with colored chars (github #276). + +* Fix compiler const warning (github #279). + +* Fix signal race in iread (github #280). + +* Fix reading procfs files on Linux (github #282). + ====================================================================== Major changes between "less" versions 590 and 608 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)])