summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Kokot <peterkokot@gmail.com>2019-04-07 15:20:02 +0200
committerPeter Kokot <peterkokot@gmail.com>2019-04-07 15:20:02 +0200
commitfd1ad1e25a6d0676a560d237ff5f44faa6e1dc87 (patch)
tree04fc48df74385bd7be760f9213dbe189281ba459
parentafd52f9d9986d92dd0c63832a07ab1a16bf11d53 (diff)
downloadphp-git-fd1ad1e25a6d0676a560d237ff5f44faa6e1dc87.tar.gz
Remove HAVE_LIMITS_H
The `<limits.h>` header file is part of the standard C89 headers [1] and on current systems can be included unconditionally. Since PHP requires at least C89 or greater, the `HAVE_LIMITS_H` symbol defined by Autoconf in configure.ac [2] can be ommitted and simplifed however due to bundled file library (libmagic) and timelib still using it, the removal there was omitted and done only in Zend.m4 file. Current bundled libraries libtime, oniguruma, and libmagic still include partial `HAVE_LIMITS_H` usage and will be more refactored when this is possible. Refs: [1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2 [2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
-rw-r--r--TSRM/tsrm_config_common.h2
-rw-r--r--Zend/Zend.m41
-rw-r--r--Zend/zend_alloc.c2
-rw-r--r--Zend/zend_portability.h4
-rw-r--r--ext/standard/exec.c2
-rw-r--r--ext/standard/string.c6
-rw-r--r--ext/standard/url_scanner_ex.re4
-rw-r--r--main/php.h2
8 files changed, 2 insertions, 21 deletions
diff --git a/TSRM/tsrm_config_common.h b/TSRM/tsrm_config_common.h
index 64cecd912a..d3c7672d48 100644
--- a/TSRM/tsrm_config_common.h
+++ b/TSRM/tsrm_config_common.h
@@ -35,9 +35,7 @@ char *alloca ();
#include <unistd.h>
#endif
-#if HAVE_LIMITS_H
#include <limits.h>
-#endif
#ifndef MAXPATHLEN
# if _WIN32
diff --git a/Zend/Zend.m4 b/Zend/Zend.m4
index 29404631eb..c0ada26aea 100644
--- a/Zend/Zend.m4
+++ b/Zend/Zend.m4
@@ -8,7 +8,6 @@ AC_REQUIRE([AC_PROG_CC])
AC_CHECK_HEADERS(
inttypes.h \
stdint.h \
-limits.h \
malloc.h \
unistd.h \
sys/types.h \
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index dabf48150c..77474c5527 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -77,9 +77,7 @@
#include <sys/types.h>
#include <sys/stat.h>
-#if HAVE_LIMITS_H
#include <limits.h>
-#endif
#include <fcntl.h>
#include <errno.h>
diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h
index fe3f5c4245..56b7a1ada3 100644
--- a/Zend/zend_portability.h
+++ b/Zend/zend_portability.h
@@ -60,9 +60,7 @@
# include <dlfcn.h>
#endif
-#ifdef HAVE_LIMITS_H
-# include <limits.h>
-#endif
+#include <limits.h>
#if HAVE_ALLOCA_H && !defined(_ALLOCA_H)
# include <alloca.h>
diff --git a/ext/standard/exec.c b/ext/standard/exec.c
index 63e1d97e1d..3839945836 100644
--- a/ext/standard/exec.c
+++ b/ext/standard/exec.c
@@ -49,9 +49,7 @@
#include <unistd.h>
#endif
-#if HAVE_LIMITS_H
#include <limits.h>
-#endif
#ifdef PHP_WIN32
# include "win32/nice.h"
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 194ce9ff34..8fb0e81ab0 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -90,12 +90,6 @@ void register_string_constants(INIT_FUNC_ARGS)
#ifdef HAVE_LOCALECONV
/* If last members of struct lconv equal CHAR_MAX, no grouping is done */
-
-/* This is bad, but since we are going to be hardcoding in the POSIX stuff anyway... */
-# ifndef HAVE_LIMITS_H
-# define CHAR_MAX 127
-# endif
-
REGISTER_LONG_CONSTANT("CHAR_MAX", CHAR_MAX, CONST_CS | CONST_PERSISTENT);
#endif
diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re
index 0386d0e955..8ad129380e 100644
--- a/ext/standard/url_scanner_ex.re
+++ b/ext/standard/url_scanner_ex.re
@@ -22,10 +22,8 @@
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
-#ifdef HAVE_LIMITS_H
-#include <limits.h>
-#endif
+#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/main/php.h b/main/php.h
index 17aa3b3de5..888344324e 100644
--- a/main/php.h
+++ b/main/php.h
@@ -243,9 +243,7 @@ char *strerror(int);
# endif
#endif
-#if HAVE_LIMITS_H
#include <limits.h>
-#endif
#ifndef LONG_MAX
#define LONG_MAX 2147483647L