1
0
mirror of https://github.com/php/php-src.git synced 2026-04-18 05:21:02 +02:00
Commit Graph

48993 Commits

Author SHA1 Message Date
Peter Kokot
f116484cf1 Rename *.php files in ext/dom tests to *.inc
*.php files are ignored by Git and a better practice might be to rename
PHP included files for tests.
2018-09-23 17:22:55 +02:00
Peter Kokot
9e5853b699 Sync ext/spl/README with current set of example files 2018-09-23 16:46:58 +02:00
Nikita Popov
74235ca5f3 Bump minimum libxml version to 2.7.6
Released Oct 2009, part of RHEL 6.
2018-09-23 15:51:09 +02:00
bugreportuser
59d99a2c47 Remove unnecessary base64_encode() return value check
php_base64_encode() never returns NULL, so base64_encode() will never return
false.
2018-09-23 14:49:10 +02:00
Nikita Popov
152dc924c5 Drop WE_DONT_COPY_IN_BUFFERED_AND_UNBUFFERED_BECAUSEOF_IS_REF
And perform some code cleanups this allows.
2018-09-22 18:53:32 +02:00
Nikita Popov
9faff4f783 Drop ext/spl/spl.php
Leftover from ext/spl/internal, which was removed previously.
2018-09-22 17:46:54 +02:00
Christoph M. Becker
7022f3a34f Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #66828: iconv_mime_encode Q-encoding longer than it should be
2018-09-22 15:57:28 +02:00
Christoph M. Becker
150e2b8c8c Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #66828: iconv_mime_encode Q-encoding longer than it should be
2018-09-22 15:56:49 +02:00
Christoph M. Becker
7c2cc9aa56 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #66828: iconv_mime_encode Q-encoding longer than it should be
2018-09-22 15:31:02 +02:00
Christoph M. Becker
9cbe1283f7 Fix #66828: iconv_mime_encode Q-encoding longer than it should be
Before the fix for bug 48289 has been applied, the algorithm to
construct a Q-encoded-word has been optimistic, i.e. try to encode as
many bytes that *may* fit in the remaining space, calculate the actual
length of the Q-encoded word, and if it's too long, try again with a
reduced size.  However, the fix for the mentioned bug replaced this by
a pessimistic algorithm, which always terminates[1] the for loop[2]
during the first iteration (which renders the following 3 lines as dead
code), and as such easily produces unnecessarily short encoded-words.
Instead the proper fix for the bug would have been to make sure that
`out_size` is always decremented, if the space isn't sufficient for the
encoded-word.

[1] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1421>
[2] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1360>
2018-09-22 15:20:20 +02:00
Anatol Belski
5e1c3d62f9 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix test and add skip section
2018-09-22 02:11:06 +02:00
Anatol Belski
9f3aac9e39 Fix test and add skip section 2018-09-22 02:10:43 +02:00
Peter Kokot
5da3ed69a6 Rename *.p5c files to *.inc
When including files in PHP tests a good practice so far has been to use
the *.inc extension. This patch renames few *.p5c files that are
included in phpt files.
2018-09-21 23:21:14 +02:00
Anatol Belski
4ec7463df6 Merge branch 'PHP-7.3'
* PHP-7.3:
  Add test for bug #76909
  Fixed bug #76909 preg_match difference between 7.3 and < 7.3
  Upgrade PCRE2 to 10.32
2018-09-21 15:58:50 +02:00
Anatol Belski
9c58ab37c7 Add test for bug #76909 2018-09-21 15:57:00 +02:00
Anatol Belski
7a02ecb7fe Fixed bug #76909 preg_match difference between 7.3 and < 7.3
Applied upstream patch, see https://bugs.exim.org/show_bug.cgi?id=2321
2018-09-21 15:55:03 +02:00
Anatol Belski
91b2b6c65d Upgrade PCRE2 to 10.32
(cherry picked from commit d918e0776b)
2018-09-21 15:54:14 +02:00
Peter Kokot
bfa2c7158f Fix permissions
Certain files don't need to be executables.
2018-09-21 14:12:25 +02:00
Peter Kokot
a1b5698d4e Remove HAVE_TIME_H
The `<time.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_TIME_H` symbol
defined by Autoconf in ext/pdo_sqlite/config.m4 [2] can be ommitted and
simplifed.

Additionally, since PHP didn't define `HAVE_TIME_H` prior in the
configure.ac the occurrence of this symbol in cli can be removed.

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
2018-09-21 14:10:30 +02:00
Dmitry Stogov
c1b649d448 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string offset")
2018-09-20 12:34:31 +03:00
Dmitry Stogov
b8ffa3707c Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string offset") 2018-09-20 12:33:46 +03:00
Christoph M. Becker
fe3ec212dc Update to SQLite 3.25.1 2018-09-19 20:01:04 +02:00
Dmitry Stogov
a5208c393d Use macro 2018-09-19 18:09:32 +03:00
Dmitry Stogov
f5e1868601 Improved hash copying 2018-09-19 17:53:10 +03:00
Dmitry Stogov
0df57480b6 Remove zend_hash_exists() 2018-09-19 13:54:02 +03:00
Nikita Popov
e6a09f39b8 Merge branch 'PHP-7.3' 2018-09-19 12:32:03 +02:00
Nikita Popov
f5729ec532 Merge branch 'PHP-7.2' into PHP-7.3 2018-09-19 12:31:55 +02:00
Nikita Popov
c26902911f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-19 12:31:46 +02:00
Nikita Popov
842bec5b3c Fix getColumnMeta() test
Newer MySQL versions are stricter about invalid values. Three issues
are fixed:

