1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 11:13:36 +02:00
Commit Graph

11634 Commits

Author SHA1 Message Date
Peter Kokot 77118fc925 Remove HAVE_ASSERT_H
The `<assert.h>` header file is part of the standard C89 headers [1] and
on older systems there needed to be also a manual check if header is
present.

Since PHP requires at least C89 manual check and the `HAVE_ASSERT_H`
symbol defined by Autoconf in configure.ac can be both removed [2].

This patch also removes unused <assert.h> includes where c files don't
use the `assert()` macro.

Refs:
[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.2
[2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
2018-09-09 09:43:03 +02:00
Peter Kokot 29dc0470c8 Remove AC_FUNC_UTIME_NULL
Autoconf 2.59d (released in 2006) [1] started promoting several macros
as not relevant for newer systems, including the AC_FUNC_UTIME_NULL.

This macro checks if `utime(file, NULL)` sets file's timestamp to the
current time and defines the `HAVE_UTIME_NULL` symbol. This check was
relevant on very old systems (for example, 4.3BSD released in 1986) and
today can be omitted for systems with utime since it should be well
supported by now. [2]

Refs:
[1] http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
[2] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
2018-09-04 12:03:34 +02:00
Peter Kokot eff22dc511 Remove AC_HEADER_DIRENT
Autoconf 2.59d (released in 2006) [1] started promoting several macros
as not relevant for newer systems anymore, including the `AC_HEADER_DIRENT`.

This macro checks which header defines the `DIR` type. If `<dirent.h>`
is available it defines the `HAVE_DIRENT_H` symbol. Since the `<dirent.h>`
header is already checked in the `configure.ac`, this check is not needed
anymore. This macro also additionally checks for SCO Xenix (discontinued,
latest release 1989) dir and x libraries. [2]

Commit 6ed790685f introduced also
`<sys/dir.h>`. This header exists from times of UNIX System V and
provided definition of DIR type on these systems such as 4.3BSD.
Today `<sys/dir.h>` is kept for backwards compatibility and includes
the `<dirent.h>` on current systems. With `dirent.h>` present this
include is no longer required.

Refs:
[1] http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
[2] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html

Remove unused dirent.h includes
2018-09-04 12:01:24 +02:00
Joe Watkins efbc05a5a8 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix bug #74764 and add a test case
2018-09-04 11:14:57 +02:00
Joe Watkins 6b5e7e6b42 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix bug #74764 and add a test case
2018-09-04 11:13:14 +02:00
Joe Watkins 21f8cd2a92 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #74764 and add a test case
2018-09-04 11:12:39 +02:00
Ville Hukkamaki 0f724453c0 Fix bug #74764 and add a test case 2018-09-04 11:12:04 +02:00
Anatol Belski 2476fb76a7 Fixed bug #76833, backport change to stream_socket_enable_crypto-win32.phpt from 7.3
It would probably be better to remove this test as it's too much
maintanance for a little gain.
2018-09-04 10:53:35 +02:00
Nikita Popov e48e9c0002 Merge branch 'PHP-7.3' 2018-09-04 04:58:44 +02:00
Nikita Popov 6122f67492 Merge branch 'PHP-7.2' into PHP-7.3 2018-09-04 04:57:13 +02:00
Nikita Popov fcf78dfb89 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-04 04:55:15 +02:00
Ville Hukkamaki 742783c3ee Fixed bug #73457
Correctly report errors when opening FTP data connection.
2018-09-04 04:53:38 +02:00
Gabriel Caruso 6dd9fad0c0 Revert changes in test file
This reverts changes made in 2f700384 and 4fcaebba. This test is
supposed to run
only on Windows indeed, as in a Unix environment with a mail server
configured,
an email will be send. On Windows, only emptying the SMTP ini directives
is enough.
2018-08-31 08:48:48 -03:00
Gabriel Caruso 4fcaebbab8 Fix tests in some builds
Looks like the EXPECTREGEX was eating the =DONE= section
2018-08-31 08:09:14 -03:00
Peter Kokot cbc785dc8c Remove AC_STRUCT_TM macro
Autoconf 2.59d (released in 2006) [1] started promoting several macros
as not relevant for newer systems anymore, including the `AC_STRUCT_TM`.

This macro checks if `struct tm` is defined in either `<sys/time.h>` or
`<time.h>` and defines the `TM_IN_SYS_TIME` symbol accordingly. This
check was relevant in times before the C89 for some embedded systems,
microcontrollers or very old systems. For newer systems it can be
avoided and the `<time.h>` should be included instead since current
systems should be well supported by now. [2]

Since PHP requires at least C89, this patch removes the obsolescent call
and time.h checks.

Refs:

- [1]: http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
- [2]: https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Structures.html
2018-08-29 21:22:47 +02:00
Gabriel Caruso 2f7003847d Make more tests run on Linux 2018-08-28 21:20:00 -03:00
Anatol Belski 8b4b41696e Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #76803 ftruncate changes file pointer
2018-08-28 15:43:34 +02:00
Anatol Belski 7728160784 Fixed bug #76803 ftruncate changes file pointer 2018-08-28 15:42:39 +02:00
Anatol Belski e42e8b1051 Refactor stat implementation
- move relevant parts into win32
- general cleanup
- use Windows API and fallback to POSIX
- improve filetime to timestamp conversion
- improve stat/fsat
- handle ino by using file index
- handle st_dev by using volume serial number

The inode implementation is based on file indexes from NTFS. On 32-bit,
fake inodes are shown, that may lead to unexpeted results. 64-bit
implementation is most reliable.
2018-08-26 22:30:06 +02:00
Peter Kokot 3ceecaa9a0 Replace HAVE_ST_BLOCKS with HAVE_STRUCT_STAT_ST_BLOCKS
Since Autoconf 2.50+ macro AC_STRUCT_ST_BLOCKS defines the new
HAVE_STRUCT_STAT_ST_BLOCKS symbol and has deprecated the previous
HAVE_ST_BLOCKS.

PHP 5.3 required Autoconf 2.13 (released in 1999) or newer, since PHP
5.4 the autoconf 2.59 (released in 2003) or newer was required, and
since PHP 7.2, autoconf 2.64 (released in 2008) or newer is required.
2018-08-24 18:33:23 +02:00
Christoph M. Becker 4bf1d0b3a4 Merge branch 'PHP-7.3'
* PHP-7.3:
  Simplify regression test
2018-08-23 12:52:31 +02:00
Christoph M. Becker 5fe8e49baa Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Simplify regression test
2018-08-23 12:51:11 +02:00
Christoph M. Becker 1c3d5659bd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Simplify regression test
2018-08-23 12:49:26 +02:00
Christoph M. Becker 6644bd005f Simplify regression test
There's no need to actually try to trigger an out-of-memory condition
to proof the leak; instead we can simply rely on the Zend MM to report
the memory leaks in debug mode (at least on Linux).  Therefore we
simplify the regression test, which also makes it run much faster.
2018-08-23 12:48:09 +02:00
Christoph M. Becker 4b5d26596a Merge branch 'PHP-7.3'
* PHP-7.3:
  Increase memory_limit to prevent test failures
2018-08-22 14:32:04 +02:00
Christoph M. Becker 6cf382b667 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Increase memory_limit to prevent test failures
2018-08-22 14:31:36 +02:00
Christoph M. Becker 10661e28d1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Increase memory_limit to prevent test failures
2018-08-22 14:30:23 +02:00
Christoph M. Becker 5fb01a3a42 Increase memory_limit to prevent test failures 2018-08-22 14:29:28 +02:00
Christoph M. Becker 5aac8fdbfc Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #76778: array_reduce leaks memory if callback throws exception
2018-08-22 13:51:55 +02:00
Christoph M. Becker 1de17428f6 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #76778: array_reduce leaks memory if callback throws exception
2018-08-22 13:51:16 +02:00
Christoph M. Becker cdd9eb8c4a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76778: array_reduce leaks memory if callback throws exception
2018-08-22 13:49:35 +02:00
Christoph M. Becker 70b2fca220 Fix #76778: array_reduce leaks memory if callback throws exception
We have to release the result variable in the error case, too.
2018-08-22 13:40:24 +02:00
Dmitry Stogov 93f9ee7217 Use zend_class_entry/zend_function type names instead of _zend_class_entry/_zend_function tags. 2018-08-22 14:01:14 +03:00
Nikita Popov 5e74a1f411 Merge branch 'PHP-7.3' 2018-08-21 06:27:27 +02:00
David Carlier 16a9dd74f4 Avoid directly adding to string literal
This fixes a Clang warning.
2018-08-21 06:25:41 +02:00
Gabriel Caruso c86ce117c2 Merge branch 'PHP-7.3'
* PHP-7.3:
  Make array parsing parameters error messages consistency with ZPP failure
2018-08-19 21:33:41 -03:00
Gabriel Caruso efbf846fd2 Make array parsing parameters error messages consistency with ZPP failure 2018-08-19 21:27:57 -03:00
Xinchen Hui e81b0b29d3 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed same bug #76755 in setrawcookie
2018-08-17 16:20:37 +08:00
Xinchen Hui 5c1a2d8375 Fixed same bug #76755 in setrawcookie 2018-08-17 16:19:26 +08:00
Xinchen Hui 3ca89ba007 Merge branch 'PHP-7.3'
* PHP-7.3:
  Cheaper checking
2018-08-17 15:22:50 +08:00
Xinchen Hui 0a16af043e Cheaper checking 2018-08-17 15:21:48 +08:00
Xinchen Hui 13658428a2 Merge branch 'PHP-7.3'
* PHP-7.3:
  Micro optimization & fixed invalid key handling
2018-08-17 14:56:43 +08:00
Xinchen Hui 751bbaa41f Micro optimization & fixed invalid key handling 2018-08-17 14:56:24 +08:00
Xinchen Hui ed0c581808 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #76755 (setcookie does not accept "double" type for expire time)
2018-08-17 13:46:08 +08:00
Xinchen Hui d61ff37f45 Fixed bug #76755 (setcookie does not accept "double" type for expire time) 2018-08-17 13:45:43 +08:00
Anatol Belski 2dfb74682f Merge branch 'PHP-7.3'
* PHP-7.3:
  Sync with e0fe6674
2018-08-13 09:22:07 +02:00
Anatol Belski fdaa540fd8 Sync with e0fe6674 2018-08-13 09:18:38 +02:00
Gabriel Caruso 84b195d9fc Fix some misspellings 2018-08-12 16:15:45 +02:00
Christoph M. Becker 9ea7d259ef Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #76688: Disallow excessive parameters after options array
2018-08-12 15:49:46 +02:00
Pedro Magalhães a16aee6cee Fix #76688: Disallow excessive parameters after options array 2018-08-12 15:49:13 +02:00