Skip to content
forked from php/php-src

sync #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 116 commits into from
Apr 10, 2022
Merged

sync #16

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
04a4864
ext/opcache: merge redundant code and "bool" refactoring (#8237)
MaxKellermann Mar 24, 2022
e706d02
Fix IntlPartsIterator key off-by-one error
iluuu1994 Mar 4, 2022
20fe5e4
Merge branch 'PHP-8.1'
iluuu1994 Mar 25, 2022
aa352c2
JIT: Fixed memory leak
dstogov Mar 25, 2022
7aac1c1
Merge branch 'PHP-8.0' into PHP-8.1
dstogov Mar 25, 2022
2d3415a
Merge branch 'PHP-8.1'
dstogov Mar 25, 2022
2fc1ddc
line break before --prefix in php-fpm man page
kurahaupo Mar 24, 2022
771dbdb
Fix signedness confusion in php_filter_validate_domain()
cmb69 Mar 28, 2022
1c3374c
Merge branch 'PHP-8.0' into PHP-8.1
cmb69 Mar 28, 2022
064dd48
Merge branch 'PHP-8.1'
cmb69 Mar 28, 2022
5a8622f
Fix result_type related stack corruption on LLP64 architectures
cmb69 Mar 28, 2022
5f20f9f
Merge branch 'PHP-8.0' into PHP-8.1
cmb69 Mar 28, 2022
072b09f
Merge branch 'PHP-8.1'
cmb69 Mar 28, 2022
2119ba2
Don't try to access memory outside string
smalyshev Mar 28, 2022
187a0e4
Merge branch 'PHP-8.0' into PHP-8.1
smalyshev Mar 28, 2022
8200d66
Merge branch 'PHP-8.1'
smalyshev Mar 28, 2022
23cce68
run-tests.php: fix TypeError: Unsupported operand types: string * int…
remicollet Mar 24, 2022
85533e7
Merge branch 'PHP-8.0' into PHP-8.1
remicollet Mar 29, 2022
d376630
Merge branch 'PHP-8.1'
remicollet Mar 29, 2022
fe4aba6
typo
remicollet Mar 29, 2022
43dd512
Merge branch 'PHP-8.0' into PHP-8.1
remicollet Mar 29, 2022
a6d88d3
Merge branch 'PHP-8.1'
remicollet Mar 29, 2022
0e6d6f8
Fix GH-8253: pg_insert() fails for references
cmb69 Mar 28, 2022
7e8dcda
Merge branch 'PHP-8.0' into PHP-8.1
cmb69 Mar 29, 2022
c9c5ee3
Merge branch 'PHP-8.1'
cmb69 Mar 29, 2022
48e0707
spl_ptr_llist_offset() is not supposed to return NULL here
zhou1615 Mar 29, 2022
06e383b
Fix regression from #8058
kamil-tekiela Mar 7, 2022
40b20d8
Merge branch 'PHP-8.0' into PHP-8.1
kamil-tekiela Mar 31, 2022
6a4618f
Merge branch 'PHP-8.1'
kamil-tekiela Mar 31, 2022
ced5581
Fix mnd_malloc -> mnd_emalloc from previous merge
kamil-tekiela Mar 31, 2022
15129ab
Merge branch 'PHP-8.1'
kamil-tekiela Mar 31, 2022
2145f80
Register JSON_ERROR_NON_BACKED_ENUM constant (#8285)
iluuu1994 Mar 31, 2022
54440fa
Merge branch 'PHP-8.1'
iluuu1994 Mar 31, 2022
b9e895b
Replace memcmp() with zend_string functions (#8216)
MaxKellermann Mar 31, 2022
5a89956
Bump for 8.1.6-dev
patrickallaert Mar 31, 2022
2aceb0b
Merge branch 'PHP-8.1'
patrickallaert Mar 31, 2022
d82d62c
Re-enable i386 tests on Azure Pipelines
iluuu1994 Apr 1, 2022
7d6a3af
Merge branch 'PHP-8.0' into PHP-8.1
iluuu1994 Apr 1, 2022
c7875a6
Merge branch 'PHP-8.1'
iluuu1994 Apr 1, 2022
e6c4988
Fixed #7752, #8101, #81660: DateTimeZone::getTransitions() returns in…
derickr Apr 1, 2022
cd6c338
Merge branch 'PHP-8.1'
derickr Apr 1, 2022
738adce
Fix [-Wundef] warnings in DBA extension
Girgias Aug 7, 2020
2c2ecba
Determine value of ZEND_MM_* during config and fix sign conversion (#…
Girgias Apr 1, 2022
62ab929
Fix [-Wundef] warnings in SNMP extension
Girgias May 20, 2020
5171cb4
Fix [-Wundef] warnings in standard extension
Girgias May 20, 2020
083b64e
Add missing #endif in stubs
Girgias Apr 1, 2022
1364945
Fix GH-8289: Exceptions thrown within a yielded from iterator are not…
bwoebi Apr 1, 2022
16dcede
Merge branch 'PHP-8.0' into PHP-8.1
bwoebi Apr 1, 2022
914c1ba
Merge branch 'PHP-8.1'
bwoebi Apr 1, 2022
e4c7ffc
Fix deprecated warning in new gh8289.phpt test
bwoebi Apr 1, 2022
703763f
Merge branch 'PHP-8.1'
bwoebi Apr 1, 2022
53c6619
Restore memory_reset_peak_usage() declaration
cmb69 Apr 1, 2022
8620788
Zend/zend_execute: remove duplicate deinitialization code
MaxKellermann Mar 30, 2022
2874e5f
FPM: Emit error for invalid port setting
devnexen Mar 19, 2022
14fddd1
Fix arsort() crash on recursion
dstogov Apr 4, 2022
2ab05da
Merge branch 'PHP-8.1'
dstogov Apr 4, 2022
0d44bbd
JIT: Fixed incorrect code generation
dstogov Apr 4, 2022
24bb178
Merge branch 'PHP-8.0' into PHP-8.1
dstogov Apr 4, 2022
6156505
Merge branch 'PHP-8.1'
dstogov Apr 4, 2022
33704be
Trcing JIT: remove unchecked type guards om ROPE_* instructions
dstogov Apr 4, 2022
db34e2a
Merge branch 'PHP-8.1'
dstogov Apr 4, 2022
9cb512e
Ensure correct target opline for exceptions thrown during yield from
bwoebi Apr 4, 2022
e002556
Merge branch 'PHP-8.0' into PHP-8.1
bwoebi Apr 4, 2022
ceda8a8
Merge branch 'PHP-8.1'
bwoebi Apr 4, 2022
c0bb238
Fixed reference counting inference
dstogov Apr 4, 2022
e721a42
Merge branch 'PHP-8.0' into PHP-8.1
dstogov Apr 4, 2022
d260e06
Merge branch 'PHP-8.1'
dstogov Apr 4, 2022
c489e36
JIT: Fix array clobbering by user error handler
dstogov Apr 4, 2022
4f18dbe
Merge branch 'PHP-8.0' into PHP-8.1
dstogov Apr 4, 2022
afd8f84
Add sodium_crypto_stream_xchacha20_xor_ic()
paragonie-security Mar 30, 2022
df0c8aa
JIT: Fix array clobbering by user error handler
dstogov Apr 4, 2022
43f3745
Bump version
cmb69 Apr 5, 2022
60fdca5
Merge branch 'PHP-8.0' into PHP-8.1
cmb69 Apr 5, 2022
22c80e4
Merge branch 'PHP-8.1'
cmb69 Apr 5, 2022
2b4fee0
Mark ext/mysqli properties as readonly for documentation purposes
kocsismate Apr 1, 2022
ee34c29
Merge branch 'PHP-8.1'
kocsismate Apr 5, 2022
c2eafc2
Fix #81714: segfault when serializing finalized HashContext
cmb69 Mar 29, 2022
187f5a3
Merge branch 'PHP-8.0' into PHP-8.1
cmb69 Apr 5, 2022
012ef79
Merge branch 'PHP-8.1'
cmb69 Apr 5, 2022
2fe35cf
Regenerate optimized func infos
Girgias Apr 5, 2022
d03a94a
Use proper types in sodium_crypto_stream_xchacha20_xor_ic()
cmb69 Apr 5, 2022
1bd9890
Fix GH-8310: Registry settings are no longer recognized
cmb69 Apr 6, 2022
4117063
Merge branch 'PHP-8.1'
cmb69 Apr 6, 2022
8093ed6
Implemented FR #51634: Can't post multiple fields with the same name
derickr Apr 1, 2022
553dd5d
Merge branch 'bug51634-curl-postfields-multi-value'
derickr Apr 7, 2022
341bea3
Updated to version 2022.1 (2022a)
derickr Apr 7, 2022
9efaf3c
Empty merge
derickr Apr 7, 2022
7aefee1
Updated to version 2022.1 (2022a)
derickr Apr 7, 2022
5e57cf9
Empty merge
derickr Apr 7, 2022
7e829d1
Updated to version 2022.1 (2022a)
derickr Apr 7, 2022
d73b7b8
Empty merge
derickr Apr 7, 2022
a4f4b96
Updated to version 2022.1 (2022a)
derickr Apr 7, 2022
6828f9d
Fix newly introduced test
cmb69 Apr 7, 2022
8922706
Minor refactoring of spl_directory.c
Girgias Apr 7, 2022
7c702b7
Fix GH-8267: MySQLi uses unsupported format specifier on Windows
cmb69 Mar 29, 2022
22f8886
Merge branch 'PHP-8.0' into PHP-8.1
cmb69 Apr 7, 2022
1a3b85c
Merge branch 'PHP-8.1'
cmb69 Apr 7, 2022
c68591f
Use AS_ECHO([]) instead of obsolete $as_echo (#8321)
morrisonlevi Apr 7, 2022
9085197
Implement the "Redacting parameters in back traces" RFC
TimWolla Dec 21, 2021
72fb511
Stop including php_pcre.h from spl_iterators.h
arnaud-lb Apr 1, 2022
cdf7240
[skip ci] Remove superfluous backslash in UPGRADING
iluuu1994 Apr 8, 2022
7bb2a9f
Add extra check for FPM proc dumpable on SELinux based systems
devnexen Nov 12, 2021
6039c07
Allow ``null`` and ``false`` as standalone types (#7546)
Girgias Apr 8, 2022
3931d72
Add missing ZPP checks in SPL Directory (#8325)
Girgias Apr 8, 2022
2ac5948
Refactor SplFileObject CSV methods (#8317)
Girgias Apr 8, 2022
5de1cd9
Add nightly for GitHub actions
iluuu1994 Apr 1, 2022
490c423
Merge branch 'PHP-8.0' into PHP-8.1
iluuu1994 Apr 9, 2022
0d017f7
Merge branch 'PHP-8.1'
iluuu1994 Apr 9, 2022
9af3759
Remove issue_comment trigger on nightly
iluuu1994 Apr 9, 2022
3b4d33a
Merge branch 'PHP-8.0' into PHP-8.1
iluuu1994 Apr 9, 2022
eb97b09
Merge branch 'PHP-8.1'
iluuu1994 Apr 9, 2022
323f3c6
Improve file/line information for narrowing warning
nikic Apr 10, 2022
d5c854d
Merge branch 'PHP-8.1'
nikic Apr 10, 2022
8e58828
Add debug assertion on type narrowing
nikic Apr 10, 2022
c72e962
Improve type narrowing fix
nikic Apr 10, 2022
414f7fc
Merge branch 'PHP-8.1'
nikic Apr 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .github/nightly_matrix.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?php

const BRANCHES = ['master', 'PHP-8.1', 'PHP-8.0'];

function get_branch_commit_cache_file_path(): string {
return dirname(__DIR__) . '/branch-commit-cache.json';
}

function get_branch_matrix(array $branches) {
$result = array_map(function ($branch) {
$branch_key = strtoupper(str_replace('.', '', $branch));
return [
'name' => $branch_key,
'ref' => $branch,
];
}, $branches);

return $result;
}

function get_branches() {
$branch_commit_cache_file = get_branch_commit_cache_file_path();
$branch_commit_map = [];
if (file_exists($branch_commit_cache_file)) {
$branch_commit_map = json_decode(file_get_contents($branch_commit_cache_file), JSON_THROW_ON_ERROR);
}

$changed_branches = [];
foreach (BRANCHES as $branch) {
$previous_commit_hash = $branch_commit_map[$branch] ?? null;
$current_commit_hash = trim(shell_exec('git rev-parse origin/' . $branch));

if ($previous_commit_hash !== $current_commit_hash) {
$changed_branches[] = $branch;
}

$branch_commit_map[$branch] = $current_commit_hash;
}

file_put_contents($branch_commit_cache_file, json_encode($branch_commit_map));

return get_branch_matrix($changed_branches);
}

function get_asan_matrix(array $branches) {
$jobs = [];
foreach ($branches as $branch) {
$jobs[] = [
'name' => '_ASAN_UBSAN',
'branch' => $branch,
'debug' => true,
'zts' => true,
'configuration_parameters' => "CFLAGS='-fsanitize=undefined,address -DZEND_TRACK_ARENA_ALLOC' LDFLAGS='-fsanitize=undefined,address'",
'run_tests_parameters' => '--asan',
];
}
return $jobs;
}

$trigger = $argv[1] ?? 'schedule';
$attempt = (int) ($argv[2] ?? 1);
$discard_cache = ($trigger === 'schedule' && $attempt !== 1) || $trigger === 'workflow_dispatch';
if ($discard_cache) {
@unlink(get_branch_commit_cache_file_path());
}

$branches = get_branches();
$asan_matrix = get_asan_matrix($branches);

echo '::set-output name=branches::' . json_encode($branches, JSON_UNESCAPED_SLASHES) . "\n";
echo '::set-output name=asan-matrix::' . json_encode($asan_matrix, JSON_UNESCAPED_SLASHES) . "\n";
144 changes: 144 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
name: Nightly
on:
schedule:
- cron: "0 1 * * *"
workflow_dispatch: ~
jobs:
GENERATE_MATRIX:
name: Generate Matrix
runs-on: ubuntu-latest
outputs:
branches: ${{ steps.set-matrix.outputs.branches }}
asan-matrix: ${{ steps.set-matrix.outputs.asan-matrix }}
steps:
- uses: actions/checkout@v2
with:
# Set fetch-depth to 0 to clone the full repository
# including all branches. This is required to find
# the correct commit hashes.
fetch-depth: 0
- name: Grab the commit mapping
uses: actions/cache@v3
with:
path: branch-commit-cache.json
# The cache key needs to change every time for the
# cache to be updated after this job finishes.
key: nightly-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
nightly-
- name: Generate Matrix
id: set-matrix
run: php .github/nightly_matrix.php "${{ github.event_name }}" "${{ github.run_attempt }}"
LINUX_X64:
needs: GENERATE_MATRIX
if: ${{ needs.GENERATE_MATRIX.outputs.branches != '[]' }}
strategy:
fail-fast: false
matrix:
branch: ${{ fromJson(needs.GENERATE_MATRIX.outputs.branches) }}
debug: [true, false]
zts: [true, false]
include: ${{ fromJson(needs.GENERATE_MATRIX.outputs.asan-matrix) }}
name: "${{ matrix.branch.name }}_LINUX_X64${{ matrix.name }}_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}"
runs-on: ubuntu-20.04
steps:
- name: git checkout
uses: actions/checkout@v2
with:
ref: ${{ matrix.branch.ref }}
- name: Create mssql container
uses: ./.github/actions/mssql
- name: apt
uses: ./.github/actions/apt-x64
- name: ./configure
uses: ./.github/actions/configure-x64
with:
configurationParameters: >-
${{ matrix.configuration_parameters }}
--${{ matrix.debug && 'enable' || 'disable' }}-debug
--${{ matrix.zts && 'enable' || 'disable' }}-zts
- name: make
run: make -j$(/usr/bin/nproc) >/dev/null
- name: make install
uses: ./.github/actions/install-linux
- name: Setup
uses: ./.github/actions/setup-x64
- name: Test
uses: ./.github/actions/test-linux
with:
runTestsParameters: >-
${{ matrix.run_tests_parameters }}
- name: Test Tracing JIT
uses: ./.github/actions/test-linux
with:
runTestsParameters: >-
${{ matrix.run_tests_parameters }}
-d zend_extension=opcache.so
-d opcache.jit_buffer_size=16M
- name: Test OpCache
uses: ./.github/actions/test-linux
with:
runTestsParameters: >-
${{ matrix.run_tests_parameters }}
-d zend_extension=opcache.so
- name: Test Function JIT
uses: ./.github/actions/test-linux
with:
runTestsParameters: >-
${{ matrix.run_tests_parameters }}
-d zend_extension=opcache.so
-d opcache.jit_buffer_size=16M
-d opcache.jit=1205
MACOS:
needs: GENERATE_MATRIX
if: ${{ needs.GENERATE_MATRIX.outputs.branches != '[]' }}
strategy:
fail-fast: false
matrix:
branch: ${{ fromJson(needs.GENERATE_MATRIX.outputs.branches) }}
debug: [true, false]
zts: [true, false]
name: "${{ matrix.branch.name }}_MACOS_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}"
runs-on: macos-10.15
steps:
- name: git checkout
uses: actions/checkout@v2
with:
ref: ${{ matrix.branch.ref }}
- name: brew
uses: ./.github/actions/brew
- name: ./configure
uses: ./.github/actions/configure-macos
with:
configurationParameters: >-
--${{ matrix.debug && 'enable' || 'disable' }}-debug
--${{ matrix.zts && 'enable' || 'disable' }}-zts
- name: make
run: |-
export PATH="/usr/local/opt/bison/bin:$PATH"
make -j$(sysctl -n hw.logicalcpu) >/dev/null
- name: make install
run: sudo make install
- name: Test
uses: ./.github/actions/test-macos
- name: Test Tracing JIT
uses: ./.github/actions/test-macos
with:
runTestsParameters: >-
-d zend_extension=opcache.so
-d opcache.protect_memory=1
-d opcache.jit_buffer_size=16M
- name: Test OpCache
uses: ./.github/actions/test-macos
with:
runTestsParameters: >-
-d zend_extension=opcache.so
-d opcache.protect_memory=1
- name: Test Function JIT
uses: ./.github/actions/test-macos
with:
runTestsParameters: >-
-d zend_extension=opcache.so
-d opcache.protect_memory=1
-d opcache.jit_buffer_size=16M
-d opcache.jit=1205
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,11 @@ tmp-php.ini
/Zend/zend_dtrace_gen.h
/Zend/zend_dtrace_gen.h.bak

# ------------------------------------------------------------------------------
# GitHub actions cache
# ------------------------------------------------------------------------------
/branch-commit-cache.json

# ------------------------------------------------------------------------------
# Special cases to invert previous ignore patterns
# ------------------------------------------------------------------------------
Expand Down
8 changes: 8 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ PHP NEWS
. Fixed bug GH-7771 (Fix filename/lineno of constant expressions). (ilutov)
. Fixed bug GH-7792 (Improve class type in error messages). (ilutov)

- FPM:
. Emit error for invalid port setting. (David Carlier)
. Added extra check for FPM proc dumpable on SELinux based systems.
(David Carlier)

- Intl:
. Update all grandfathered language tags with preferred values
. Fixed GH-7939 (Cannot unserialize IntlTimeZone objects). (cmb)
Expand All @@ -23,6 +28,9 @@ PHP NEWS
. Fixed bug #80909 (crash with persistent connections in PDO_ODBC). (Calvin
Buckley)

- Sodium:
. Added sodium_crypto_stream_xchacha20_xor_ic(). (Scott)

- Standard:
. net_get_interfaces() also reports wireless network interfaces on Windows.
(Yurun)
Expand Down
17 changes: 17 additions & 0 deletions UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,24 @@ PHP 8.2 UPGRADE NOTES
array_change_key_case and sorting with SORT_FLAG_CASE use ASCII case
conversion.

- SPL:
. The following methods now enforce their signature:
* SplFileInfo::_bad_state_ex()
* SplFileObject::getCsvControl()
* SplFileObject::fflush()
* SplFileObject::ftell()
* SplFileObject::fgetc()
* SplFileObject::fpassthru()

========================================
2. New Features
========================================

- Core:
. Added the #[\SensitiveParameter] attribute to redact sensitive data in
backtraces.
RFC: https://wiki.php.net/rfc/redact_parameters_in_back_traces

- Curl:
. Added CURLINFO_EFFECTIVE_METHOD option and returning the effective
HTTP method in curl_getinfo() return value.
Expand Down Expand Up @@ -114,6 +128,9 @@ PHP 8.2 UPGRADE NOTES
6. New Functions
========================================

- Sodium:
. sodium_crypto_stream_xchacha20_xor_ic()

- Standard:
. The peak memory usage can now be reset to the current usage thanks to
memory_reset_peak_usage().
Expand Down
14 changes: 7 additions & 7 deletions Zend/Optimizer/zend_func_infos.h
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ static const func_info_t func_infos[] = {
F1("long2ip", MAY_BE_STRING|MAY_BE_FALSE),
F1("getenv", MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_STRING|MAY_BE_FALSE),
F1("getopt", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_STRING|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_ARRAY_OF_FALSE|MAY_BE_FALSE),
#if HAVE_NANOSLEEP
#if defined(HAVE_NANOSLEEP)
F1("time_nanosleep", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_LONG|MAY_BE_BOOL),
#endif
F1("get_current_user", MAY_BE_STRING),
Expand All @@ -522,10 +522,10 @@ static const func_info_t func_infos[] = {
F1("set_include_path", MAY_BE_STRING|MAY_BE_FALSE),
F1("get_include_path", MAY_BE_STRING|MAY_BE_FALSE),
F1("print_r", MAY_BE_STRING|MAY_BE_BOOL),
#if HAVE_GETSERVBYPORT
#if defined(HAVE_GETSERVBYPORT)
F1("getservbyport", MAY_BE_STRING|MAY_BE_FALSE),
#endif
#if HAVE_GETPROTOBYNUMBER
#if defined(HAVE_GETPROTOBYNUMBER)
F1("getprotobynumber", MAY_BE_STRING|MAY_BE_FALSE),
#endif
F1("parse_ini_file", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_FALSE|MAY_BE_ARRAY_OF_TRUE|MAY_BE_ARRAY_OF_LONG|MAY_BE_ARRAY_OF_DOUBLE|MAY_BE_ARRAY_OF_STRING|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_ARRAY_OF_NULL|MAY_BE_FALSE),
Expand All @@ -538,7 +538,7 @@ static const func_info_t func_infos[] = {
#endif
F1("get_browser", MAY_BE_OBJECT|MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_ANY|MAY_BE_FALSE),
F1("crypt", MAY_BE_STRING),
#if HAVE_STRPTIME
#if defined(HAVE_STRPTIME)
F1("strptime", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_LONG|MAY_BE_ARRAY_OF_STRING|MAY_BE_FALSE),
#endif
#if defined(HAVE_GETHOSTNAME)
Expand All @@ -547,7 +547,7 @@ static const func_info_t func_infos[] = {
F1("gethostbyaddr", MAY_BE_STRING|MAY_BE_FALSE),
F1("gethostbyname", MAY_BE_STRING),
F1("gethostbynamel", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_OF_STRING|MAY_BE_FALSE),
#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)
F1("dns_get_record", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_FALSE),
#endif
F1("md5", MAY_BE_STRING),
Expand All @@ -573,7 +573,7 @@ static const func_info_t func_infos[] = {
F1("get_html_translation_table", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_STRING),
F1("bin2hex", MAY_BE_STRING),
F1("hex2bin", MAY_BE_STRING|MAY_BE_FALSE),
#if HAVE_NL_LANGINFO
#if defined(HAVE_NL_LANGINFO)
F1("nl_langinfo", MAY_BE_STRING|MAY_BE_FALSE),
#endif
F1("wordwrap", MAY_BE_STRING),
Expand Down Expand Up @@ -701,7 +701,7 @@ static const func_info_t func_infos[] = {
F1("stream_socket_server", MAY_BE_RESOURCE|MAY_BE_FALSE),
F1("stream_socket_accept", MAY_BE_RESOURCE|MAY_BE_FALSE),
F1("stream_socket_recvfrom", MAY_BE_STRING|MAY_BE_FALSE),
#if HAVE_SOCKETPAIR
#if defined(HAVE_SOCKETPAIR)
F1("stream_socket_pair", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_OF_RESOURCE|MAY_BE_FALSE),
#endif
F1("stream_get_contents", MAY_BE_STRING|MAY_BE_FALSE),
Expand Down
Loading