* Don't use negative values with ZEROFILL. ZEROFILL implies UNSIGNED.
* Use a legal TIMESTAMP value. TIMESTAMP does not accept a Unix timestamp.
* Specify BIGINT values as strings, to avoid overflows.

This is a cherry-pick of d2dc0a3291 from master.
2018-09-19 12:29:38 +02:00
Nikita Popov
c614dd677c Fix intermittent failures in mysqli_stmt_bind_result_format.phpt
There were two distinct issues here:
 * $trend was compared against 'NULL' using !=, which does not work
   as intended in the case where $trend==0.0.
 * current_targets was declared as double(17,0), which means that
   the fractional part was rounded, so that the same comparison in
   SQL (rounded) and in PHP (not rounded) did not necessarily
   match.

Please don't write mt_rand based tests, it takes ages to debug this
crap...
2018-09-19 12:27:31 +02:00
Nikita Popov
cdde07d059 Merge branch 'PHP-7.3' 2018-09-18 20:51:50 +02:00
Nikita Popov
c2da50bc41 Merge branch 'PHP-7.2' into PHP-7.3 2018-09-18 20:51:28 +02:00
Nikita Popov
6bf681249f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-18 20:50:37 +02:00
Manabu Matsui
ab6c45f524 Fix bug #75533: array_reduce is slow when $carry is large array 2018-09-18 20:49:59 +02:00
Dmitry Stogov
b634ded197 Class constants and default property values can't be IS_REFERENCE anymore. 2018-09-18 18:46:10 +03:00
Anatol Belski
d918e0776b Upgrade PCRE2 to 10.32 2018-09-18 14:16:52 +02:00
Nikita Popov
e947bcaf39 Simplify buffer management in php_intl_idn_to_46()
Instead of manually tracking how/whether the buffer is used, make
use of the string refcount.
2018-09-18 12:46:30 +02:00
Nikita Popov
208f5b0941 Merge branch 'PHP-7.3' 2018-09-18 12:39:13 +02:00
Nikita Popov
9f4ec45aa6 Remove invalid free
The initialization of buffer has been moved further down in 7.3,
so this free is no longer legal.
2018-09-18 12:38:46 +02:00
Nikita Popov
4e23dffe04 Remove bundled libzip 2018-09-18 12:13:43 +02:00
Remi Collet
c099be4b5a drop support for bundled libzip (linux) 2018-09-18 12:13:43 +02:00
Dmitry Stogov
689c6fb188 Replace ZEND_ACC_ANON_BOUND, ZEND_ACC_UNRESOLVED_PARENT and ZEND_ACC_UNRESOLVED_INTERFACES with single ZEND_ACC_LINKED. 2018-09-18 11:41:40 +03:00
Peter Kokot
b189c2432a Remove HAVE_STDARG_H
The C89 standard and later defines the `<stdarg.h>` header as part of
the standard headers [1]. On current systems it is always present and
can be included unconditionally.

Checking for presence and functionality of the `<stdarg.h>` header and
variadic function is not relevant anymore on current systems since this
is always available.

Also Autoconf suggests relying on at least C89 or above [2] and [3].

The following files were regenerated with re2c 1.0.3:
- Zend/zend_language_scanner.c
- Zend/zend_language_scanner_defs.h

Refs:
[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
[2] http://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
[3] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
2018-09-18 05:44:56 +02:00
Peter Kokot
d3ca28f569 Remove HAVE_STRING_H
The C89 standard and later defines the `<string.h>` header as part of
the standard headers [1] and on current systems it is always present.

Code included also `<strings.h>` header as an alterinative in some
files. This kind of check was relevant on some older systems where the
`<strings.h>` file included definitions for the C89 compliant
`<string.h>`. Today such alternative check is not required anymore. The
`<strings.h>` file is part of the POSIX definition these days.

Also Autoconf suggests doing this and relying on C89 or above [2] and [3].

This patch also cleans few unused `<strings.h>` inclusions in the libmbfl.

[1]: https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
[2]: http://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
[3]: https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
2018-09-18 05:32:08 +02:00
Pierrick Charron
8ea6ee7fb2 Merge branch 'PHP-7.3' 2018-09-17 20:31:36 -04:00
Pierrick Charron
aec2d63124 Merge branch 'PHP-7.2' into PHP-7.3 2018-09-17 20:31:07 -04:00
Pierrick Charron
bc1ecd5d7f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-17 20:30:18 -04:00
Pierrick Charron
3bb218a0a7 Fix 76480: Use curl_multi_wait() so that timeouts are respected 2018-09-17 20:28:44 -04:00
Nikita Popov
37dc710ae6 Remove my_estrdup() and my_efree() macros
Replace the single use of my_efree().
2018-09-17 20:59:16 +02:00
Nikita Popov
ac03b15e3c Remove __USE_GNU defines
This is an internal glibc macro, it should not be necessary to use
it if we already define _GNU_SOURCE (we do through
AC_USE_SYSTEM_EXTENSIONS). Needing to use __USE_GNU generally
indicates an inclusion order problem (libc header included before
config.h).
2018-09-17 17:51:00 +02:00