summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2023-01-07 21:59:16 -0500
committerPaul Smith <psmith@gnu.org>2023-01-08 10:24:09 -0500
commit1656cd051c7f28de359b1f188b20a5a688004267 (patch)
treeba4c83df394510b2a324b39ccf028778737f9f7f
parent31a1337c2386f7def3d079e8d044443ba093ba92 (diff)
downloadmake-git-1656cd051c7f28de359b1f188b20a5a688004267.tar.gz
Include <strings.h> globally
Various code uses str{,n}casecmp() so include <strings.h>, if it exists, everywhere. * configure.ac: Check for <strings.h> explicitly. * src/makeint.h: Include it if HAVE_STRINGS_H, for str{,n}casecmp(). * src/job.c: Remove include of <strings.h>. * src/main.c: Ditto.
-rw-r--r--configure.ac4
-rw-r--r--src/job.c3
-rw-r--r--src/main.c3
-rw-r--r--src/makeint.h6
4 files changed, 6 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac
index 4de0076d..8466d36f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -64,9 +64,9 @@ AC_SEARCH_LIBS([getpwnam], [sun])
AC_HEADER_DIRENT
AC_HEADER_STAT
-AC_CHECK_HEADERS([stdlib.h locale.h unistd.h limits.h fcntl.h string.h \
+AC_CHECK_HEADERS([stdlib.h string.h strings.h locale.h unistd.h limits.h \
memory.h sys/param.h sys/resource.h sys/timeb.h sys/time.h \
- sys/select.h sys/file.h spawn.h])
+ sys/select.h sys/file.h fcntl.h spawn.h])
AM_PROG_CC_C_O
AC_C_CONST
diff --git a/src/job.c b/src/job.c
index 35fbda00..a42c426c 100644
--- a/src/job.c
+++ b/src/job.c
@@ -30,9 +30,6 @@ this program. If not, see <https://www.gnu.org/licenses/>. */
/* Default shell to use. */
#ifdef WINDOWS32
-# ifdef HAVE_STRINGS_H
-# include <strings.h> /* for strcasecmp, strncasecmp */
-# endif
# include <windows.h>
const char *default_shell = "sh.exe";
diff --git a/src/main.c b/src/main.c
index 93fca9ac..4d4b88fe 100644
--- a/src/main.c
+++ b/src/main.c
@@ -34,9 +34,6 @@ this program. If not, see <https://www.gnu.org/licenses/>. */
#ifdef WINDOWS32
# include <windows.h>
# include <io.h>
-#ifdef HAVE_STRINGS_H
-# include <strings.h> /* for strcasecmp */
-#endif
# include "pathstuff.h"
# include "sub_proc.h"
# include "w32err.h"
diff --git a/src/makeint.h b/src/makeint.h
index 4bcf7b77..b5f63b16 100644
--- a/src/makeint.h
+++ b/src/makeint.h
@@ -251,8 +251,6 @@ extern int vms_unix_simulation;
# ifdef HAVE_STRING_H
# include <string.h>
# define ANSI_STRING 1
-# else
-# include <strings.h>
# endif
# ifdef HAVE_MEMORY_H
# include <memory.h>
@@ -296,6 +294,10 @@ char *strerror (int errnum);
# include <stdint.h>
#endif
+#if HAVE_STRINGS_H
+# include <strings.h> /* Needed for strcasecmp / strncasecmp. */
+#endif
+
#if defined _MSC_VER || defined __MINGW32__
# define MK_PRI64_PREFIX "I64"
#else