Browse Source

Trim trailing whitespace in source code files

pull/3603/head
Peter Kokot 7 years ago
parent
commit
3362620b5f
  1. 2
      .appveyor.yml
  2. 20
      .gdbinit
  3. 4
      .travis.yml
  4. 2
      CODING_STANDARDS
  5. 26
      LICENSE
  6. 2
      Makefile.gcov
  7. 28
      NEWS
  8. 6
      README.EXT_SKEL
  9. 4
      README.NEW-OUTPUT-API
  10. 18
      README.PARAMETER_PARSING_API
  11. 12
      README.RELEASE_PROCESS
  12. 16
      README.SELF-CONTAINED-EXTENSIONS
  13. 10
      README.STREAMS
  14. 2
      README.SUBMITTING_PATCH
  15. 2
      README.input_filter
  16. 2
      TSRM/build.mk
  17. 12
      TSRM/threads.m4
  18. 10
      UPGRADING
  19. 2
      UPGRADING.INTERNALS
  20. 24
      Zend/LICENSE
  21. 16
      Zend/README.ZEND_VM
  22. 10
      Zend/bench.php
  23. 2
      Zend/build.mk
  24. 6
      Zend/micro_bench.php
  25. 2
      Zend/zend_ini_parser.y
  26. 1
      Zend/zend_vm_trace_map.h
  27. 4
      appveyor/build.bat
  28. 14
      build/mkdep.awk
  29. 2
      build/order_by_dep.awk
  30. 2
      build/scan_makefile_in.awk
  31. 2
      ext/bcmath/libbcmath/FAQ
  32. 4
      ext/ctype/ctype.xml
  33. 2
      ext/curl/config.w32
  34. 2
      ext/curl/tests/responder/get.php
  35. 84
      ext/dba/README
  36. 4
      ext/dba/install_cdb.sh
  37. 4
      ext/dom/tests/domdocumentload_utilities.php
  38. 2
      ext/dom/tests/domdocumentloadxml_test_method.php
  39. 2
      ext/dom/tests/domdocumentloadxml_test_method_savexml.php
  40. 2
      ext/dom/tests/note.xml
  41. 6
      ext/gd/config.w32
  42. 2
      ext/hash/README
  43. 2
      ext/hash/bench.php
  44. 4
      ext/hash/config.w32
  45. 2
      ext/iconv/CREDITS
  46. 2
      ext/iconv/config.w32
  47. 2
      ext/imap/tests/README
  48. 2
      ext/interbase/config.w32
  49. 2
      ext/intl/ERROR.CONVENTIONS
  50. 8
      ext/intl/config.w32
  51. 2
      ext/intl/normalizer/normalizer_normalize.c
  52. 2
      ext/json/json_scanner.re
  53. 2
      ext/ldap/tests/README
  54. 2
      ext/mbstring/libmbfl/LICENSE
  55. 6
      ext/mbstring/libmbfl/NEWS
  56. 68
      ext/mbstring/libmbfl/filters/mk_emoji_tbl.pl
  57. 2
      ext/mbstring/libmbfl/filters/mk_sb_tbl.awk
  58. 2
      ext/mbstring/libmbfl/mbfl/mk_eaw_tbl.awk
  59. 2
      ext/mbstring/libmbfl/tests/conv_kana.tests/conv_kana.exp
  60. 2
      ext/mbstring/ucgendat/ucgendat.php
  61. 2
      ext/mysqli/config.w32
  62. 2
      ext/mysqlnd/config.w32
  63. 2
      ext/opcache/config.w32
  64. 2
      ext/openssl/README
  65. 4
      ext/pcntl/README
  66. 2
      ext/pdo_firebird/config.w32
  67. 4
      ext/pdo_mysql/get_error_codes.php
  68. 2
      ext/pdo_oci/config.w32
  69. 2
      ext/pdo_oci/package2.xml
  70. 2
      ext/pdo_sqlite/config.w32
  71. 68
      ext/pgsql/README
  72. 14
      ext/pgsql/mysql_users.php
  73. 12
      ext/pgsql/tests/README
  74. 4
      ext/phar/gdbhelp
  75. 14
      ext/phar/phar.1.in
  76. 2
      ext/phar/shortarc.php
  77. 6
      ext/pspell/README
  78. 2
      ext/session/mod_files.bat
  79. 34
      ext/shmop/README
  80. 6
      ext/simplexml/README
  81. 2
      ext/simplexml/tests/sxe.xml
  82. 2
      ext/simplexml/tests/sxe私はガラスを食べられます.xml
  83. 2
      ext/skeleton/config.m4.in
  84. 2
      ext/snmp/tests/README
  85. 8
      ext/soap/interop/client_round2_interop.php
  86. 2
      ext/soap/interop/client_round2_params.php
  87. 4
      ext/spl/README
  88. 2
      ext/spl/examples/dba_array.php
  89. 2
      ext/spl/examples/dba_dump.php
  90. 4
      ext/spl/examples/findregex.php
  91. 2
      ext/spl/examples/ini_groups.php
  92. 2
      ext/spl/examples/phar_from_dir.php
  93. 4064
      ext/standard/html_tables/ents_html5.txt
  94. 30
      ext/standard/html_tables/html_table_gen.php
  95. 2
      ext/standard/strnatcmp.c
  96. 2
      ext/standard/tests/ini_info/scandir/0.ini
  97. 4
      ext/xmlreader/README
  98. 6
      ext/xmlrpc/EXPERIMENTAL
  99. 2
      ext/xmlrpc/libxmlrpc/xmlrpc.m4
  100. 2
      ext/xsl/config.w32

2
.appveyor.yml

@ -14,7 +14,7 @@ cache:
- c:\build-cache - c:\build-cache
environment: environment:
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
PHP_BUILD_OBJ_DIR: c:\obj PHP_BUILD_OBJ_DIR: c:\obj
PHP_BUILD_CACHE_SDK_DIR: c:\build-cache\sdk PHP_BUILD_CACHE_SDK_DIR: c:\build-cache\sdk
PHP_BUILD_SDK_BRANCH: php-sdk-2.1.9beta1 PHP_BUILD_SDK_BRANCH: php-sdk-2.1.9beta1

20
.gdbinit

@ -5,7 +5,7 @@ end
document set_ts document set_ts
set the ts resource, it is impossible for gdb to set the ts resource, it is impossible for gdb to
call ts_resource_ex while no process is running, call ts_resource_ex while no process is running,
but we could get the resource from the argument
but we could get the resource from the argument
of frame info. of frame info.
end end
@ -153,7 +153,7 @@ end
define printzv define printzv
set $ind = 1 set $ind = 1
____printzv $arg0 0
____printzv $arg0 0
end end
document printzv document printzv
@ -190,7 +190,7 @@ define ____printzv_contents
if $type == 6 if $type == 6
printf "string: %s", $zvalue->value.str->val printf "string: %s", $zvalue->value.str->val
end end
if $type == 7
if $type == 7
printf "array: " printf "array: "
if ! $arg1 if ! $arg1
set $ind = $ind + 1 set $ind = $ind + 1
@ -287,7 +287,7 @@ define ____printzv
if $arg1 if $arg1
____printzv_contents $zcontents $arg1 ____printzv_contents $zcontents $arg1
else else
____printzv_contents $zcontents 0
____printzv_contents $zcontents 0
end end
end end
@ -340,7 +340,7 @@ define ____print_ht
set $n = $n - 1 set $n = $n - 1
end end
printf "[%d] ", $i printf "[%d] ", $i
if $p->key
if $p->key
printf "%s => ", $p->key->val printf "%s => ", $p->key->val
else else
printf "%d => ", $p->h printf "%d => ", $p->h
@ -389,7 +389,7 @@ document print_htptr
end end
define print_htstr define print_htstr
set $ind = 0
set $ind = 0
____print_ht $arg0 2 ____print_ht $arg0 2
end end
@ -543,10 +543,10 @@ define printzn
if $znode->op_type == 1 if $znode->op_type == 1
set $optype = "IS_CONST" set $optype = "IS_CONST"
end end
if $znode->op_type == 2
if $znode->op_type == 2
set $optype = "IS_TMP_VAR" set $optype = "IS_TMP_VAR"
end end
if $znode->op_type == 4
if $znode->op_type == 4
set $optype = "IS_VAR" set $optype = "IS_VAR"
end end
if $znode->op_type == 8 if $znode->op_type == 8
@ -576,11 +576,11 @@ end
document printzn document printzn
print type and content of znode. print type and content of znode.
usage: printzn &opline->op1
usage: printzn &opline->op1
end end
define printzops define printzops
printf "op1 => "
printf "op1 => "
printzn &execute_data->opline.op1 printzn &execute_data->opline.op1
printf "op2 => " printf "op2 => "
printzn &execute_data->opline.op2 printzn &execute_data->opline.op2

4
.travis.yml

@ -20,7 +20,7 @@ addons:
- libzip-dev - libzip-dev
notifications: notifications:
email:
email:
on_failure: change on_failure: change
irc: irc:
template: template:
@ -62,7 +62,7 @@ before_script:
- . ./travis/ext/pgsql/setup.sh - . ./travis/ext/pgsql/setup.sh
- . ./travis/ext/pdo_pgsql/setup.sh - . ./travis/ext/pdo_pgsql/setup.sh
# Run PHPs run-tests.php
# Run PHPs run-tests.php
script: script:
- ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --show-slow 1000 --set-timeout 120 - ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --show-slow 1000 --set-timeout 120

2
CODING_STANDARDS

@ -112,7 +112,7 @@ User Functions/Methods Naming Conventions
of ``parent_*``:: of ``parent_*``::
A family of 'foo' functions, for example: A family of 'foo' functions, for example:
Good: Good:
'foo_select_bar' 'foo_select_bar'
'foo_insert_baz' 'foo_insert_baz'

26
LICENSE

@ -1,7 +1,7 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The PHP License, version 3.01 The PHP License, version 3.01
Copyright (c) 1999 - 2018 The PHP Group. All rights reserved. Copyright (c) 1999 - 2018 The PHP Group. All rights reserved.
--------------------------------------------------------------------
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions modification, is permitted provided that the following conditions
@ -9,22 +9,22 @@ are met:
1. Redistributions of source code must retain the above copyright 1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer. notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright 2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the the documentation and/or other materials provided with the
distribution. distribution.
3. The name "PHP" must not be used to endorse or promote products 3. The name "PHP" must not be used to endorse or promote products
derived from this software without prior written permission. For derived from this software without prior written permission. For
written permission, please contact group@php.net. written permission, please contact group@php.net.
4. Products derived from this software may not be called "PHP", nor 4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission may "PHP" appear in their name, without prior written permission
from group@php.net. You may indicate that your software works in from group@php.net. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo" it "PHP Foo" or "phpfoo"
5. The PHP Group may publish revised and/or new versions of the 5. The PHP Group may publish revised and/or new versions of the
license from time to time. Each version will be given a license from time to time. Each version will be given a
distinguishing version number. distinguishing version number.
@ -41,27 +41,27 @@ are met:
"This product includes PHP software, freely available from "This product includes PHP software, freely available from
<http://www.php.net/software/>". <http://www.php.net/software/>".
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE. OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------
--------------------------------------------------------------------
This software consists of voluntary contributions made by many This software consists of voluntary contributions made by many
individuals on behalf of the PHP Group. individuals on behalf of the PHP Group.
The PHP Group can be contacted via Email at group@php.net. The PHP Group can be contacted via Email at group@php.net.
For more information on the PHP Group and the PHP project,
For more information on the PHP Group and the PHP project,
please see <http://www.php.net>. please see <http://www.php.net>.
PHP includes the Zend Engine, freely available at PHP includes the Zend Engine, freely available at

2
Makefile.gcov

@ -62,7 +62,7 @@ php_lcov.info: lcov-test
rm -rf lcov_data/$$dir ; \ rm -rf lcov_data/$$dir ; \
fi; \ fi; \
done done
@echo
@echo
@echo "Generating $@" @echo "Generating $@"
@$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@ @$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@

28
NEWS

@ -148,7 +148,7 @@ PHP NEWS
(Andrew Nester, Laruence, Anatol) (Andrew Nester, Laruence, Anatol)
- iconv: - iconv:
. Fixed bug #68180 (iconv_mime_decode can return extra characters in a
. Fixed bug #68180 (iconv_mime_decode can return extra characters in a
header). (cmb) header). (cmb)
. Fixed bug #63839 (iconv_mime_decode_headers function is skipping headers). . Fixed bug #63839 (iconv_mime_decode_headers function is skipping headers).
(cmb) (cmb)
@ -267,7 +267,7 @@ PHP NEWS
(cmb) (cmb)
- Filter: - Filter:
. Added the 'add_slashes' sanitization mode (FILTER_SANITIZE_ADD_SLASHES).
. Added the 'add_slashes' sanitization mode (FILTER_SANITIZE_ADD_SLASHES).
(Kalle) (Kalle)
. Fixed bug #76366 (References in sub-array for filtering breaks the filter). . Fixed bug #76366 (References in sub-array for filtering breaks the filter).
(ZiHang Gao) (ZiHang Gao)
@ -277,7 +277,7 @@ PHP NEWS
. Added fpm_get_status function. (Till Backhaus) . Added fpm_get_status function. (Till Backhaus)
. Fixed bug #69031 (Long messages into stdout/stderr are truncated . Fixed bug #69031 (Long messages into stdout/stderr are truncated
incorrectly) - added new log related FPM configuration options: incorrectly) - added new log related FPM configuration options:
log_limit, log_buffering and decorate_workers_output. (Jakub Zelenka)
log_limit, log_buffering and decorate_workers_output. (Jakub Zelenka)
- mbstring: - mbstring:
. Fixed bug #76574 (use of undeclared identifiers INT_MAX and LONG_MAX). (cmb) . Fixed bug #76574 (use of undeclared identifiers INT_MAX and LONG_MAX). (cmb)
@ -411,7 +411,7 @@ PHP NEWS
- Core: - Core:
. Improved PHP GC. (Dmitry, Nikita) . Improved PHP GC. (Dmitry, Nikita)
. Redesigned the old ext_skel program written in PHP, run:
. Redesigned the old ext_skel program written in PHP, run:
'php ext_skel.php' for all options. This means there are no dependencies, 'php ext_skel.php' for all options. This means there are no dependencies,
thus making it work on Windows out of the box. (Kalle) thus making it work on Windows out of the box. (Kalle)
. Removed support for BeOS. (Kalle) . Removed support for BeOS. (Kalle)
@ -428,13 +428,13 @@ PHP NEWS
. Fixed bug #75031 (support append mode in temp/memory streams). (adsr) . Fixed bug #75031 (support append mode in temp/memory streams). (adsr)
. Fixed bug #74860 (Uncaught exceptions not being formatted properly when . Fixed bug #74860 (Uncaught exceptions not being formatted properly when
error_log set to "syslog"). (Philip Prindeville) error_log set to "syslog"). (Philip Prindeville)
. Fixed bug #75220 (Segfault when calling is_callable on parent).
. Fixed bug #75220 (Segfault when calling is_callable on parent).
(andrewnester) (andrewnester)
. Fixed bug #69954 (broken links and unused config items in distributed ini . Fixed bug #69954 (broken links and unused config items in distributed ini
files). (petk) files). (petk)
. Fixed bug #74922 (Composed class has fatal error with duplicate, equal const . Fixed bug #74922 (Composed class has fatal error with duplicate, equal const
properties). (pmmaga) properties). (pmmaga)
. Fixed bug #63911 (identical trait methods raise errors during composition).
. Fixed bug #63911 (identical trait methods raise errors during composition).
(pmmaga) (pmmaga)
. Fixed bug #75677 (Clang ignores fastcall calling convention on variadic . Fixed bug #75677 (Clang ignores fastcall calling convention on variadic
function). (Li-Wen Hsu) function). (Li-Wen Hsu)
@ -487,14 +487,14 @@ PHP NEWS
. Fixed bug #75453 (Incorrect reflection for ibase_[p]connect). (villfa) . Fixed bug #75453 (Incorrect reflection for ibase_[p]connect). (villfa)
- intl: - intl:
. Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead
. Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead
of destination). (andrewnester) of destination). (andrewnester)
- JSON: - JSON:
. Added JSON_THROW_ON_ERROR flag. (Andrea) . Added JSON_THROW_ON_ERROR flag. (Andrea)
- LDAP: - LDAP:
. Added ldap_exop_refresh helper for EXOP REFRESH operation with dds overlay.
. Added ldap_exop_refresh helper for EXOP REFRESH operation with dds overlay.
(Come) (Come)
. Added full support for sending and parsing ldap controls (Come) . Added full support for sending and parsing ldap controls (Come)
. Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros). (dzuelke) . Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros). (dzuelke)
@ -503,7 +503,7 @@ PHP NEWS
. Fixed bug #75871 (use pkg-config where available). (pmmaga) . Fixed bug #75871 (use pkg-config where available). (pmmaga)
- litespeed: - litespeed:
. Fixed bug #75248 (Binary directory doesn't get created when building
. Fixed bug #75248 (Binary directory doesn't get created when building
only litespeed SAPI). (petk) only litespeed SAPI). (petk)
. Fixed bug #75251 (Missing program prefix and suffix). (petk) . Fixed bug #75251 (Missing program prefix and suffix). (petk)
@ -568,7 +568,7 @@ PHP NEWS
to readline_info() if linked against libreadline. (krageon) to readline_info() if linked against libreadline. (krageon)
- Session: - Session:
. Fixed bug #74941 (session fails to start after having headers sent).
. Fixed bug #74941 (session fails to start after having headers sent).
(morozov) (morozov)
- SimpleXML: - SimpleXML:
@ -580,7 +580,7 @@ PHP NEWS
used). (Anton Artamonov) used). (Anton Artamonov)
- SPL: - SPL:
. Fixed bug #74977 (Appending AppendIterator leads to segfault).
. Fixed bug #74977 (Appending AppendIterator leads to segfault).
(Andrew Nester) (Andrew Nester)
. Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach . Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach
loop). (jhdxr) loop). (jhdxr)
@ -589,7 +589,7 @@ PHP NEWS
. Fixed bug #75878 (RecursiveTreeIterator::setPostfix has wrong signature). . Fixed bug #75878 (RecursiveTreeIterator::setPostfix has wrong signature).
(cmb) (cmb)
. Fixed bug #74519 (strange behavior of AppendIterator). (jhdxr) . Fixed bug #74519 (strange behavior of AppendIterator). (jhdxr)
. Fixed bug #76131 (mismatch arginfo for splarray constructor).
. Fixed bug #76131 (mismatch arginfo for splarray constructor).
(carusogabriel) (carusogabriel)
- SQLite3: - SQLite3:
@ -597,11 +597,11 @@ PHP NEWS
- Standard: - Standard:
. Added is_countable() function. (Gabriel Caruso) . Added is_countable() function. (Gabriel Caruso)
. Fixed bug #75916 (DNS_CAA record results contain garbage). (Mike,
. Fixed bug #75916 (DNS_CAA record results contain garbage). (Mike,
Philip Sharp) Philip Sharp)
. Fixed unserialize(), to disable creation of unsupported data structures . Fixed unserialize(), to disable creation of unsupported data structures
through manually crafted strings. (Dmitry) through manually crafted strings. (Dmitry)
. Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator
. Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator
that getrandom() is missing). (sarciszewski) that getrandom() is missing). (sarciszewski)
. Fixed bug #74719 (fopen() should accept NULL as context). (Alexander Holman) . Fixed bug #74719 (fopen() should accept NULL as context). (Alexander Holman)
. Fixed bug #69948 (path/domain are not sanitized in setcookie). (cmb) . Fixed bug #69948 (path/domain are not sanitized in setcookie). (cmb)

6
README.EXT_SKEL

@ -11,8 +11,8 @@ HOW TO USE IT
and everything you need will be placed in directory ext/extension_name. and everything you need will be placed in directory ext/extension_name.
If you don't need to test the existence of any external header files,
libraries or functions in them, the extension is ready to be compiled in
If you don't need to test the existence of any external header files,
libraries or functions in them, the extension is ready to be compiled in
PHP. To compile the extension, run the following: PHP. To compile the extension, run the following:
./buildconf; ./configure --enable-extension_name; make ./buildconf; ./configure --enable-extension_name; make
@ -24,7 +24,7 @@ HOW TO USE IT
SOURCE AND HEADER FILE NAME SOURCE AND HEADER FILE NAME
The ext_skel.php script generates 'extension_name.c' and 'php_extension_name.h'
The ext_skel.php script generates 'extension_name.c' and 'php_extension_name.h'
as the main source and header files. Keep these names. as the main source and header files. Keep these names.
extension functions (User functions) must be named extension functions (User functions) must be named

4
README.NEW-OUTPUT-API

@ -1,6 +1,6 @@
API adjustment to the old output control code: API adjustment to the old output control code:
Everything now resides beneath the php_output namespace,
Everything now resides beneath the php_output namespace,
and there's an API call for every output handler op. and there's an API call for every output handler op.
Checking output control layers status: Checking output control layers status:
@ -131,7 +131,7 @@ Output handler hooks
Open questions Open questions
Should the userland API be adjusted and unified? Should the userland API be adjusted and unified?
Many bits of the manual (and very first implementation) do not comply Many bits of the manual (and very first implementation) do not comply
with the behaviour of the current (to be obsoleted) code, thus should with the behaviour of the current (to be obsoleted) code, thus should
the manual or the behaviour be adjusted? the manual or the behaviour be adjusted?

18
README.PARAMETER_PARSING_API

@ -49,11 +49,11 @@ See also https://wiki.php.net/rfc/zpp_improv#expose_zend_parse_arg_as_zend_parse
Type specifiers Type specifiers
--------------- ---------------
The following list shows the type specifier, its meaning and the parameter
The following list shows the type specifier, its meaning and the parameter
types that need to be passed by address. All passed parameters are set types that need to be passed by address. All passed parameters are set
if the PHP parameter is non optional and untouched if optional and the
if the PHP parameter is non optional and untouched if optional and the
parameter is not present. The only exception is O where the zend_class_entry* parameter is not present. The only exception is O where the zend_class_entry*
has to be provided on input and is used to verify the PHP parameter is an
has to be provided on input and is used to verify the PHP parameter is an
instance of that class. instance of that class.
a - array (zval*) a - array (zval*)
@ -61,7 +61,7 @@ Type specifiers
b - boolean (zend_bool) b - boolean (zend_bool)
C - class (zend_class_entry*) C - class (zend_class_entry*)
d - double (double) d - double (double)
f - function or array containing php method call info (returned as
f - function or array containing php method call info (returned as
zend_fcall_info and zend_fcall_info_cache) zend_fcall_info and zend_fcall_info_cache)
h - array (returned as HashTable*) h - array (returned as HashTable*)
H - array or HASH_OF(object) (returned as HashTable*) H - array or HASH_OF(object) (returned as HashTable*)
@ -95,9 +95,9 @@ Type specifiers
Note on 64bit compatibility Note on 64bit compatibility
--------------------------- ---------------------------
Please note that since version 7 PHP uses zend_long as integer type and
zend_string with size_t as length, so make sure you pass zend_longs to "l"
and size_t to strings length (i.e. for "s" you need to pass char * and size_t),
Please note that since version 7 PHP uses zend_long as integer type and
zend_string with size_t as length, so make sure you pass zend_longs to "l"
and size_t to strings length (i.e. for "s" you need to pass char * and size_t),
not the other way round! not the other way round!
Both mistakes might cause memory corruptions and segfaults: Both mistakes might cause memory corruptions and segfaults:
@ -110,7 +110,7 @@ Both mistakes might cause memory corruptions and segfaults:
int num; /* XXX THIS IS WRONG!! Use zend_long instead. */ int num; /* XXX THIS IS WRONG!! Use zend_long instead. */
zend_parse_parameters(ZEND_NUM_ARGS(), "l", &num) zend_parse_parameters(ZEND_NUM_ARGS(), "l", &num)
If you're in doubt, use check_parameters.php script to the parameters
If you're in doubt, use check_parameters.php script to the parameters
and their types (it can be found in ./scripts/dev/ directory of PHP sources): and their types (it can be found in ./scripts/dev/ directory of PHP sources):
# php ./scripts/dev/check_parameters.php /path/to/your/sources/ # php ./scripts/dev/check_parameters.php /path/to/your/sources/
@ -159,7 +159,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/!",
/* Get either a set of 3 longs or a string. */ /* Get either a set of 3 longs or a string. */
zend_long l1, l2, l3; zend_long l1, l2, l3;
char *s; char *s;
/*
/*
* The function expects a pointer to a size_t in this case, not a long * The function expects a pointer to a size_t in this case, not a long
* or any other type. If you specify a type which is larger * or any other type. If you specify a type which is larger
* than a 'size_t', the upper bits might not be initialized * than a 'size_t', the upper bits might not be initialized

12
README.RELEASE_PROCESS

@ -32,7 +32,7 @@ team (Bjori) on hand.
6. Verify the tags to be extra sure everything was tagged properly. 6. Verify the tags to be extra sure everything was tagged properly.
7. Moving extensions from/to PECL requires write access to the destination. 7. Moving extensions from/to PECL requires write access to the destination.
Most developers should have this.
Most developers should have this.
Moving extensions from php-src to PECL Moving extensions from php-src to PECL
- Checkout the pecl directory, most likely you want a sparse-root checkout - Checkout the pecl directory, most likely you want a sparse-root checkout
@ -125,7 +125,7 @@ Getting the non stable release (alpha/beta/RC) announced
b. ``$PHP_x_RC_DATE`` = "06 September 2007" b. ``$PHP_x_RC_DATE`` = "06 September 2007"
3. Add a short notice to phpweb stating that there is a new release, and
3. Add a short notice to phpweb stating that there is a new release, and
highlight the major important things (security fixes) and when it is important highlight the major important things (security fixes) and when it is important
to upgrade. to upgrade.
@ -140,7 +140,7 @@ to upgrade.
*Wait for web and qa sites to update with new information before sending announce* *Wait for web and qa sites to update with new information before sending announce*
5. Send **separate** emails **To** ``internals@lists.php.net`` and ``php-general@lists.php.net``
5. Send **separate** emails **To** ``internals@lists.php.net`` and ``php-general@lists.php.net``
lists pointing out "the location of the release" and "the possible release date of lists pointing out "the location of the release" and "the possible release date of
either the next RC, or the final release". Include in this information the verification either the next RC, or the final release". Include in this information the verification
information output by ``gen_verify_stub``. information output by ``gen_verify_stub``.
@ -194,7 +194,7 @@ can be influenced by defining the environment variable TAR_OPTIONS='--format=gnu
``gpg -u YOUREMAIL --armor --detach-sign php-X.Y.Z.tar.xxx`` ``gpg -u YOUREMAIL --armor --detach-sign php-X.Y.Z.tar.xxx``
11. Commit and push all the tarballs and signature files to web/php-distributions.git, 11. Commit and push all the tarballs and signature files to web/php-distributions.git,
then update the git submodule reference in web/php.git:
then update the git submodule reference in web/php.git:
``git submodule init; ``git submodule init;
git submodule update; git submodule update;
cd distributions; cd distributions;
@ -265,7 +265,7 @@ f.e. ``ChangeLog-5.php`` from the NEWS file
IV. ``s/Fixed PECL bug #\([0-9]\+\)/<?php peclbugfix(\1); ?>/`` IV. ``s/Fixed PECL bug #\([0-9]\+\)/<?php peclbugfix(\1); ?>/``
V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/`` V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/``
e. You may want to try php-web/bin/news2html to automate this task e. You may want to try php-web/bin/news2html to automate this task
6. Add a short notice to phpweb stating that there is a new release, and 6. Add a short notice to phpweb stating that there is a new release, and
@ -362,7 +362,7 @@ New Release Manager Checklist
one or more of the previous RMs sign your key. Publish your public key to pgp.mit.edu with: one or more of the previous RMs sign your key. Publish your public key to pgp.mit.edu with:
`gpg --keyserver pgp.mit.edu --send-keys $KEYID` `gpg --keyserver pgp.mit.edu --send-keys $KEYID`
3. Request karma to edit main/php_version.h. Possibly karma for other restricted parts of
3. Request karma to edit main/php_version.h. Possibly karma for other restricted parts of
php-src might come in question. php-src might come in question.
4. Request karma for web/qa.git and web/php.git for publishing release announcements. 4. Request karma for web/qa.git and web/php.git for publishing release announcements.

16
README.SELF-CONTAINED-EXTENSIONS

@ -20,7 +20,7 @@ PREPARING YOUR SYSTEM
GNU libtool GNU libtool
GNU m4 GNU m4
All of these are available from
All of these are available from
ftp://ftp.gnu.org/pub/gnu/ ftp://ftp.gnu.org/pub/gnu/
@ -30,7 +30,7 @@ CONVERTING AN EXISTING EXTENSION
extension, we will convert an embedded extension into a extension, we will convert an embedded extension into a
self-contained one. Install PHP and execute the following self-contained one. Install PHP and execute the following
commands. commands.
$ mkdir /tmp/newext $ mkdir /tmp/newext
$ cd /tmp/newext $ cd /tmp/newext
@ -53,7 +53,7 @@ CONVERTING AN EXISTING EXTENSION
[--with-mysql=MYSQL-DIR] [--with-mysql=MYSQL-DIR]
$ make install $ make install
The MySQL module will either use the embedded MySQL client
The MySQL module will either use the embedded MySQL client
library or the MySQL installation in MYSQL-DIR. library or the MySQL installation in MYSQL-DIR.
@ -64,8 +64,8 @@ DEFINING THE NEW EXTENSION
It consists of two source files "foo.c" and "bar.c" It consists of two source files "foo.c" and "bar.c"
(and any arbitrary amount of header files, but that is not (and any arbitrary amount of header files, but that is not
important here). important here).
The demo extension does not reference any external
The demo extension does not reference any external
libraries (that is important, because the user does not libraries (that is important, because the user does not
need to specify anything). need to specify anything).
@ -75,7 +75,7 @@ DEFINING THE NEW EXTENSION
CREATING THE M4 CONFIGURATION FILE CREATING THE M4 CONFIGURATION FILE
The m4 configuration can perform additional checks. For a
The m4 configuration can perform additional checks. For a
self-contained extension, you do not need more than a few self-contained extension, you do not need more than a few
macro calls. macro calls.
@ -94,7 +94,7 @@ fi
The first argument of PHP_NEW_EXTENSION describes the name of the The first argument of PHP_NEW_EXTENSION describes the name of the
extension. The second names the source-code files. The third passes extension. The second names the source-code files. The third passes
$ext_shared which is set by PHP_ARG_ENABLE/WITH to PHP_NEW_EXTENSION. $ext_shared which is set by PHP_ARG_ENABLE/WITH to PHP_NEW_EXTENSION.
Please use always PHP_ARG_ENABLE or PHP_ARG_WITH. Even if you do not Please use always PHP_ARG_ENABLE or PHP_ARG_WITH. Even if you do not
plan to distribute your module with PHP, these facilities allow you plan to distribute your module with PHP, these facilities allow you
to integrate your module easily into the main PHP module framework. to integrate your module easily into the main PHP module framework.
@ -135,7 +135,7 @@ INSTALLING A SELF-CONTAINED EXTENSION
ADDING SHARED MODULE SUPPORT TO A MODULE ADDING SHARED MODULE SUPPORT TO A MODULE
In order to be useful, a self-contained extension must be loadable In order to be useful, a self-contained extension must be loadable
as a shared module. I will explain now how you can add shared module
as a shared module. I will explain now how you can add shared module
support to an existing module called foo. support to an existing module called foo.
1. In config.m4, use PHP_ARG_WITH/PHP_ARG_ENABLE. Then you will 1. In config.m4, use PHP_ARG_WITH/PHP_ARG_ENABLE. Then you will

10
README.STREAMS

@ -27,7 +27,7 @@ The main functions are:
PHPAPI size_t php_stream_read(php_stream * stream, char * buf, size_t count); PHPAPI size_t php_stream_read(php_stream * stream, char * buf, size_t count);
PHPAPI size_t php_stream_write(php_stream * stream, const char * buf, size_t PHPAPI size_t php_stream_write(php_stream * stream, const char * buf, size_t
count); count);
PHPAPI size_t php_stream_printf(php_stream * stream,
PHPAPI size_t php_stream_printf(php_stream * stream,
const char * fmt, ...); const char * fmt, ...);
PHPAPI int php_stream_eof(php_stream * stream); PHPAPI int php_stream_eof(php_stream * stream);
PHPAPI int php_stream_getc(php_stream * stream); PHPAPI int php_stream_getc(php_stream * stream);
@ -62,7 +62,7 @@ Where:
file/URL, use this option to arrange for the stream file/URL, use this option to arrange for the stream
to be copied (if needed) into a stream that can to be copied (if needed) into a stream that can
be seek()ed. be seek()ed.
opened_path is used to return the path of the actual file opened, opened_path is used to return the path of the actual file opened,
but if you used STREAM_MUST_SEEK, may not be valid. You are but if you used STREAM_MUST_SEEK, may not be valid. You are
responsible for efree()ing opened_path. opened_path may be (and usually responsible for efree()ing opened_path. opened_path may be (and usually
@ -94,7 +94,7 @@ PHPAPI php_stream *php_stream_sock_open_host(const char *host, unsigned short po
PHPAPI php_stream *php_stream_sock_open_unix(const char *path, int persistent, PHPAPI php_stream *php_stream_sock_open_unix(const char *path, int persistent,
struct timeval *timeout); struct timeval *timeout);
Open a UNIX domain socket. Open a UNIX domain socket.
Stream Utilities Stream Utilities
================ ================
@ -245,7 +245,7 @@ PHPAPI php_stream * php_stream_fopen(const char * filename, const char * mode)
{ {
FILE * fp = fopen(filename, mode); FILE * fp = fopen(filename, mode);
php_stream * ret; php_stream * ret;
if (fp) { if (fp) {
ret = php_stream_alloc(&php_stream_stdio_ops, fp, 0, 0, mode); ret = php_stream_alloc(&php_stream_stdio_ops, fp, 0, 0, mode);
if (ret) if (ret)
@ -346,7 +346,7 @@ static size_t php_mysqlop_read(php_stream * stream, char * buf, size_t count)
else else
return 0; return 0;
} }
/* pull out some data from the stream and put it in buf */ /* pull out some data from the stream and put it in buf */
... mysql_fetch_row(state->result) ... ... mysql_fetch_row(state->result) ...
/* we could do something strange, like format the data as XML here, /* we could do something strange, like format the data as XML here,

2
README.SUBMITTING_PATCH

@ -128,7 +128,7 @@ How to create your PHP, PHP Documentation or PECL patch
------------------------------------------------------- -------------------------------------------------------
PHP and most PECL packages use Git for revision control. Some PECL PHP and most PECL packages use Git for revision control. Some PECL
packages use Subversion (SVN) Read http://www.php.net/git.php for help packages use Subversion (SVN) Read http://www.php.net/git.php for help
on using Git to get and build PHP source code. We recommend to look
on using Git to get and build PHP source code. We recommend to look
at our workflow on https://wiki.php.net/vcs/gitworkflow and our FAQ at our workflow on https://wiki.php.net/vcs/gitworkflow and our FAQ
https://wiki.php.net/vcs/gitfaq. https://wiki.php.net/vcs/gitfaq.

2
README.input_filter

@ -12,7 +12,7 @@ enforced. It is implemented as a SAPI hook and is called from the
treat_data and post handler functions. To implement your own security treat_data and post handler functions. To implement your own security
policy you will need to write a standard PHP extension. There is also policy you will need to write a standard PHP extension. There is also
a powerful standard implementation in ext/filter that should suit most a powerful standard implementation in ext/filter that should suit most
peoples' needs. However, if you want to implement your own security
peoples' needs. However, if you want to implement your own security
policy, read on. policy, read on.
A simple implementation might look like the following. This stores the A simple implementation might look like the following. This stores the

2
TSRM/build.mk

@ -31,7 +31,7 @@ aclocal.m4: configure.ac acinclude.m4
aclocal aclocal
$(config_h_in): configure.ac $(config_h_in): configure.ac
# explicitly remove target since autoheader does not seem to work
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated) # correctly otherwise (timestamps are not updated)
@rm -f $@ @rm -f $@
autoheader autoheader

12
TSRM/threads.m4

@ -1,17 +1,17 @@
dnl Copyright (c) 1999, 2000 Sascha Schumann. All rights reserved. dnl Copyright (c) 1999, 2000 Sascha Schumann. All rights reserved.
dnl
dnl
dnl Redistribution and use in source and binary forms, with or without dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted provided that the following conditions dnl modification, are permitted provided that the following conditions
dnl are met: dnl are met:
dnl
dnl
dnl 1. Redistributions of source code must retain the above copyright dnl 1. Redistributions of source code must retain the above copyright
dnl notice, this list of conditions and the following disclaimer. dnl notice, this list of conditions and the following disclaimer.
dnl
dnl
dnl 2. Redistributions in binary form must reproduce the above copyright dnl 2. Redistributions in binary form must reproduce the above copyright
dnl notice, this list of conditions and the following disclaimer in dnl notice, this list of conditions and the following disclaimer in
dnl the documentation and/or other materials provided with the dnl the documentation and/or other materials provided with the
dnl distribution. dnl distribution.
dnl
dnl
dnl THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY dnl THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY
dnl EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE dnl EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
@ -97,7 +97,7 @@ dnl -Kthread UDK cc (UnixWare)
dnl -mt WorkShop cc (Solaris) dnl -mt WorkShop cc (Solaris)
dnl -mthreads gcc (AIX) dnl -mthreads gcc (AIX)
dnl -pthread gcc (Linux, FreeBSD, NetBSD, OpenBSD) dnl -pthread gcc (Linux, FreeBSD, NetBSD, OpenBSD)
dnl -pthreads gcc (Solaris)
dnl -pthreads gcc (Solaris)
dnl -qthreaded AIX cc V5 dnl -qthreaded AIX cc V5
dnl -threads gcc (HP-UX) dnl -threads gcc (HP-UX)
dnl dnl
@ -113,7 +113,7 @@ CFLAGS=$save_CFLAGS
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[ AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
ac_cv_pthreads_cflags= ac_cv_pthreads_cflags=
if test "$pthreads_working" != "yes"; then if test "$pthreads_working" != "yes"; then
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
ac_save=$CFLAGS ac_save=$CFLAGS
CFLAGS="$CFLAGS $flag" CFLAGS="$CFLAGS $flag"
PTHREADS_CHECK_COMPILE PTHREADS_CHECK_COMPILE

10
UPGRADING

@ -237,13 +237,13 @@ readline:
if PHP is linked against libreadline (rather than libedit). if PHP is linked against libreadline (rather than libedit).
Standard: Standard:
. The --with-password-argon2[=dir] configure argument now provides support for
both Argon2i and Argon2id hashes in the password_hash(), password_verify(),
. The --with-password-argon2[=dir] configure argument now provides support for
both Argon2i and Argon2id hashes in the password_hash(), password_verify(),
password_get_info(), and password_needs_rehash() functions. Passwords may be password_get_info(), and password_needs_rehash() functions. Passwords may be
hashed and verified using the PASSWORD_ARGON2ID constant. hashed and verified using the PASSWORD_ARGON2ID constant.
Support for both Argon2i and Argon2id in the password_* functions now requires Support for both Argon2i and Argon2id in the password_* functions now requires
PHP be linked against libargon2 reference library >= 20161029. PHP be linked against libargon2 reference library >= 20161029.
(RFC: https://wiki.php.net/rfc/argon2_password_hash_enhancements).
(RFC: https://wiki.php.net/rfc/argon2_password_hash_enhancements).
======================================== ========================================
3. Changes in SAPI modules 3. Changes in SAPI modules
@ -447,8 +447,8 @@ JSON:
. FILTER_VALIDATE_FLOAT now also supports a `thousand` option, which . FILTER_VALIDATE_FLOAT now also supports a `thousand` option, which
defines the set of allowed thousand separator chars. The default (`"',."`) defines the set of allowed thousand separator chars. The default (`"',."`)
is fully backward compatible with former PHP versions. is fully backward compatible with former PHP versions.
. FILTER_SANITIZE_ADD_SLASHES has been added as an alias of the 'magic_quotes'
filter (FILTER_SANITIZE_MAGIC_QUOTES). The 'magic_quotes' filter is subject
. FILTER_SANITIZE_ADD_SLASHES has been added as an alias of the 'magic_quotes'
filter (FILTER_SANITIZE_MAGIC_QUOTES). The 'magic_quotes' filter is subject
to removal in future versions of PHP. to removal in future versions of PHP.
FTP: FTP:

2
UPGRADING.INTERNALS

@ -175,7 +175,7 @@ PHP 7.3 INTERNALS UPGRADE NOTES
aa. RETSIGTYPE has been removed from the generated php_config.h and should be aa. RETSIGTYPE has been removed from the generated php_config.h and should be
replaced with void. replaced with void.
bb. php_setcookie() now expects an additional samesite argument, and the
bb. php_setcookie() now expects an additional samesite argument, and the
url_encode parameter has been moved to the end. The signature is now: url_encode parameter has been moved to the end. The signature is now:
int php_setcookie(zend_string *name, zend_string *value, time_t expires, int php_setcookie(zend_string *name, zend_string *value, time_t expires,
zend_string *path, zend_string *domain, int secure, zend_string *path, zend_string *domain, int secure,

24
Zend/LICENSE

@ -1,25 +1,25 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The Zend Engine License, Version 2.00 The Zend Engine License, Version 2.00
Copyright (c) 1999-2006 Zend Technologies Ltd. All rights reserved. Copyright (c) 1999-2006 Zend Technologies Ltd. All rights reserved.
--------------------------------------------------------------------
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions modification, is permitted provided that the following conditions
are met: are met:
1. Redistributions of source code must retain the above copyright 1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided disclaimer in the documentation and/or other materials provided
with the distribution. with the distribution.
3. The names "Zend" and "Zend Engine" must not be used to endorse 3. The names "Zend" and "Zend Engine" must not be used to endorse
or promote products derived from this software without prior or promote products derived from this software without prior
permission from Zend Technologies Ltd. For written permission, permission from Zend Technologies Ltd. For written permission,
please contact license@zend.com.
please contact license@zend.com.
4. Zend Technologies Ltd. may publish revised and/or new versions 4. Zend Technologies Ltd. may publish revised and/or new versions
of the license from time to time. Each version will be given a of the license from time to time. Each version will be given a
distinguishing version number. distinguishing version number.
@ -40,9 +40,9 @@ are met:
software must display the following acknowledgment: software must display the following acknowledgment:
"The Zend Engine is freely available at http://www.zend.com" "The Zend Engine is freely available at http://www.zend.com"
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZEND PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZEND
TECHNOLOGIES LTD. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, TECHNOLOGIES LTD. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
@ -53,4 +53,4 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE. SUCH DAMAGE.
--------------------------------------------------------------------
--------------------------------------------------------------------

16
Zend/README.ZEND_VM

@ -21,7 +21,7 @@ ZEND_VM_HANDLER(<OPCODE-NUMBER>, <OPCODE>, <OP1_TYPES>, <OP2_TYPES>)
<OPCODE-NUMBER> is a opcode number (0, 1, ...) <OPCODE-NUMBER> is a opcode number (0, 1, ...)
<OPCODE> is an opcode name (ZEN_NOP, ZEND_ADD, :) <OPCODE> is an opcode name (ZEN_NOP, ZEND_ADD, :)
<OP1_TYPES> & <OP2_TYPES> are masks for allowed operand op_types. Specializer <OP1_TYPES> & <OP2_TYPES> are masks for allowed operand op_types. Specializer
will generate code only for defined combination of types. You can use any
will generate code only for defined combination of types. You can use any
combination of the following op_types UNUSED, CONST, VAR, TMP and CV also combination of the following op_types UNUSED, CONST, VAR, TMP and CV also
you can use ANY mask to disable specialization according operand's op_type. you can use ANY mask to disable specialization according operand's op_type.
<HANDLER'S CODE> is a handler's code itself. For most handlers it stills the <HANDLER'S CODE> is a handler's code itself. For most handlers it stills the
@ -34,9 +34,9 @@ EXECUTE_DATA
execute_data execute_data
ZEND_VM_DISPATCH_TO_HANDLER(<OP>) ZEND_VM_DISPATCH_TO_HANDLER(<OP>)
return <OP>_helper(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU) return <OP>_helper(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
return <NAME>(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU) return <NAME>(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
return <NAME>(<VAL>, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU) return <NAME>(<VAL>, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_CONTINUE() ZEND_VM_CONTINUE()
return 0 return 0
@ -72,7 +72,7 @@ FREE_OP<X>_VAR_PTR()
FREE_VAR_PTR(free_op<X>) FREE_VAR_PTR(free_op<X>)
Executor's helpers can be defined without parameters or with one parameter.
Executor's helpers can be defined without parameters or with one parameter.
This is done with the following constructs: This is done with the following constructs:
ZEND_VM_HELPER(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>) ZEND_VM_HELPER(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>)
@ -86,13 +86,13 @@ ZEND_VM_HELPER_EX(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>, <PARAM_SPEC>)
} }
Executor's code is generated by PHP script zend_vm_gen.php it uses zend_vm_def.h Executor's code is generated by PHP script zend_vm_gen.php it uses zend_vm_def.h
and zend_vm_execute.skl as input and produces zend_vm_opcodes.h and
zend_vm_execute.h. The first file is a list of opcode definitions. It is
and zend_vm_execute.skl as input and produces zend_vm_opcodes.h and
zend_vm_execute.h. The first file is a list of opcode definitions. It is
included from zend_compile.h. The second one is an executor code itself. It is included from zend_compile.h. The second one is an executor code itself. It is
included from zend_execute.c. included from zend_execute.c.
zend_vm_gen.php can produce different kind of executors. You can select
different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can
zend_vm_gen.php can produce different kind of executors. You can select
different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can
disable opcode specialization using --without-specializer. You can include or disable opcode specialization using --without-specializer. You can include or
exclude old executor together with specialized one using --without-old-executor. exclude old executor together with specialized one using --without-old-executor.
At last you can debug executor using original zend_vm_def.h or generated file At last you can debug executor using original zend_vm_def.h or generated file

10
Zend/bench.php

@ -5,18 +5,18 @@ if (function_exists("date_default_timezone_set")) {
function simple() { function simple() {
$a = 0; $a = 0;
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
$a++; $a++;
$thisisanotherlongname = 0; $thisisanotherlongname = 0;
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
$thisisanotherlongname++; $thisisanotherlongname++;
} }
/****/ /****/
function simplecall() { function simplecall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
strlen("hallo"); strlen("hallo");
} }
@ -26,14 +26,14 @@ function hallo($a) {
} }
function simpleucall() { function simpleucall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
hallo("hallo"); hallo("hallo");
} }
/****/ /****/
function simpleudcall() { function simpleudcall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
hallo2("hallo"); hallo2("hallo");
} }

2
Zend/build.mk

@ -32,7 +32,7 @@ aclocal.m4: configure.ac acinclude.m4
aclocal aclocal
$(config_h_in): configure.ac $(config_h_in): configure.ac
# explicitly remove target since autoheader does not seem to work
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated) # correctly otherwise (timestamps are not updated)
@rm -f $@ @rm -f $@
autoheader autoheader

6
Zend/micro_bench.php

@ -4,12 +4,12 @@ function hallo() {
} }
function simpleucall($n) { function simpleucall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
hallo(); hallo();
} }
function simpleudcall($n) { function simpleudcall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
hallo2(); hallo2();
} }
@ -17,7 +17,7 @@ function hallo2() {
} }
function simpleicall($n) { function simpleicall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
func_num_args(); func_num_args();
} }

2
Zend/zend_ini_parser.y

@ -128,7 +128,7 @@ static void zend_ini_add_string(zval *result, zval *op1, zval *op2)
} }
} }
op1_len = (int)Z_STRLEN_P(op1); op1_len = (int)Z_STRLEN_P(op1);
if (Z_TYPE_P(op2) != IS_STRING) { if (Z_TYPE_P(op2) != IS_STRING) {
convert_to_string(op2); convert_to_string(op2);
} }

1
Zend/zend_vm_trace_map.h

@ -79,4 +79,3 @@ static void zend_vm_trace_init(void)
} }
zend_hash_destroy(&vm_trace_ht); zend_hash_destroy(&vm_trace_ht);
} }

4
appveyor/build.bat

@ -20,7 +20,7 @@ if not exist "%SDK_RUNNER%" (
if not exist "%PHP_BUILD_CACHE_SDK_DIR%" ( if not exist "%PHP_BUILD_CACHE_SDK_DIR%" (
echo Cloning remote SDK repository echo Cloning remote SDK repository
git clone --branch %SDK_BRANCH% %SDK_REMOTE% "%PHP_BUILD_CACHE_SDK_DIR%" 2>&1
git clone --branch %SDK_BRANCH% %SDK_REMOTE% "%PHP_BUILD_CACHE_SDK_DIR%" 2>&1
) )
for /f "tokens=*" %%a in ('type %PHP_BUILD_CACHE_SDK_DIR%\VERSION') do set GOT_SDK_VER=%%a for /f "tokens=*" %%a in ('type %PHP_BUILD_CACHE_SDK_DIR%\VERSION') do set GOT_SDK_VER=%%a
@ -30,7 +30,7 @@ if NOT "%GOT_SDK_VER%" == "%PHP_BUILD_SDK_BRANCH:~8%" (
echo Fetching remote SDK repository echo Fetching remote SDK repository
git --git-dir="%PHP_BUILD_CACHE_SDK_DIR%\.git" --work-tree="%PHP_BUILD_CACHE_SDK_DIR%" fetch --prune origin 2>&1 git --git-dir="%PHP_BUILD_CACHE_SDK_DIR%\.git" --work-tree="%PHP_BUILD_CACHE_SDK_DIR%" fetch --prune origin 2>&1
echo Checkout SDK repository branch echo Checkout SDK repository branch
git --git-dir="%PHP_BUILD_CACHE_SDK_DIR%\.git" --work-tree="%PHP_BUILD_CACHE_SDK_DIR%" checkout --force %SDK_BRANCH%
git --git-dir="%PHP_BUILD_CACHE_SDK_DIR%\.git" --work-tree="%PHP_BUILD_CACHE_SDK_DIR%" checkout --force %SDK_BRANCH%
) )
if not exist "%SDK_RUNNER%" ( if not exist "%SDK_RUNNER%" (

14
build/mkdep.awk

@ -33,16 +33,16 @@
} }
dif=i-1 dif=i-1
for (; i <= NF; i++) for (; i <= NF; i++)
filenames[i-dif]=$i filenames[i-dif]=$i
no_files=NF-dif no_files=NF-dif
for(i = 1; i <= no_files; i++) { for(i = 1; i <= no_files; i++) {
if (system("test -r " filenames[i]) != 0) if (system("test -r " filenames[i]) != 0)
continue continue
target=filenames[i] target=filenames[i]
sub(srcdir "/", "", target) sub(srcdir "/", "", target)
target2=target target2=target
@ -51,7 +51,7 @@
for (e in used) for (e in used)
delete used[e] delete used[e]
cmdx=cmd " " filenames[i] cmdx=cmd " " filenames[i]
done=0 done=0
while ((cmdx | getline) > 0) { while ((cmdx | getline) > 0) {
@ -64,10 +64,10 @@
done=1 done=1
printf(" \\\n\t" substr($3,2,length($3)-2)) printf(" \\\n\t" substr($3,2,length($3)-2))
used[$3] = 1; used[$3] = 1;
}
}
} }
} }
if (done == 1) if (done == 1)
print "\n" print "\n"
} }
}
}

2
build/order_by_dep.awk

@ -77,7 +77,7 @@ function count(arr, n, i)
END { END {
# order it correctly # order it correctly
out_count = 0; out_count = 0;
while (count(mods)) { while (count(mods)) {
for (i = 0; i <= mod_count - 1; i++) { for (i = 0; i <= mod_count - 1; i++) {
if (i in mods) { if (i in mods) {

2
build/scan_makefile_in.awk

@ -2,7 +2,7 @@ BEGIN {
mode=0 mode=0
sources="" sources=""
} }
mode == 0 && /^LTLIBRARY_SOURCES.*\\$/ { mode == 0 && /^LTLIBRARY_SOURCES.*\\$/ {
if (match($0, "[^=]*$")) { if (match($0, "[^=]*$")) {
sources=substr($0, RSTART, RLENGTH-1) sources=substr($0, RSTART, RLENGTH-1)

2
ext/bcmath/libbcmath/FAQ

@ -1,4 +1,4 @@
BCMATH FAQ:
BCMATH FAQ:
1) Why BCMATH? 1) Why BCMATH?

4
ext/ctype/ctype.xml

@ -9,7 +9,7 @@
current locale. current locale.
</para> </para>
<para> <para>
When called with an integer argument these functions
When called with an integer argument these functions
behave exactly like their C counterparts. behave exactly like their C counterparts.
</para> </para>
<para> <para>
@ -19,7 +19,7 @@
requested criteria. requested criteria.
</para> </para>
<para> <para>
Passing anything else but a string or integer will
Passing anything else but a string or integer will
return false immediately. return false immediately.
</para> </para>
</partintro> </partintro>

2
ext/curl/config.w32

@ -18,7 +18,7 @@ if (PHP_CURL != "no") {
SETUP_OPENSSL("curl", PHP_CURL) > 0 && SETUP_OPENSSL("curl", PHP_CURL) > 0 &&
CHECK_LIB("winmm.lib", "curl", PHP_CURL) && CHECK_LIB("winmm.lib", "curl", PHP_CURL) &&
CHECK_LIB("wldap32.lib", "curl", PHP_CURL) && CHECK_LIB("wldap32.lib", "curl", PHP_CURL) &&
(((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib", "curl", PHP_CURL))) ||
(((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib", "curl", PHP_CURL))) ||
(PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib", "curl", PHP_CURL)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED))) && (PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib", "curl", PHP_CURL)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED))) &&
!isNaN(ver_num) && !isNaN(ver_num) &&
(ver_num <= parseInt("0x073b00") || ver_num > parseInt("0x073b00") && (ver_num <= parseInt("0x073b00") || ver_num > parseInt("0x073b00") &&

2
ext/curl/tests/responder/get.php

@ -21,7 +21,7 @@
echo $_COOKIE['foo']; echo $_COOKIE['foo'];
break; break;
case 'encoding': case 'encoding':
echo $_SERVER['HTTP_ACCEPT_ENCODING'];
echo $_SERVER['HTTP_ACCEPT_ENCODING'];
break; break;
case 'contenttype': case 'contenttype':
header('Content-Type: text/plain;charset=utf-8'); header('Content-Type: text/plain;charset=utf-8');

84
ext/dba/README

@ -1,54 +1,54 @@
These functions build the foundation for accessing Berkeley DB style
databases.
These functions build the foundation for accessing Berkeley DB style
databases.
This is a general abstraction layer for several file-based databases. As This is a general abstraction layer for several file-based databases. As
such, functionality is limited to a common subset of features supported
by modern databases such as Sleepycat Software's DB2. (This is not to be
confused with IBM's DB2 software, which is supported through the ODBC
functions.)
such, functionality is limited to a common subset of features supported
by modern databases such as Sleepycat Software's DB2. (This is not to be
confused with IBM's DB2 software, which is supported through the ODBC
functions.)
This extensions allows to work with the following databases: This extensions allows to work with the following databases:
dbm DBM is the oldest (original) type of Berkeley DB style databases. dbm DBM is the oldest (original) type of Berkeley DB style databases.
You should avoid it, if possible. We do not support the
compatibility functions built into DB2 and gdbm, because they are
only compatible on the source code level, but cannot handle the
original dbm format.
ndbm NDBM is a newer type and more flexible than dbm. It still has
most of the arbitrary limits of dbm (therefore it is deprecated).
gdbm GDBM is the GNU database manager.
You should avoid it, if possible. We do not support the
compatibility functions built into DB2 and gdbm, because they are
only compatible on the source code level, but cannot handle the
original dbm format.
ndbm NDBM is a newer type and more flexible than dbm. It still has
most of the arbitrary limits of dbm (therefore it is deprecated).
gdbm GDBM is the GNU database manager.
db2 DB2 is Sleepycat Software's DB2. It's described as "a programmatic db2 DB2 is Sleepycat Software's DB2. It's described as "a programmatic
toolkit that provides high-performance built-in database support
for both standalone and client/server applications.
db3 DB3 is Sleepycat Software's DB3.
toolkit that provides high-performance built-in database support
for both standalone and client/server applications.
db3 DB3 is Sleepycat Software's DB3.
db4 DB4 is Sleepycat Software's DB4. This is available since PHP 5.0. db4 DB4 is Sleepycat Software's DB4. This is available since PHP 5.0.
cdb CDB is "a fast, reliable, lightweight package for creating and
reading constant databases." It is from the author of qmail and
can be found at http://cr.yp.to/cdb.html. Since it is constant,
we support only reading operations. And since PHP 4.3.0 we support
writing (not updating) through the internal cdb library.
cdb_make Since PHP 4.3.0 we support creation (not updating) of cdb files
when the bundled cdb library is used.
flatfile This is available since PHP 4.3.0 for compatibility with the
deprecated dbm extension only and should be avoided. However you
may use this where files were created in this format. That happens
when configure could not find any external library.
inifile This is available since PHP 4.3.3 to be able to modify php.ini
files from within PHP scripts. When working with ini files you
can pass arrays of the form array(0=>group,1=>value_name) or
strings of the form "[group]value_name" where group is optional.
As the functions dba_firstkey() and dba_nextkey() return string
representations of the key there is a new function dba_key_split()
available since PHP 5 which allows to convert the string keys into
array keys without losing FALSE.
qdbm This is available since PHP 5.0.0. The qdbm library can be loaded
from http://qdbm.sourceforge.net.
cdb CDB is "a fast, reliable, lightweight package for creating and
reading constant databases." It is from the author of qmail and
can be found at http://cr.yp.to/cdb.html. Since it is constant,
we support only reading operations. And since PHP 4.3.0 we support
writing (not updating) through the internal cdb library.
cdb_make Since PHP 4.3.0 we support creation (not updating) of cdb files
when the bundled cdb library is used.
flatfile This is available since PHP 4.3.0 for compatibility with the
deprecated dbm extension only and should be avoided. However you
may use this where files were created in this format. That happens
when configure could not find any external library.
inifile This is available since PHP 4.3.3 to be able to modify php.ini
files from within PHP scripts. When working with ini files you
can pass arrays of the form array(0=>group,1=>value_name) or
strings of the form "[group]value_name" where group is optional.
As the functions dba_firstkey() and dba_nextkey() return string
representations of the key there is a new function dba_key_split()
available since PHP 5 which allows to convert the string keys into
array keys without losing FALSE.
qdbm This is available since PHP 5.0.0. The qdbm library can be loaded
from http://qdbm.sourceforge.net.
After configuring and compiling PHP you must execute the following test After configuring and compiling PHP you must execute the following test
from commandline:
php run-tests.php ext/dba.
This shows whether your combination of handlers works. Most problematic
are dbm and ndbm which conflict with many installations. The reason for
from commandline:
php run-tests.php ext/dba.
This shows whether your combination of handlers works. Most problematic
are dbm and ndbm which conflict with many installations. The reason for
this is that on several systems these libraries are part of more than one this is that on several systems these libraries are part of more than one
other library. The configuration test only prevents you from configuring
other library. The configuration test only prevents you from configuring
malfaunctioning single handlers but not combinations. malfaunctioning single handlers but not combinations.

4
ext/dba/install_cdb.sh

@ -1,10 +1,10 @@
#! /bin/sh #! /bin/sh
# You can use this script if you want to use an external cdb lib. If you # You can use this script if you want to use an external cdb lib. If you
# compile php using --with-cdb the internal functions will be used and no
# compile php using --with-cdb the internal functions will be used and no
# external library is used so that this script is not necessary. # external library is used so that this script is not necessary.
# #
# cdb-0.75 lacks support for installing header files and creating a
# cdb-0.75 lacks support for installing header files and creating a
# library which programs can link against. This shell script fills # library which programs can link against. This shell script fills
# the gap. # the gap.

4
ext/dom/tests/domdocumentload_utilities.php

@ -1,13 +1,13 @@
<?php <?php
function libxml_options_to_int($libxmlOptions) { function libxml_options_to_int($libxmlOptions) {
$defined_constants = get_defined_constants(true); $defined_constants = get_defined_constants(true);
$env_array = explode('|', $libxmlOptions); $env_array = explode('|', $libxmlOptions);
$libxml_constants = array_intersect_key($defined_constants['libxml'], array_flip($env_array)); $libxml_constants = array_intersect_key($defined_constants['libxml'], array_flip($env_array));
$sum = 0; $sum = 0;
foreach($libxml_constants as $value) {
foreach($libxml_constants as $value) {
$sum = $sum|$value; $sum = $sum|$value;
} }

2
ext/dom/tests/domdocumentloadxml_test_method.php

@ -4,7 +4,7 @@ include(dirname(__FILE__) . '/domdocumentload_utilities.php');
$doc = new DOMDocument(); $doc = new DOMDocument();
$libxml_options = libxml_options_to_int(getenv('LOAD_OPTIONS')); $libxml_options = libxml_options_to_int(getenv('LOAD_OPTIONS'));
$result = $doc->loadXML(file_get_contents(dirname(__FILE__) . getenv('XML_FILE')),
$result = $doc->loadXML(file_get_contents(dirname(__FILE__) . getenv('XML_FILE')),
$libxml_options); $libxml_options);
$expectedResult = (bool) getenv('EXPECTED_RESULT'); $expectedResult = (bool) getenv('EXPECTED_RESULT');

2
ext/dom/tests/domdocumentloadxml_test_method_savexml.php

@ -4,7 +4,7 @@ include(dirname(__FILE__) . '/domdocumentload_utilities.php');
$doc = new DOMDocument(); $doc = new DOMDocument();
$libxml_options = libxml_options_to_int(getenv('LOAD_OPTIONS')); $libxml_options = libxml_options_to_int(getenv('LOAD_OPTIONS'));
$result = $doc->loadXML(file_get_contents(dirname(__FILE__) . getenv('XML_FILE')),
$result = $doc->loadXML(file_get_contents(dirname(__FILE__) . getenv('XML_FILE')),
$libxml_options); $libxml_options);
$expectedResult = (bool) getenv('EXPECTED_RESULT'); $expectedResult = (bool) getenv('EXPECTED_RESULT');

2
ext/dom/tests/note.xml

@ -5,4 +5,4 @@
<from>Shane</from> <from>Shane</from>
<heading>Reminder</heading> <heading>Reminder</heading>
<body>Don't forget the meeting tonight!</body> <body>Don't forget the meeting tonight!</body>
</note>
</note>

6
ext/gd/config.w32

@ -14,8 +14,8 @@ if (PHP_GD != "no") {
CHECK_HEADER_ADD_INCLUDE("png.h", "CFLAGS_GD", PHP_GD + ";" + PHP_PHP_BUILD + "\\include\\libpng15") || CHECK_HEADER_ADD_INCLUDE("png.h", "CFLAGS_GD", PHP_GD + ";" + PHP_PHP_BUILD + "\\include\\libpng15") ||
CHECK_HEADER_ADD_INCLUDE("png.h", "CFLAGS_GD", PHP_GD + ";" + PHP_PHP_BUILD + "\\include\\libpng12")) && CHECK_HEADER_ADD_INCLUDE("png.h", "CFLAGS_GD", PHP_GD + ";" + PHP_PHP_BUILD + "\\include\\libpng12")) &&
(CHECK_LIB("libiconv_a.lib;libiconv.lib", "gd", PHP_GD) || CHECK_LIB("iconv_a.lib;iconv.lib", "gd", PHP_GD)) && (CHECK_LIB("libiconv_a.lib;libiconv.lib", "gd", PHP_GD) || CHECK_LIB("iconv_a.lib;iconv.lib", "gd", PHP_GD)) &&
CHECK_HEADER_ADD_INCLUDE("iconv.h", "CFLAGS_GD", PHP_GD) &&
(((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib", "gd", PHP_GD) )) ||
CHECK_HEADER_ADD_INCLUDE("iconv.h", "CFLAGS_GD", PHP_GD) &&
(((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib", "gd", PHP_GD) )) ||
(PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib", "gd", PHP_GD)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED))) && (PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib", "gd", PHP_GD)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED))) &&
CHECK_LIB("libXpm_a.lib", "gd", PHP_GD) && CHECK_LIB("libXpm_a.lib", "gd", PHP_GD) &&
CHECK_HEADER_ADD_INCLUDE("xpm.h", "CFLAGS_GD", PHP_GD + ";" + PHP_PHP_BUILD + "\\include\\X11") CHECK_HEADER_ADD_INCLUDE("xpm.h", "CFLAGS_GD", PHP_GD + ";" + PHP_PHP_BUILD + "\\include\\X11")
@ -77,7 +77,7 @@ if (PHP_GD != "no") {
if (ICC_TOOLSET) { if (ICC_TOOLSET) {
ADD_FLAG("LDFLAGS_GD", "/nodefaultlib:libcmt"); ADD_FLAG("LDFLAGS_GD", "/nodefaultlib:libcmt");
} }
PHP_INSTALL_HEADERS("", "ext/gd ext/gd/libgd" ); PHP_INSTALL_HEADERS("", "ext/gd ext/gd/libgd" );
} else { } else {
WARNING("gd not enabled; libraries and headers not found"); WARNING("gd not enabled; libraries and headers not found");

2
ext/hash/README

@ -15,5 +15,5 @@ $context = hash_init($algoname);
hash_update($context, $message); hash_update($context, $message);
$digest = hash_final($context); $digest = hash_final($context);
hash(), hash_file(), and hash_final() each support an optional boolean parameter $raw_output which behaves in the same
hash(), hash_file(), and hash_final() each support an optional boolean parameter $raw_output which behaves in the same
manner as sha1()'s optional parameter. manner as sha1()'s optional parameter.

2
ext/hash/bench.php

@ -2,7 +2,7 @@
/* /*
This gives rather interesting results :) This gives rather interesting results :)
Measures on a Notebook P4M-1.7 256MB Windows 2000: Measures on a Notebook P4M-1.7 256MB Windows 2000:
sha1 0.556691 sha1 0.556691
tiger160,3 0.774469 tiger160,3 0.774469

4
ext/hash/config.w32

@ -1,7 +1,7 @@
// vim:ft=javascript // vim:ft=javascript
ARG_ENABLE("hash", "enable hash support", "yes"); ARG_ENABLE("hash", "enable hash support", "yes");
ARG_WITH("mhash", "mhash support", "no");
ARG_WITH("mhash", "mhash support", "no");
if (PHP_MHASH != "no") { if (PHP_MHASH != "no") {
if (PHP_HASH == "no") { if (PHP_HASH == "no") {
@ -25,7 +25,7 @@ if (PHP_HASH != "no") {
PHP_INSTALL_HEADERS("ext/hash/", "php_hash.h php_hash_md.h php_hash_sha.h php_hash_ripemd.h " + PHP_INSTALL_HEADERS("ext/hash/", "php_hash.h php_hash_md.h php_hash_sha.h php_hash_ripemd.h " +
"php_hash_haval.h php_hash_tiger.h php_hash_gost.h php_hash_snefru.h " +
"php_hash_haval.h php_hash_tiger.h php_hash_gost.h php_hash_snefru.h " +
"php_hash_whirlpool.h php_hash_adler32.h php_hash_crc32.h php_hash_sha3.h "); "php_hash_whirlpool.h php_hash_adler32.h php_hash_crc32.h php_hash_sha3.h ");
} else { } else {
WARNING("hash not enabled; libraries and headers not found"); WARNING("hash not enabled; libraries and headers not found");

2
ext/iconv/CREDITS

@ -1,2 +1,2 @@
Iconv Iconv
Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi
Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi

2
ext/iconv/config.w32

@ -8,7 +8,7 @@ if (PHP_ICONV != "no") {
CHECK_HEADER_ADD_INCLUDE("iconv.h", "CFLAGS_ICONV", PHP_ICONV)) { CHECK_HEADER_ADD_INCLUDE("iconv.h", "CFLAGS_ICONV", PHP_ICONV)) {
EXTENSION("iconv", "iconv.c", PHP_ICONV_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); EXTENSION("iconv", "iconv.c", PHP_ICONV_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
AC_DEFINE("HAVE_ICONV", 1, "Define if iconv extension is enabled"); AC_DEFINE("HAVE_ICONV", 1, "Define if iconv extension is enabled");
AC_DEFINE("HAVE_LIBICONV", 1, "Define if libiconv is available"); AC_DEFINE("HAVE_LIBICONV", 1, "Define if libiconv is available");
AC_DEFINE("ICONV_ALIASED_LIBICONV", 1, "The iconv function is called iconv() in libiconv"); AC_DEFINE("ICONV_ALIASED_LIBICONV", 1, "The iconv function is called iconv() in libiconv");

2
ext/imap/tests/README

@ -1,7 +1,7 @@
Many of the tests in this directory require a mail server to be running, if there is no mail server the test will skip and warn, see skipif.inc for details. Many of the tests in this directory require a mail server to be running, if there is no mail server the test will skip and warn, see skipif.inc for details.
To make the tests run parameters in the skipif.inc and imap_include.inc file will need to be changed to match the local mailserver configuration.
To make the tests run parameters in the skipif.inc and imap_include.inc file will need to be changed to match the local mailserver configuration.
The tests have been checked using dovecot (on Linux 32 and 64 bit systems) and hMailServer on Windows. The tests are intended to be mailserver agnostic. The tests have been checked using dovecot (on Linux 32 and 64 bit systems) and hMailServer on Windows. The tests are intended to be mailserver agnostic.

2
ext/interbase/config.w32

@ -4,7 +4,7 @@ ARG_WITH("interbase", "InterBase support", "no");
if (PHP_INTERBASE != "no") { if (PHP_INTERBASE != "no") {
if (CHECK_HEADER_ADD_INCLUDE("ibase.h", "CFLAGS_INTERBASE",
if (CHECK_HEADER_ADD_INCLUDE("ibase.h", "CFLAGS_INTERBASE",
PHP_PHP_BUILD + "\\include\\interbase;" + PHP_PHP_BUILD + "\\interbase\\include;" + PHP_INTERBASE) && PHP_PHP_BUILD + "\\include\\interbase;" + PHP_PHP_BUILD + "\\interbase\\include;" + PHP_INTERBASE) &&
(CHECK_LIB("fbclient_ms.lib", "interbase", PHP_PHP_BUILD + "\\interbase\\lib_ms;" + PHP_INTERBASE) || (CHECK_LIB("fbclient_ms.lib", "interbase", PHP_PHP_BUILD + "\\interbase\\lib_ms;" + PHP_INTERBASE) ||
CHECK_LIB("gds32_ms.lib", "interbase", PHP_PHP_BUILD + "\\interbase\\lib_ms;" + PHP_INTERBASE))) { CHECK_LIB("gds32_ms.lib", "interbase", PHP_PHP_BUILD + "\\interbase\\lib_ms;" + PHP_INTERBASE))) {

2
ext/intl/ERROR.CONVENTIONS

@ -28,7 +28,7 @@ void intl_error_set(intl_error* err, UErrorCode code, char* msg, int copyMsg);
and by passing NULL as the first parameter. The last function is a combination and by passing NULL as the first parameter. The last function is a combination
of the first two. If the message is not a static buffer, copyMsg should be 1. of the first two. If the message is not a static buffer, copyMsg should be 1.
This makes the message string be copied and freed when no longer needed. There's This makes the message string be copied and freed when no longer needed. There's
no way to pass ownership of the string without it being copied.
no way to pass ownership of the string without it being copied.
:: The last is ALSO stored in the object whose method call triggered the error, :: The last is ALSO stored in the object whose method call triggered the error,

8
ext/intl/config.w32

@ -97,18 +97,18 @@ if (PHP_INTL != "no") {
transliterator_class.c \ transliterator_class.c \
transliterator_methods.c", transliterator_methods.c",
"intl"); "intl");
ADD_SOURCES(configure_module_dirname + "/timezone", "\ ADD_SOURCES(configure_module_dirname + "/timezone", "\
timezone_class.cpp \ timezone_class.cpp \
timezone_methods.cpp", timezone_methods.cpp",
"intl"); "intl");
ADD_SOURCES(configure_module_dirname + "/calendar", "\ ADD_SOURCES(configure_module_dirname + "/calendar", "\
calendar_methods.cpp \ calendar_methods.cpp \
gregoriancalendar_methods.cpp \ gregoriancalendar_methods.cpp \
calendar_class.cpp", calendar_class.cpp",
"intl"); "intl");
ADD_SOURCES(configure_module_dirname + "/breakiterator", "\ ADD_SOURCES(configure_module_dirname + "/breakiterator", "\
breakiterator_class.cpp \ breakiterator_class.cpp \
breakiterator_methods.cpp \ breakiterator_methods.cpp \
@ -117,7 +117,7 @@ if (PHP_INTL != "no") {
codepointiterator_internal.cpp \ codepointiterator_internal.cpp \
codepointiterator_methods.cpp ", codepointiterator_methods.cpp ",
"intl"); "intl");
ADD_FLAG("LIBS_INTL", "icudt.lib icuin.lib icuio.lib"); ADD_FLAG("LIBS_INTL", "icudt.lib icuin.lib icuio.lib");
/* Compat for ICU before 58.1.*/ /* Compat for ICU before 58.1.*/

2
ext/intl/normalizer/normalizer_normalize.c

@ -380,7 +380,7 @@ PHP_FUNCTION( normalizer_get_raw_decomposition )
intl_error_set_custom_msg(NULL, "Code point out of range", 0); intl_error_set_custom_msg(NULL, "Code point out of range", 0);
return; return;
} }
decomposition_length = unorm2_getRawDecomposition(norm, codepoint, decomposition, 32, &status); decomposition_length = unorm2_getRawDecomposition(norm, codepoint, decomposition, 32, &status);
if (decomposition_length == -1) { if (decomposition_length == -1) {
RETURN_NULL(); RETURN_NULL();

2
ext/json/json_scanner.re

@ -104,7 +104,7 @@ void php_json_scanner_init(php_json_scanner *s, char *str, size_t str_len, int o
int php_json_scan(php_json_scanner *s) int php_json_scan(php_json_scanner *s)
{ {
ZVAL_NULL(&s->value); ZVAL_NULL(&s->value);
std: std:
s->token = s->cursor; s->token = s->cursor;

2
ext/ldap/tests/README

@ -63,7 +63,7 @@ export LDAP_TEST_HOST=192.168.33.10
Now you can run the test-suite by calling "make test". To test only the LDAP-Tests, run "make test TESTS=ext/ldap" Now you can run the test-suite by calling "make test". To test only the LDAP-Tests, run "make test TESTS=ext/ldap"
CAVEAT: The current setup does not (yet) test secure connections.
CAVEAT: The current setup does not (yet) test secure connections.
======== ========

2
ext/mbstring/libmbfl/LICENSE

@ -146,7 +146,7 @@ such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does. and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's 1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an you conspicuously and appropriately publish on each copy an

6
ext/mbstring/libmbfl/NEWS

@ -10,12 +10,12 @@ version 1.3.2 August 20, 2011
version 1.3.1 August 5, 2011 version 1.3.1 August 5, 2011
- added check for invalid/obsolete utf-8 encoding (rui). - added check for invalid/obsolete utf-8 encoding (rui).
version 1.3.0 August 1, 2011 version 1.3.0 August 1, 2011
- added encoding conversion between Shift_JIS and Unicode (6.0 or PUA)
- added encoding conversion between Shift_JIS and Unicode (6.0 or PUA)
for pictogram characters defined by mobile phone carrier in Japan (rui). for pictogram characters defined by mobile phone carrier in Japan (rui).
Detailed info:https://github.com/hirokawa/libmbfl/wiki/Introduction-to-libmbflhttps:--github.com-hirokawa-libmbfl-wiki-Introduction-to-libmbfl-_edit%23 Detailed info:https://github.com/hirokawa/libmbfl/wiki/Introduction-to-libmbflhttps:--github.com-hirokawa-libmbfl-wiki-Introduction-to-libmbfl-_edit%23
- fixed encoding conversion of cp5022x for user defined area (rui). - fixed encoding conversion of cp5022x for user defined area (rui).

68
ext/mbstring/libmbfl/filters/mk_emoji_tbl.pl

@ -1,5 +1,5 @@
#!/usr/bin/perl #!/usr/bin/perl
# script to generate Shift_JIS encoded Emoji to/from Unicode conversion table.
# script to generate Shift_JIS encoded Emoji to/from Unicode conversion table.
# Rui Hirokawa <hirokawa@php.net> # Rui Hirokawa <hirokawa@php.net>
# #
# usage: mktbl.pl EmojiSources.txt # usage: mktbl.pl EmojiSources.txt
@ -22,7 +22,7 @@ sub sjis2code {
# Shift_JIS -> JIS # Shift_JIS -> JIS
$c[0] = (($c[0]-($c[0]<160?112:176))<<1)-($c[1]<159?1:0); $c[0] = (($c[0]-($c[0]<160?112:176))<<1)-($c[1]<159?1:0);
$c[1] -= ($c[1]<159?($c[1]>127?32:31):126);
$c[1] -= ($c[1]<159?($c[1]>127?32:31):126);
$s = ($c[0] - 0x21)*94 + $c[1]-0x21; $s = ($c[0] - 0x21)*94 + $c[1]-0x21;
@ -131,19 +131,19 @@ push(@r_docomo2_val, 0x00);
push(@r_docomo3_key, 0x00); push(@r_docomo3_key, 0x00);
push(@r_docomo3_val, 0x00); push(@r_docomo3_val, 0x00);
print OUT "int mb_tbl_code2uni_docomo_min = $docomo_min;\n";
print OUT "int mb_tbl_code2uni_docomo_max = $docomo_max;\n\n";
print OUT "int mb_tbl_code2uni_docomo_min = $docomo_min;\n";
print OUT "int mb_tbl_code2uni_docomo_max = $docomo_max;\n\n";
print OUT "int mb_tbl_code2uni_docomo[] = {\n"; print OUT "int mb_tbl_code2uni_docomo[] = {\n";
print OUT &show_code(@docomo_v); print OUT &show_code(@docomo_v);
print OUT "};\n\n"; print OUT "};\n\n";
print OUT "int mb_tbl_uni_docomo2code_min1 = $to_docomo_min1;\n";
print OUT "int mb_tbl_uni_docomo2code_max1 = $to_docomo_max1;\n";
print OUT "int mb_tbl_uni_docomo2code_min2 = $to_docomo_min2;\n";
print OUT "int mb_tbl_uni_docomo2code_max2 = $to_docomo_max2;\n";
print OUT "int mb_tbl_uni_docomo2code_min3 = $to_docomo_min3;\n";
print OUT "int mb_tbl_uni_docomo2code_max3 = $to_docomo_max3;\n\n";
print OUT "int mb_tbl_uni_docomo2code_min1 = $to_docomo_min1;\n";
print OUT "int mb_tbl_uni_docomo2code_max1 = $to_docomo_max1;\n";
print OUT "int mb_tbl_uni_docomo2code_min2 = $to_docomo_min2;\n";
print OUT "int mb_tbl_uni_docomo2code_max2 = $to_docomo_max2;\n";
print OUT "int mb_tbl_uni_docomo2code_min3 = $to_docomo_min3;\n";
print OUT "int mb_tbl_uni_docomo2code_max3 = $to_docomo_max3;\n\n";
#print "DOCOMO reverse 1\n"; #print "DOCOMO reverse 1\n";
@ -238,10 +238,10 @@ push(@r_kddi2_val, 0x00);
push(@r_kddi3_key, 0x00); push(@r_kddi3_key, 0x00);
push(@r_kddi3_val, 0x00); push(@r_kddi3_val, 0x00);
print OUT "int mb_tbl_code2uni_kddi1_min = $kddi_min1;\n";
print OUT "int mb_tbl_code2uni_kddi1_max = $kddi_max1;\n";
print OUT "int mb_tbl_code2uni_kddi2_min = $kddi_min2;\n";
print OUT "int mb_tbl_code2uni_kddi2_max = $kddi_max2;\n\n";
print OUT "int mb_tbl_code2uni_kddi1_min = $kddi_min1;\n";
print OUT "int mb_tbl_code2uni_kddi1_max = $kddi_max1;\n";
print OUT "int mb_tbl_code2uni_kddi2_min = $kddi_min2;\n";
print OUT "int mb_tbl_code2uni_kddi2_max = $kddi_max2;\n\n";
#print "KDDI 1\n"; #print "KDDI 1\n";
@ -255,12 +255,12 @@ print OUT "int mb_tbl_code2uni_kddi2[] = {\n";
print OUT &show_code(@kddi_v2); print OUT &show_code(@kddi_v2);
print OUT "};\n\n"; print OUT "};\n\n";
print OUT "int mb_tbl_uni_kddi2code_min1 = $to_kddi_min1;\n";
print OUT "int mb_tbl_uni_kddi2code_max1 = $to_kddi_max1;\n";
print OUT "int mb_tbl_uni_kddi2code_min2 = $to_kddi_min2;\n";
print OUT "int mb_tbl_uni_kddi2code_max2 = $to_kddi_max2;\n";
print OUT "int mb_tbl_uni_kddi2code_min3 = $to_kddi_min3;\n";
print OUT "int mb_tbl_uni_kddi2code_max3 = $to_kddi_max3;\n\n";
print OUT "int mb_tbl_uni_kddi2code_min1 = $to_kddi_min1;\n";
print OUT "int mb_tbl_uni_kddi2code_max1 = $to_kddi_max1;\n";
print OUT "int mb_tbl_uni_kddi2code_min2 = $to_kddi_min2;\n";
print OUT "int mb_tbl_uni_kddi2code_max2 = $to_kddi_max2;\n";
print OUT "int mb_tbl_uni_kddi2code_min3 = $to_kddi_min3;\n";
print OUT "int mb_tbl_uni_kddi2code_max3 = $to_kddi_max3;\n\n";
#print "KDDI reverse 1\n"; #print "KDDI reverse 1\n";
@ -303,7 +303,7 @@ $sb_max3 = 10153+901;
if (1) { if (1) {
print "SoftBank\n"; print "SoftBank\n";
foreach $key (sort {hex($a) <=> hex($b)} keys(%softbank)) { foreach $key (sort {hex($a) <=> hex($b)} keys(%softbank)) {
$s = $key; $s = $key;
$pos = $s % 94; $pos = $s % 94;
@ -319,7 +319,7 @@ if (1) {
$sb_v3[$key-$sb_min3] = $softbank{$key}; $sb_v3[$key-$sb_min3] = $softbank{$key};
} }
} }
} }
$to_sb_min = 10263; $to_sb_min = 10263;
@ -362,12 +362,12 @@ push(@r_sb3_key, 0x00);
push(@r_sb3_val, 0x00); push(@r_sb3_val, 0x00);
print OUT "int mb_tbl_code2uni_sb1_min = $sb_min1;\n";
print OUT "int mb_tbl_code2uni_sb1_max = $sb_max1;\n";
print OUT "int mb_tbl_code2uni_sb2_min = $sb_min2;\n";
print OUT "int mb_tbl_code2uni_sb2_max = $sb_max2;\n";
print OUT "int mb_tbl_code2uni_sb3_min = $sb_min3;\n";
print OUT "int mb_tbl_code2uni_sb3_max = $sb_max3;\n\n";
print OUT "int mb_tbl_code2uni_sb1_min = $sb_min1;\n";
print OUT "int mb_tbl_code2uni_sb1_max = $sb_max1;\n";
print OUT "int mb_tbl_code2uni_sb2_min = $sb_min2;\n";
print OUT "int mb_tbl_code2uni_sb2_max = $sb_max2;\n";
print OUT "int mb_tbl_code2uni_sb3_min = $sb_min3;\n";
print OUT "int mb_tbl_code2uni_sb3_max = $sb_max3;\n\n";
#print "SoftBank 1\n"; #print "SoftBank 1\n";
@ -387,12 +387,12 @@ print OUT "int mb_tbl_code2uni_sb3[] = {\n";
print OUT &show_code(@sb_v3); print OUT &show_code(@sb_v3);
print OUT "};\n\n"; print OUT "};\n\n";
print OUT "int mb_tbl_uni_sb2code_min1 = $to_sb_min1;\n";
print OUT "int mb_tbl_uni_sb2code_max1 = $to_sb_max1;\n";
print OUT "int mb_tbl_uni_sb2code_min2 = $to_sb_min2;\n";
print OUT "int mb_tbl_uni_sb2code_max2 = $to_sb_max2;\n";
print OUT "int mb_tbl_uni_sb2code_min3 = $to_sb_min3;\n";
print OUT "int mb_tbl_uni_sb2code_max3 = $to_sb_max3;\n\n";
print OUT "int mb_tbl_uni_sb2code_min1 = $to_sb_min1;\n";
print OUT "int mb_tbl_uni_sb2code_max1 = $to_sb_max1;\n";
print OUT "int mb_tbl_uni_sb2code_min2 = $to_sb_min2;\n";
print OUT "int mb_tbl_uni_sb2code_max2 = $to_sb_max2;\n";
print OUT "int mb_tbl_uni_sb2code_min3 = $to_sb_min3;\n";
print OUT "int mb_tbl_uni_sb2code_max3 = $to_sb_max3;\n\n";
#print "SB reverse 1\n"; #print "SB reverse 1\n";

2
ext/mbstring/libmbfl/filters/mk_sb_tbl.awk

@ -54,7 +54,7 @@ END {
print "" print ""
break; break;
} }
}
}
print "};" print "};"
if (IFNDEF_NAME) { if (IFNDEF_NAME) {

2
ext/mbstring/libmbfl/mbfl/mk_eaw_tbl.awk

@ -76,4 +76,4 @@ END {
printf("{ 0x%04x, 0x%04x }", first, prev) printf("{ 0x%04x, 0x%04x }", first, prev)
} }
print "\n};\n" print "\n};\n"
}
}

2
ext/mbstring/libmbfl/tests/conv_kana.tests/conv_kana.exp

@ -867,7 +867,7 @@ expect {
} }
close close
set test "full-width katakanas to full-width hiragana"
set test "full-width katakanas to full-width hiragana"
spawn tests/conv_kana EUC-JP "c" spawn tests/conv_kana EUC-JP "c"
expect_after { expect_after {
"\[^\r\n\]*\r\n" { fail $test } "\[^\r\n\]*\r\n" { fail $test }

2
ext/mbstring/ucgendat/ucgendat.php

@ -505,7 +505,7 @@ function generateData(UnicodeData $data) {
/* This file was generated from a modified version UCData's ucgendat. /* This file was generated from a modified version UCData's ucgendat.
* *
* DO NOT EDIT THIS FILE! * DO NOT EDIT THIS FILE!
*
*
* Instead, compile ucgendat.c (bundled with PHP in ext/mbstring), download * Instead, compile ucgendat.c (bundled with PHP in ext/mbstring), download
* the appropriate UnicodeData-x.x.x.txt and CompositionExclusions-x.x.x.txt * the appropriate UnicodeData-x.x.x.txt and CompositionExclusions-x.x.x.txt
* files from http://www.unicode.org/Public/ and run this program. * files from http://www.unicode.org/Public/ and run this program.

2
ext/mysqli/config.w32

@ -30,7 +30,7 @@ if (PHP_MYSQLI != "no") {
PHP_INSTALL_HEADERS("ext/mysqli", "php_mysqli_structs.h"); PHP_INSTALL_HEADERS("ext/mysqli", "php_mysqli_structs.h");
} else { } else {
if (CHECK_LIB("libmysql.lib", "mysqli", PHP_MYSQLI) && if (CHECK_LIB("libmysql.lib", "mysqli", PHP_MYSQLI) &&
CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_MYSQLI", PHP_MYSQLI +
CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_MYSQLI", PHP_MYSQLI +
"\\include;" + PHP_PHP_BUILD + "\\include;" + PHP_PHP_BUILD +
"\\include\\mysql;" + PHP_MYSQLI)) { "\\include\\mysql;" + PHP_MYSQLI)) {
EXTENSION("mysqli", mysqli_source, PHP_MYSQLI_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); EXTENSION("mysqli", mysqli_source, PHP_MYSQLI_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");

2
ext/mysqlnd/config.w32

@ -4,7 +4,7 @@ ARG_WITH("mysqlnd", "Mysql Native Client Driver", "yes");
if (PHP_MYSQLND != "no") { if (PHP_MYSQLND != "no") {
if (CHECK_LIB("ws2_32.lib", "mysqlnd")) { if (CHECK_LIB("ws2_32.lib", "mysqlnd")) {
mysqlnd_source =
mysqlnd_source =
"mysqlnd_alloc.c " + "mysqlnd_alloc.c " +
"mysqlnd_auth.c " + "mysqlnd_auth.c " +
"mysqlnd_block_alloc.c " + "mysqlnd_block_alloc.c " +

2
ext/opcache/config.w32

@ -25,7 +25,7 @@ if (PHP_OPCACHE != "no") {
ADD_SOURCES(configure_module_dirname + "/Optimizer", "zend_optimizer.c pass1_5.c pass2.c pass3.c optimize_func_calls.c block_pass.c optimize_temp_vars_5.c nop_removal.c compact_literals.c zend_cfg.c zend_dfg.c dfa_pass.c zend_ssa.c zend_inference.c zend_func_info.c zend_call_graph.c sccp.c scdf.c dce.c escape_analysis.c compact_vars.c zend_dump.c", "opcache", "OptimizerObj"); ADD_SOURCES(configure_module_dirname + "/Optimizer", "zend_optimizer.c pass1_5.c pass2.c pass3.c optimize_func_calls.c block_pass.c optimize_temp_vars_5.c nop_removal.c compact_literals.c zend_cfg.c zend_dfg.c dfa_pass.c zend_ssa.c zend_inference.c zend_func_info.c zend_call_graph.c sccp.c scdf.c dce.c escape_analysis.c compact_vars.c zend_dump.c", "opcache", "OptimizerObj");
ADD_FLAG('CFLAGS_OPCACHE', "/I " + configure_module_dirname); ADD_FLAG('CFLAGS_OPCACHE', "/I " + configure_module_dirname);
} }

2
ext/openssl/README

@ -272,7 +272,7 @@ Seal and open
// now we try to decrypt data for one of the recipients // now we try to decrypt data for one of the recipients
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r"); $fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
// Get PEM coded key into $pkey
// Get PEM coded key into $pkey
$pkey = fread($fp, 8192); $pkey = fread($fp, 8192);
fclose($fp); fclose($fp);
// $key will be resource id for unpacked $pkey // $key will be resource id for unpacked $pkey

4
ext/pcntl/README

@ -1,8 +1,8 @@
Process Control Module for PHP (pcntl) Process Control Module for PHP (pcntl)
This module will attempt to implement all features related to process spawning and This module will attempt to implement all features related to process spawning and
control (fork(), waitpid(), signal(), WIF's, etc). This is extremely experimental,
with hope to become stable on most UNIX's. I greatly apreciate any feedback, fixes,
control (fork(), waitpid(), signal(), WIF's, etc). This is extremely experimental,
with hope to become stable on most UNIX's. I greatly apreciate any feedback, fixes,
and or suggestions on how to improve/better implement and or suggestions on how to improve/better implement
this functionality. this functionality.

2
ext/pdo_firebird/config.w32

@ -6,7 +6,7 @@ if (PHP_PDO_FIREBIRD != "no") {
if ((CHECK_LIB("fbclient_ms.lib", "pdo_firebird", PHP_PHP_BUILD + "\\interbase\\lib_ms;" + PHP_PDO_FIREBIRD) if ((CHECK_LIB("fbclient_ms.lib", "pdo_firebird", PHP_PHP_BUILD + "\\interbase\\lib_ms;" + PHP_PDO_FIREBIRD)
|| CHECK_LIB("gds32_ms.lib", "pdo_firebird", PHP_PHP_BUILD + "\\interbase\\lib_ms;" + PHP_PDO_FIREBIRD) || CHECK_LIB("gds32_ms.lib", "pdo_firebird", PHP_PHP_BUILD + "\\interbase\\lib_ms;" + PHP_PDO_FIREBIRD)
) && CHECK_HEADER_ADD_INCLUDE("ibase.h", "CFLAGS_PDO_FIREBIRD",
) && CHECK_HEADER_ADD_INCLUDE("ibase.h", "CFLAGS_PDO_FIREBIRD",
PHP_PHP_BUILD + "\\include\\interbase;" + PHP_PHP_BUILD + "\\interbase\\include;" + PHP_PDO_FIREBIRD) PHP_PHP_BUILD + "\\include\\interbase;" + PHP_PHP_BUILD + "\\interbase\\include;" + PHP_PDO_FIREBIRD)
) { ) {

4
ext/pdo_mysql/get_error_codes.php

@ -15,7 +15,7 @@
fputs(STDERR, "input doesn't look like a MySQL sql_state.h file\n"); fputs(STDERR, "input doesn't look like a MySQL sql_state.h file\n");
exit(3); exit(3);
} }
echo "/* DO NOT EDIT THIS FILE!!! It is auto generated by get_error_codes.php */\n"; echo "/* DO NOT EDIT THIS FILE!!! It is auto generated by get_error_codes.php */\n";
foreach ($codes as $code => $state) { foreach ($codes as $code => $state) {
echo "#ifdef $code\n"; echo "#ifdef $code\n";
@ -23,5 +23,5 @@
echo "#endif\n"; echo "#endif\n";
} }
?> ?>

2
ext/pdo_oci/config.w32

@ -20,7 +20,7 @@ if (PHP_PDO_OCI != "no") {
pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib\\msvc;"; pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib\\msvc;";
pdo_oci_inc_paths += pdo_oci_dirs[i] + "\\include;"; pdo_oci_inc_paths += pdo_oci_dirs[i] + "\\include;";
} }
pdo_oci_inc_paths += PHP_PHP_BUILD + "\\include\\instantclient;" pdo_oci_inc_paths += PHP_PHP_BUILD + "\\include\\instantclient;"
pdo_oci_lib_paths += PHP_PHP_BUILD + "\\lib\\instantclient;"; pdo_oci_lib_paths += PHP_PHP_BUILD + "\\lib\\instantclient;";

2
ext/pdo_oci/package2.xml

@ -35,7 +35,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
You require Oracle OCI 8 or higher client libraries (instantclient is also You require Oracle OCI 8 or higher client libraries (instantclient is also
supported) installed on the machine where you intend to build and/or use this supported) installed on the machine where you intend to build and/or use this
package. package.
If you are running on windows, you can download the binary from here: If you are running on windows, you can download the binary from here:
http://pecl4win.php.net/ext.php/php_pdo_oci.dll http://pecl4win.php.net/ext.php/php_pdo_oci.dll
</notes> </notes>

2
ext/pdo_sqlite/config.w32

@ -4,7 +4,7 @@ ARG_WITH("pdo-sqlite", "for pdo_sqlite support", "no");
if (PHP_PDO_SQLITE != "no") { if (PHP_PDO_SQLITE != "no") {
EXTENSION("pdo_sqlite", "pdo_sqlite.c sqlite_driver.c sqlite_statement.c", null, "/DSQLITE_THREADSAFE=" + (PHP_ZTS == "yes" ? "1" : "0") + " /D SQLITE_ENABLE_FTS3=1 /D SQLITE_ENABLE_FTS4=1 /D SQLITE_ENABLE_FTS5=1 /D SQLITE_ENABLE_JSON1=1 /D SQLITE_ENABLE_COLUMN_METADATA=1 /D SQLITE_CORE=1 /I" + configure_module_dirname + "/../sqlite3/libsqlite /I" + configure_module_dirname); EXTENSION("pdo_sqlite", "pdo_sqlite.c sqlite_driver.c sqlite_statement.c", null, "/DSQLITE_THREADSAFE=" + (PHP_ZTS == "yes" ? "1" : "0") + " /D SQLITE_ENABLE_FTS3=1 /D SQLITE_ENABLE_FTS4=1 /D SQLITE_ENABLE_FTS5=1 /D SQLITE_ENABLE_JSON1=1 /D SQLITE_ENABLE_COLUMN_METADATA=1 /D SQLITE_CORE=1 /I" + configure_module_dirname + "/../sqlite3/libsqlite /I" + configure_module_dirname);
ADD_EXTENSION_DEP('pdo_sqlite', 'pdo'); ADD_EXTENSION_DEP('pdo_sqlite', 'pdo');
// If pdo_sqlite is static, and sqlite3 is also static, then we don't add a second copy of the sqlite3 libs // If pdo_sqlite is static, and sqlite3 is also static, then we don't add a second copy of the sqlite3 libs
if (PHP_PDO_SQLITE_SHARED || PHP_SQLITE3_SHARED || PHP_SQLITE3 == 'no') { if (PHP_PDO_SQLITE_SHARED || PHP_SQLITE3_SHARED || PHP_SQLITE3 == 'no') {

68
ext/pgsql/README

@ -1,27 +1,27 @@
==== About This Module === ==== About This Module ===
PostgreSQL module provides access to PostgreSQL server from
PostgreSQL module provides access to PostgreSQL server from
PHP script. This module uses PostgreSQL C client lib called libpq. PHP script. This module uses PostgreSQL C client lib called libpq.
It is important that you use libpq that is later than backend
(PostgreSQL Server) version. Otherwise, you may experience
strange problems.
It is important that you use libpq that is later than backend
(PostgreSQL Server) version. Otherwise, you may experience
strange problems.
Please send e-mail to yohgaki@php.net if you have comments for
Please send e-mail to yohgaki@php.net if you have comments for
pgsql module. I appreciate your feedback. pgsql module. I appreciate your feedback.
==== API Change === ==== API Change ===
Older PHP than 4.2.0, pg_loimport()/pg_loexport() connection
Older PHP than 4.2.0, pg_loimport()/pg_loexport() connection
parameter as last parameter, not like other functions. From 4.2.0, parameter as last parameter, not like other functions. From 4.2.0,
connection parameter became 1st parameter. Old syntax is preserved,
connection parameter became 1st parameter. Old syntax is preserved,
but it will raise NOTICE error message. but it will raise NOTICE error message.
pg_connect()/pg_pconnect() has obsolete multi parameter syntax. pg_connect()/pg_pconnect() has obsolete multi parameter syntax.
This syntax will be deleted in 4.3.0 or later. This syntax will be deleted in 4.3.0 or later.
Omitting connectin parameter is NOT recommended. Connection
Omitting connectin parameter is NOT recommended. Connection
parameter may be required for future PHP version. Specify connection parameter may be required for future PHP version. Specify connection
always if you don't want to rewrite code when it is changed. always if you don't want to rewrite code when it is changed.
==== Function Name Change ====
==== Function Name Change ====
Function names are going to be changed to confirm coding Function names are going to be changed to confirm coding
standard. MySQL module has been done this already. Function names will standard. MySQL module has been done this already. Function names will
be changed as follows. be changed as follows.
@ -29,8 +29,8 @@ be changed as follows.
pg_errormessage -> pg_error_message pg_errormessage -> pg_error_message
pg_cmdtuples -> pg_affected_rows pg_cmdtuples -> pg_affected_rows
pg_fieldnum -> pg_field_num pg_fieldnum -> pg_field_num
and so on. Except pg_cmdtuples, under scores '_' will be added to
names.
and so on. Except pg_cmdtuples, under scores '_' will be added to
names.
Older names will become aliases of new functions for backward Older names will become aliases of new functions for backward
compatibility. compatibility.
@ -39,14 +39,14 @@ Manual will be updated when this change is committed to CVS source.
==== Configure Option Notes ==== ==== Configure Option Notes ====
You cannot specify PostgreSQL source directly to build PostgreSQL You cannot specify PostgreSQL source directly to build PostgreSQL
module with specific version. You need to install PostgreSQL
module with specific version. You need to install PostgreSQL
somewhere in your system to build PHP with PostgreSQL support. somewhere in your system to build PHP with PostgreSQL support.
==== Note For PostgreSQL 7.2 ==== ==== Note For PostgreSQL 7.2 ====
I've tested up to 7.2.2. I've tested up to 7.2.2.
==== TODO List === ==== TODO List ===
Make pg_convert() smater.
Make pg_convert() smater.
- Better regex - Better regex
- User defiend type support - User defiend type support
Support async connection. Support async connection.
@ -57,7 +57,7 @@ WARNING: API/behavior may be changed without notice.
Async query can improve application performance Async query can improve application performance
*significantly*. Please test and report any failure to *significantly*. Please test and report any failure to
yohgaki@php.net
yohgaki@php.net
There are some cases that async functions blocks process. Even if There are some cases that async functions blocks process. Even if
process was blocked, functions work as expected. (except it blocks process was blocked, functions work as expected. (except it blocks
@ -65,13 +65,13 @@ process) These are cases that process is blocked. Refer to libpq
manual for details. Followings are common cases that async functions manual for details. Followings are common cases that async functions
are blocked. are blocked.
- If libpq is compile with USE_SSL, some async functions are
- If libpq is compile with USE_SSL, some async functions are
blocked. blocked.
- If libpq under Win32 is *NOT* compiled with
WIN32_NON_BLOCKING_CONNECTIONS, non-blocking connection will block.
- If libpq under Win32 is *NOT* compiled with
WIN32_NON_BLOCKING_CONNECTIONS, non-blocking connection will block.
Async function may also block if you have not retrive result and
send or execute query. If there is result left on connection,
Async function may also block if you have not retrive result and
send or execute query. If there is result left on connection,
pg_send_query() will block until last query is completed. pg_send_query() will block until last query is completed.
Garbages are cleaned when resource is cleaned up. There is no need to Garbages are cleaned when resource is cleaned up. There is no need to
@ -84,7 +84,7 @@ API may be changed.
NOTE: These functions are added in PHP 4.2.0 unless they are mentioned. NOTE: These functions are added in PHP 4.2.0 unless they are mentioned.
------------------------------------------------------------------- -------------------------------------------------------------------
bool pg_send_query(resource connection, string query)
bool pg_send_query(resource connection, string query)
Sends async query to backend. Result may be retrieved with Sends async query to backend. Result may be retrieved with
pg_get_result(). It does not accept multiple query, but it accepts pg_get_result(). It does not accept multiple query, but it accepts
@ -92,7 +92,7 @@ multiple queries at once. Each result may be retrieved separately by
pg_get_result(). pg_get_result().
-------------------------------------------------------------------- --------------------------------------------------------------------
bool pg_cancel_query(resource connection)
bool pg_cancel_query(resource connection)
Cancels currently executing async query already sent to PostgreSQL Cancels currently executing async query already sent to PostgreSQL
server. This function is useful when user request time consuming query server. This function is useful when user request time consuming query
@ -100,7 +100,7 @@ to server. It cannot cancel query executed by pg_exec(), since
pg_exec() is a blocking function. pg_exec() is a blocking function.
-------------------------------------------------------------------- --------------------------------------------------------------------
resource pg_get_result(resource conn)
resource pg_get_result(resource conn)
Gets pgsql query result resource. Returned value can be fed to Gets pgsql query result resource. Returned value can be fed to
pg_result()/pg_fetch_*(). pg_get_result() may block if result is not pg_result()/pg_fetch_*(). pg_get_result() may block if result is not
@ -112,7 +112,7 @@ in connection, it returns false.
-------------------------------------------------------------------- --------------------------------------------------------------------
bool pg_connection_busy(resource connection) bool pg_connection_busy(resource connection)
Returns connections is executing query or not.
Returns connections is executing query or not.
-------------------------------------------------------------------- --------------------------------------------------------------------
int pg_connection_status(resource connection) int pg_connection_status(resource connection)
@ -129,7 +129,7 @@ connection parameter. It's useful for error recovery.
-------------------------------------------------------------------- --------------------------------------------------------------------
string pg_result_error(resource result) string pg_result_error(resource result)
Get error message associated with result
Get error message associated with result
-------------------------------------------------------------------- --------------------------------------------------------------------
int pg_result_status(resource result) int pg_result_status(resource result)
@ -166,7 +166,7 @@ Large Object Functions
-------------------------------------------------------------------- --------------------------------------------------------------------
int pg_lo_tell(resource large_object) int pg_lo_tell(resource large_object)
Returns current position of large object
Returns current position of large object
-------------------------------------------------------------------- --------------------------------------------------------------------
bool pg_lo_lseek(resource large_object, int offset[, int whence]) bool pg_lo_lseek(resource large_object, int offset[, int whence])
@ -179,7 +179,7 @@ Notice message function
-------------------------------------------------------------------- --------------------------------------------------------------------
string pg_last_notice(resource connection) string pg_last_notice(resource connection)
Returns the last notice set by the backend
Returns the last notice set by the backend
This function is fully implemed in only in current CVS version. This function is fully implemed in only in current CVS version.
PHP 4.3.0 supposed to included fully implemented version. PHP 4.3.0 supposed to included fully implemented version.
@ -201,35 +201,35 @@ array pg_convert(resource db, string table, array values)
-------------------------------------------------------------------- --------------------------------------------------------------------
bool pg_insert(resource db, string table, array values[, bool convert[, bool async]]) bool pg_insert(resource db, string table, array values[, bool convert[, bool async]])
Insert values (filed=>value) to table
Insert values (filed=>value) to table
-------------------------------------------------------------------- --------------------------------------------------------------------
bool pg_update(resource db, string table, array fields, array ids[, bool convert[, bool async]]) bool pg_update(resource db, string table, array fields, array ids[, bool convert[, bool async]])
Update table using values (field=>value) and ids (id=>value)
Update table using values (field=>value) and ids (id=>value)
-------------------------------------------------------------------- --------------------------------------------------------------------
bool pg_delete(resource db, string table, array ids[, bool convert[, bool async]]) bool pg_delete(resource db, string table, array ids[, bool convert[, bool async]])
Delete records has ids (id=>value)
Delete records has ids (id=>value)
-------------------------------------------------------------------- --------------------------------------------------------------------
array pg_select(resource db, string table, array ids[, bool convert]) array pg_select(resource db, string table, array ids[, bool convert])
Select records that has ids (id=>value)
Select records that has ids (id=>value)
-------------------------------------------------------------------- --------------------------------------------------------------------
array pg_get_notify([resource db[, notify]]) array pg_get_notify([resource db[, notify]])
Get notify message on the connection
Get notify message on the connection
-------------------------------------------------------------------- --------------------------------------------------------------------
string pg_unescape_bytea(string bytea_data) string pg_unescape_bytea(string bytea_data)
Unescape bytea field data
Unescape bytea field data
-------------------------------------------------------------------- --------------------------------------------------------------------
bool pg_ping(resource db) bool pg_ping(resource db)
ping database connection and try to reset connection if it's ping database connection and try to reset connection if it's
broken
broken
------------------------------------------------------------------- -------------------------------------------------------------------
Again, experimental functions are subject to be changed without
Again, experimental functions are subject to be changed without
notice. notice.

14
ext/pgsql/mysql_users.php

@ -2,7 +2,7 @@
/* /*
* File: mysql_users.php * File: mysql_users.php
* Author: Yasuo Ohgaki <yohgaki@php.net> * Author: Yasuo Ohgaki <yohgaki@php.net>
*
*
* This file contains example user defined functions that does * This file contains example user defined functions that does
* similar to MySQL functions. They can be implemented as module * similar to MySQL functions. They can be implemented as module
* functions, but there won't be many users need them. * functions, but there won't be many users need them.
@ -12,11 +12,11 @@
/* /*
* mysql_list_dbs() * mysql_list_dbs()
*
* This function should be needed, since PostgreSQL connection
*
* This function should be needed, since PostgreSQL connection
* binds database. * binds database.
*/ */
function pg_list_dbs($db)
function pg_list_dbs($db)
{ {
assert(is_resource($db)); assert(is_resource($db));
$query = ' $query = '
@ -24,7 +24,7 @@ SELECT
d.datname as "Name", d.datname as "Name",
u.usename as "Owner", u.usename as "Owner",
pg_encoding_to_char(d.encoding) as "Encoding" pg_encoding_to_char(d.encoding) as "Encoding"
FROM
FROM
pg_database d LEFT JOIN pg_user u ON d.datdba = u.usesysid pg_database d LEFT JOIN pg_user u ON d.datdba = u.usesysid
ORDER BY 1; ORDER BY 1;
'; ';
@ -35,7 +35,7 @@ ORDER BY 1;
/* /*
* mysql_list_tables() * mysql_list_tables()
*/ */
function pg_list_tables($db)
function pg_list_tables($db)
{ {
assert(is_resource($db)); assert(is_resource($db));
$query = " $query = "
@ -58,7 +58,7 @@ ORDER BY 1;
* *
* See also pg_meta_data(). It returns field definition as array. * See also pg_meta_data(). It returns field definition as array.
*/ */
function pg_list_fields($db, $table)
function pg_list_fields($db, $table)
{ {
assert(is_resource($db)); assert(is_resource($db));
$query = " $query = "

12
ext/pgsql/tests/README

@ -1,15 +1,15 @@
Test scripts assumes:
Test scripts assumes:
- PostgreSQL server is installed locally - PostgreSQL server is installed locally
- there is a PostgreSQL account for the users running the test scripts - there is a PostgreSQL account for the users running the test scripts
- there is database named "test" - there is database named "test"
For instance, if your login name is 'testuser', you should have PostgreSQL
user account named 'testuser' and grant that user access to the database
For instance, if your login name is 'testuser', you should have PostgreSQL
user account named 'testuser' and grant that user access to the database
'test'. 'test'.
If you have account and database, type "createdb test" from command prompt
to create the database to execute the test scripts. By executing the above
command as the same user running the tests you ensure that the user is
If you have account and database, type "createdb test" from command prompt
to create the database to execute the test scripts. By executing the above
command as the same user running the tests you ensure that the user is
granted access to the database. granted access to the database.
If you find problems in PostgreSQL module, please mail to If you find problems in PostgreSQL module, please mail to

4
ext/phar/gdbhelp

@ -21,9 +21,9 @@ define ____print_pharht
set $temp = *(phar_archive_data*)$p->pDataPtr set $temp = *(phar_archive_data*)$p->pDataPtr
____print_str $temp.fname $temp.fname_len ____print_str $temp.fname $temp.fname_len
printf " => " printf " => "
if $arg1 == 0 if $arg1 == 0
printf "%i (alias ", $temp.refcount printf "%i (alias ", $temp.refcount
____print_str $temp.alias $temp.alias_len ____print_str $temp.alias $temp.alias_len
printf ")\n" printf ")\n"

14
ext/phar/phar.1.in

@ -11,7 +11,7 @@ file called a "phar" (PHP Archive) for easy distribution and installation.
.P .P
With the \fBphar\fP command you can create, update or extract PHP archives. With the \fBphar\fP command you can create, update or extract PHP archives.
.P .P
Commands:
Commands:
add compress delete extract help help-list info list meta-del add compress delete extract help help-list info list meta-del
meta-get meta-set pack sign stub-get stub-set tree version meta-get meta-set pack sign stub-get stub-set tree version
@ -39,7 +39,7 @@ Provide an \fIalias\fP name for the phar file.
.TP .TP
.PD .PD
.B \-c \fIalgo\fP .B \-c \fIalgo\fP
Compression algorithm (see
Compression algorithm (see
.SM .SM
.B COMPRESSION .B COMPRESSION
) )
@ -63,7 +63,7 @@ Required arguments:
.TP 15 .TP 15
.PD .PD
.B \-c \fIalgo\fP .B \-c \fIalgo\fP
Compression algorithm (see
Compression algorithm (see
.SM .SM
.B COMPRESSION .B COMPRESSION
) )
@ -280,14 +280,14 @@ The hash mark itself '#!' and the newline character are optional.
.TP .TP
.PD .PD
.B \-c \fIalgo\fP .B \-c \fIalgo\fP
Compression algorithm (see
Compression algorithm (see
.SM .SM
.B COMPRESSION .B COMPRESSION
) )
.TP .TP
.PD .PD
.B \-h \fIhash\fP .B \-h \fIhash\fP
Selects the \fIhash\fP algorithm (see
Selects the \fIhash\fP algorithm (see
.SM .SM
.B HASH .B HASH
) )
@ -336,7 +336,7 @@ Specifies the phar \fIfile\fP to work on.
.TP .TP
.PD .PD
.B \-h \fIhash\fP .B \-h \fIhash\fP
Selects the \fIhash\fP algorithm (see
Selects the \fIhash\fP algorithm (see
.SM .SM
.B HASH .B HASH
) )
@ -502,7 +502,7 @@ A List of active developers can be found here:
.B http://www.php.net/credits.php .B http://www.php.net/credits.php
.PD 1 .PD 1
.P .P
And last but not least PHP was developed with the help of a huge amount of
And last but not least PHP was developed with the help of a huge amount of
contributors all around the world. contributors all around the world.
.SH VERSION INFORMATION .SH VERSION INFORMATION
This manpage describes \fBphar\fP, version @PHP_VERSION@. This manpage describes \fBphar\fP, version @PHP_VERSION@.

2
ext/phar/shortarc.php

@ -127,7 +127,7 @@ class Extract_Phar
} while (strlen($last) && strlen($m) < $L[1]); } while (strlen($last) && strlen($m) < $L[1]);
if (strlen($m) < $L[1]) { if (strlen($m) < $L[1]) {
die('ERROR: manifest length read was "' .
die('ERROR: manifest length read was "' .
strlen($m) .'" should be "' . strlen($m) .'" should be "' .
$L[1] . '"'); $L[1] . '"');
} }

6
ext/pspell/README

@ -43,9 +43,9 @@ pspell_new() and specifying the custom dictionary as the first parameter.
The parameter probably should begin with '/' because otherwise it will The parameter probably should begin with '/' because otherwise it will
be relative to $HOME, which is probably set to "/root". This is probably not be relative to $HOME, which is probably set to "/root". This is probably not
what you want because you need write access for nobody to be able to write what you want because you need write access for nobody to be able to write
to a dictionary. Once the dictionary is open, you can use
pspell_add_to_personal() to add words to the wordlist and finally
pspell_save_wordlist() to save it.
to a dictionary. Once the dictionary is open, you can use
pspell_add_to_personal() to add words to the wordlist and finally
pspell_save_wordlist() to save it.
Note that at this moment pspell_save_wordlist() will return TRUE, even if Note that at this moment pspell_save_wordlist() will return TRUE, even if
there was an error. This will be changed once pspell library is fixed. there was an error. This will be changed once pspell library is fixed.

2
ext/session/mod_files.bat

@ -8,7 +8,7 @@ IF _%1_==_AUTO_ (
IF _%2_==__ ( IF _%2_==__ (
ECHO Usage %0 ^<basedir^> ^<depth^> ^[^hash_bits^] ECHO Usage %0 ^<basedir^> ^<depth^> ^[^hash_bits^]
ECHO. ECHO.
ECHO Where ^<basedir^> is the session directory
ECHO Where ^<basedir^> is the session directory
ECHO ^<depth^> is the number of levels defined in session.save_path ECHO ^<depth^> is the number of levels defined in session.save_path
ECHO ^[hash_bits^] is the number of bits defined in session.hash_bits_per_character ECHO ^[hash_bits^] is the number of bits defined in session.hash_bits_per_character
EXIT /B 1 EXIT /B 1

34
ext/shmop/README

@ -9,32 +9,32 @@ Shared Memory Operations Extension to PHP
offers high level features which are extremely bothersome for basic SHM offers high level features which are extremely bothersome for basic SHM
we had in mind. After spending a day trying to reverse engineer and figure we had in mind. After spending a day trying to reverse engineer and figure
out the format of sysvshm we decided that it would be much easier to out the format of sysvshm we decided that it would be much easier to
add our own extension to php for simple SHM operations, we were right :)).
add our own extension to php for simple SHM operations, we were right :)).
the functions are: the functions are:
int shmop_open(int key, string flags, int mode, int size) int shmop_open(int key, string flags, int mode, int size)
key - the key of/for the shared memory block key - the key of/for the shared memory block
flags - 4 flags are avalible
flags - 4 flags are avalible
a for read only access (sets SHM_RDONLY) a for read only access (sets SHM_RDONLY)
w for read & write access w for read & write access
c create or open an existing segment (sets IPC_CREATE) c create or open an existing segment (sets IPC_CREATE)
n create a new segment and fail if one already exists under same name (sets IPC_CREATE|IPC_EXCL) n create a new segment and fail if one already exists under same name (sets IPC_CREATE|IPC_EXCL)
(the n flag is mostly useful for security perpouses, so that you don't end up opening a faked segment
(the n flag is mostly useful for security perpouses, so that you don't end up opening a faked segment
if someone guesses your key) if someone guesses your key)
mode - acsess mode same as for a file (0644) for example mode - acsess mode same as for a file (0644) for example
size - size of the block in bytes size - size of the block in bytes
returns an identifier returns an identifier
char shmop_read(int shmid, int start, int count) char shmop_read(int shmid, int start, int count)
shmid - shmid from which to read shmid - shmid from which to read
start - offset from which to start reading start - offset from which to start reading
count - how many bytes to read count - how many bytes to read
returns the data read returns the data read
int shmop_write(int shmid, string data, int offset) int shmop_write(int shmid, string data, int offset)
@ -42,28 +42,28 @@ int shmop_write(int shmid, string data, int offset)
shmid - shmid from which to read shmid - shmid from which to read
data - string to put into shared memory data - string to put into shared memory
offset - offset in shm to write from offset - offset in shm to write from
returns bytes written returns bytes written
int shmop_size(int shmid) int shmop_size(int shmid)
shmid - shmid for which to return the size shmid - shmid for which to return the size
returns the size in bytes of the shm segment returns the size in bytes of the shm segment
int shmop_delete(int shmid) int shmop_delete(int shmid)
marks the segment for deletion, the segment will be deleted when all processes mapping it will detach marks the segment for deletion, the segment will be deleted when all processes mapping it will detach
shmid - shmid which to mark for deletion shmid - shmid which to mark for deletion
returns 1 if all ok, zero on failure returns 1 if all ok, zero on failure
int shmop_close(int shmid) int shmop_close(int shmid)
shmid - shmid which to close shmid - shmid which to close
returns zero returns zero

6
ext/simplexml/README

@ -8,12 +8,12 @@ SimpleXML objects follow four basic rules:
4) string conversion allows to access TEXT data 4) string conversion allows to access TEXT data
When iterating properties then the extension always iterates over When iterating properties then the extension always iterates over
all nodes with that element name. Thus method children() must be
all nodes with that element name. Thus method children() must be
called to iterate over subnodes. But also doing the following: called to iterate over subnodes. But also doing the following:
foreach ($obj->node_name as $elem) { foreach ($obj->node_name as $elem) {
// do something with $elem // do something with $elem
} }
always results in iteration of 'node_name' elements. So no further
always results in iteration of 'node_name' elements. So no further
check is needed to distinguish the number of nodes of that type. check is needed to distinguish the number of nodes of that type.
When an elements TEXT data is being accessed through a property When an elements TEXT data is being accessed through a property
@ -29,6 +29,6 @@ TODO
==== ====
At the moment property access to multiple elements of the same At the moment property access to multiple elements of the same
name returns an array of SimpleXML objects. This should be an
name returns an array of SimpleXML objects. This should be an
object of a new type instead so that all kinds of linkage, object of a new type instead so that all kinds of linkage,
assignment and deleting would work. assignment and deleting would work.

2
ext/simplexml/tests/sxe.xml

@ -14,4 +14,4 @@
</elem3> </elem3>
</elem2> </elem2>
</elem1> </elem1>
</sxe>
</sxe>

2
ext/simplexml/tests/sxe私はガラスを食べられます.xml

@ -14,4 +14,4 @@
</elem3> </elem3>
</elem2> </elem2>
</elem1> </elem1>
</sxe>
</sxe>

2
ext/skeleton/config.m4.in

@ -61,7 +61,7 @@ if test "$PHP_%EXTNAMECAPS%" != "no"; then
dnl # --with-%EXTNAME% -> check for lib and symbol presence dnl # --with-%EXTNAME% -> check for lib and symbol presence
dnl LIBNAME=%EXTNAMECAPS% # you may want to change this dnl LIBNAME=%EXTNAMECAPS% # you may want to change this
dnl LIBSYMBOL=%EXTNAMECAPS% # you most likely want to change this
dnl LIBSYMBOL=%EXTNAMECAPS% # you most likely want to change this
dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL, dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
dnl [ dnl [

2
ext/snmp/tests/README

@ -31,7 +31,7 @@ On Linux/FreeBSD
- Install package net-snmpd (name may differ based on your distribution). - Install package net-snmpd (name may differ based on your distribution).
- Replace config file (by default this is /etc/snmp/snmpd.conf on Linux and - Replace config file (by default this is /etc/snmp/snmpd.conf on Linux and
/usr/local/etc/snmp/snmpd.conf on FreeBSD) with snmpd.conf supplied. /usr/local/etc/snmp/snmpd.conf on FreeBSD) with snmpd.conf supplied.
Before launching daemon make sure that there is no file /var/net-snmp/snmpd.conf Before launching daemon make sure that there is no file /var/net-snmp/snmpd.conf
Delete it if exists. Ingoring to to so will fail SNMPv3 tests. Delete it if exists. Ingoring to to so will fail SNMPv3 tests.

8
ext/soap/interop/client_round2_interop.php

@ -198,7 +198,7 @@ class Interop_Client
} else } else
if (!$all) $sql .= "where status=1"; if (!$all) $sql .= "where status=1";
$sql .= " order by endpointName"; $sql .= " order by endpointName";
$db_ep = $this->dbc->getAll($sql,NULL, DB_FETCHMODE_ASSOC ); $db_ep = $this->dbc->getAll($sql,NULL, DB_FETCHMODE_ASSOC );
if (DB::isError($db_ep)) { if (DB::isError($db_ep)) {
@ -261,7 +261,7 @@ class Interop_Client
$success = $result['fault']->faultcode; $success = $result['fault']->faultcode;
$pos = strpos($success,':'); $pos = strpos($success,':');
if ($pos !== false) { if ($pos !== false) {
$success = substr($success,$pos+1);
$success = substr($success,$pos+1);
} }
$error = $result['fault']->faultstring; $error = $result['fault']->faultstring;
if (!$wire) $wire= $result['fault']->detail; if (!$wire) $wire= $result['fault']->detail;
@ -450,7 +450,7 @@ try {
// compare header results // compare header results
$headers_ok = TRUE; $headers_ok = TRUE;
if ($soap_test->headers || $soap_test->headers_expect) { if ($soap_test->headers || $soap_test->headers_expect) {
$headers_ok = $this->compareResult($soap_test->headers_expect, $result_headers);
$headers_ok = $this->compareResult($soap_test->headers_expect, $result_headers);
} }
# we need to decode what we sent so we can compare! # we need to decode what we sent so we can compare!
@ -512,7 +512,7 @@ try {
$res =$fault->faultcode; $res =$fault->faultcode;
$pos = strpos($res,':'); $pos = strpos($res,':');
if ($pos !== false) { if ($pos !== false) {
$res = substr($res,$pos+1);
$res = substr($res,$pos+1);
} }
} }
// save the wire // save the wire

2
ext/soap/interop/client_round2_params.php

@ -106,7 +106,7 @@ class SOAP_Test {
$res = $fault->faultcode; $res = $fault->faultcode;
$pos = strpos($res,':'); $pos = strpos($res,':');
if ($pos !== false) { if ($pos !== false) {
$res = substr($res,$pos+1);
$res = substr($res,$pos+1);
} }
if ($html) { if ($html) {
print "<font color=\"#ff0000\">FAILED: [$res] {$fault->faultstring}</font>\n"; print "<font color=\"#ff0000\">FAILED: [$res] {$fault->faultstring}</font>\n";

4
ext/spl/README

@ -1,7 +1,7 @@
This is an extension that aims to implement some efficient data access
This is an extension that aims to implement some efficient data access
interfaces and classes. You'll find the classes documented using php interfaces and classes. You'll find the classes documented using php
code in the file spl.php or in the corresponding .inc file in the examples code in the file spl.php or in the corresponding .inc file in the examples
subdirectory. Based on the internal implementations or the files in the
subdirectory. Based on the internal implementations or the files in the
examples subdirectory there are also some .php files to experiment with. examples subdirectory there are also some .php files to experiment with.
For more information look at: http://php.net/manual/en/book.spl.php For more information look at: http://php.net/manual/en/book.spl.php

2
ext/spl/examples/dba_array.php

@ -11,7 +11,7 @@
* If \<value\> is specified then \<key\> is set to \<value\> in \<file\>. * If \<value\> is specified then \<key\> is set to \<value\> in \<file\>.
* Else the value of \<key\> is printed only. * Else the value of \<key\> is printed only.
* *
* Note: configure with --enable-dba
* Note: configure with --enable-dba
*/ */
if ($argc < 4) { if ($argc < 4) {

2
ext/spl/examples/dba_dump.php

@ -11,7 +11,7 @@
* Show all groups in the ini file specified by \<file\>. * Show all groups in the ini file specified by \<file\>.
* The regular expression \<regex\> is used to filter the by setting name. * The regular expression \<regex\> is used to filter the by setting name.
* *
* Note: configure with --enable-dba
* Note: configure with --enable-dba
*/ */
if ($argc < 3) { if ($argc < 3) {

4
ext/spl/examples/findregex.php

@ -1,5 +1,5 @@
<?php <?php
/** @file findregex.php /** @file findregex.php
* @brief Program Find a specific file by name. * @brief Program Find a specific file by name.
* @ingroup Examples * @ingroup Examples
@ -33,4 +33,4 @@ foreach(new RegexFindFile($argv[1], $argv[2]) as $file)
echo $file->getPathname()."\n"; echo $file->getPathname()."\n";
} }
?>
?>

2
ext/spl/examples/ini_groups.php

@ -11,7 +11,7 @@
* Show all groups in the ini file specified by \<file\>. * Show all groups in the ini file specified by \<file\>.
* The regular expression \<regex\> is used to filter the result. * The regular expression \<regex\> is used to filter the result.
* *
* Note: configure with --enable-dba
* Note: configure with --enable-dba
*/ */
if ($argc < 2) { if ($argc < 2) {

2
ext/spl/examples/phar_from_dir.php

@ -9,7 +9,7 @@
* *
* Usage: php phar_create_from_dir.php \<archive\> \<directory\> [\<regex\>] * Usage: php phar_create_from_dir.php \<archive\> \<directory\> [\<regex\>]
* *
* Create phar archive \<archive\> using entries from \<directory\> that
* Create phar archive \<archive\> using entries from \<directory\> that
* optionally match \<regex\>. * optionally match \<regex\>.
*/ */

4064
ext/standard/html_tables/ents_html5.txt
File diff suppressed because it is too large
View File

30
ext/standard/html_tables/html_table_gen.php

@ -188,10 +188,10 @@ foreach ($encodings as $e) {
if (preg_match("/^0x([0-9A-Z]{2})\t0x([0-9A-Z]{2,})/i", $l, $matches)) if (preg_match("/^0x([0-9A-Z]{2})\t0x([0-9A-Z]{2,})/i", $l, $matches))
$map[] = array($matches[1], $matches[2]); $map[] = array($matches[1], $matches[2]);
} }
$mappy = array(); $mappy = array();
foreach ($map as $v) { $mappy[hexdec($v[0])] = hexdec($v[1]); } foreach ($map as $v) { $mappy[hexdec($v[0])] = hexdec($v[1]); }
$mstable = array("ident" => $e['ident']); $mstable = array("ident" => $e['ident']);
/* calculate two-stage tables */ /* calculate two-stage tables */
for ($i = 0; $i < 4; $i++) { for ($i = 0; $i < 4; $i++) {
@ -200,7 +200,7 @@ foreach ($encodings as $e) {
$mstable[$i][$j] = isset($mappy[$cp]) ? $mappy[$cp] : NULL; $mstable[$i][$j] = isset($mappy[$cp]) ? $mappy[$cp] : NULL;
} }
} }
echo echo
"/* {{{ Stage 2 tables for {$e['name']} */\n\n"; "/* {{{ Stage 2 tables for {$e['name']} */\n\n";
@ -210,9 +210,9 @@ foreach ($encodings as $e) {
$s2tables_idents[$i] = $encodings[$t[0]/5]["ident"]; $s2tables_idents[$i] = $encodings[$t[0]/5]["ident"];
continue; continue;
} }
$s2tables_idents[$i] = $e["ident"]; $s2tables_idents[$i] = $e["ident"];
echo "static const enc_to_uni_stage2 enc_to_uni_s2_{$e['ident']}_". echo "static const enc_to_uni_stage2 enc_to_uni_s2_{$e['ident']}_".
sprintf("%02X", $i << 6)." = { {\n"; sprintf("%02X", $i << 6)." = { {\n";
for ($j = 0; $j < 64; $j++) { for ($j = 0; $j < 64; $j++) {
@ -225,10 +225,10 @@ foreach ($encodings as $e) {
echo "0xFFFF,"; /* special value; indicates no mapping */ echo "0xFFFF,"; /* special value; indicates no mapping */
} }
echo "\n} };\n\n"; echo "\n} };\n\n";
$prevStage2[] = $mstable[$i]; $prevStage2[] = $mstable[$i];
} }
echo echo
"/* end of stage 2 tables for {$e['name']} }}} */\n\n"; "/* end of stage 2 tables for {$e['name']} }}} */\n\n";
@ -331,23 +331,23 @@ foreach ($encodings as $e) {
if (preg_match("/^0x([0-9A-Z]{2})\t0x([0-9A-Z]{2,})\s+#\s*(.*)$/i", $l, $matches)) if (preg_match("/^0x([0-9A-Z]{2})\t0x([0-9A-Z]{2,})\s+#\s*(.*)$/i", $l, $matches))
$map[] = array($matches[1], $matches[2], rtrim($matches[3])); $map[] = array($matches[1], $matches[2], rtrim($matches[3]));
} }
$mappy = array(); $mappy = array();
foreach ($map as $v) { foreach ($map as $v) {
if (hexdec($v[0]) >= $e['range'][0] && hexdec($v[0]) <= $e['range'][1]) if (hexdec($v[0]) >= $e['range'][0] && hexdec($v[0]) <= $e['range'][1])
$mappy[hexdec($v[1])] = array(hexdec($v[0]), strtolower($v[2])); $mappy[hexdec($v[1])] = array(hexdec($v[0]), strtolower($v[2]));
} }
ksort($mappy); ksort($mappy);
echo echo
"static const uni_to_enc unimap_{$e['ident']}[] = {\n"; "static const uni_to_enc unimap_{$e['ident']}[] = {\n";
foreach ($mappy as $k => $v) { foreach ($mappy as $k => $v) {
echo "\t{ ", sprintf("0x%04X", $k), ", ", sprintf("0x%02X", $v[0]), " },\t/* ", echo "\t{ ", sprintf("0x%04X", $k), ", ", sprintf("0x%02X", $v[0]), " },\t/* ",
$v[1], " */\n"; $v[1], " */\n";
} }
echo "};\n"; echo "};\n";
echo echo
"/* {{{ end of mappings *from* Unicode for {$e['name']} */\n\n"; "/* {{{ end of mappings *from* Unicode for {$e['name']} */\n\n";
} }
@ -474,7 +474,7 @@ foreach ($multicp_rows as $k => $v) {
$v['default'] = "gt"; $v['default'] = "gt";
echo "\t{ {", sprintf("\"%-21s", $v["default"].'",'), echo "\t{ {", sprintf("\"%-21s", $v["default"].'",'),
"\t", sprintf("%02d", (count($v) - 1)), ",\t\t", "\t", sprintf("%02d", (count($v) - 1)), ",\t\t",
sprintf("% 2d", strlen($v["default"])), '} },', "\n";
sprintf("% 2d", strlen($v["default"])), '} },', "\n";
} else { } else {
echo "\t{ {", sprintf("%-22s", 'NULL,'), echo "\t{ {", sprintf("%-22s", 'NULL,'),
"\t", sprintf("%02d", count($v)), ",\t\t0} },\n"; "\t", sprintf("%02d", count($v)), ",\t\t0} },\n";
@ -482,7 +482,7 @@ foreach ($multicp_rows as $k => $v) {
unset($v["default"]); unset($v["default"]);
foreach ($v as $l => $w) { foreach ($v as $l => $w) {
echo "\t{ {", sprintf("\"%-21s", $w.'",'), "\t", sprintf("0x%05s", $l), ",\t", echo "\t{ {", sprintf("\"%-21s", $w.'",'), "\t", sprintf("0x%05s", $l), ",\t",
sprintf("% 2d", strlen($w)), '} },', "\n";
sprintf("% 2d", strlen($w)), '} },', "\n";
} }
echo "};\n"; echo "};\n";
} }
@ -559,7 +559,7 @@ for ($i = 0; $i < 0x1E; $i++) {
else else
echo "{1, { {(void *)", sprintf("multi_cp_{$ident}_%05X", echo "{1, { {(void *)", sprintf("multi_cp_{$ident}_%05X",
($i << 12) | ($k << 6) | $y ), ", 0} } },"; ($i << 12) | ($k << 6) | $y ), ", 0} } },";
} }
echo "\n};\n\n"; echo "\n};\n\n";
} }
@ -683,7 +683,7 @@ echo
// die("violated assumption for traverse_for_entities"); // die("violated assumption for traverse_for_entities");
// } // }
// } // }
//
//
// $k++; // $k++;
//} //}
//echo "\n};\n\n"; //echo "\n};\n\n";

2
ext/standard/strnatcmp.c

@ -144,7 +144,7 @@ PHPAPI int strnatcmp_ex(char const *a, size_t a_len, char const *b, size_t b_len
else if (ap == aend) else if (ap == aend)
return -1; return -1;
else if (bp == bend) else if (bp == bend)
return 1;
return 1;
else { else {
/* Keep on comparing from the current point. */ /* Keep on comparing from the current point. */
ca = *ap; cb = *bp; ca = *ap; cb = *bp;

2
ext/standard/tests/ini_info/scandir/0.ini

@ -1,4 +1,4 @@
; This file is named 0.ini so it should be the first line of
; This file is named 0.ini so it should be the first line of
; any scanned ini output ; any scanned ini output
date.timezone = Antarctica/McMurdo date.timezone = Antarctica/McMurdo

4
ext/xmlreader/README

@ -1,5 +1,5 @@
XMLReader represents a reader that provides non-cached,
forward-only access to XML data. It is based upon the
XMLReader represents a reader that provides non-cached,
forward-only access to XML data. It is based upon the
xmlTextReader api from libxml xmlTextReader api from libxml
This extension is designed to only work under PHP 5+. This extension is designed to only work under PHP 5+.

6
ext/xmlrpc/EXPERIMENTAL

@ -1,5 +1,5 @@
this extension is experimental, this extension is experimental,
its functions may change their names
or move to extension all together
so do not rely to much on them
its functions may change their names
or move to extension all together
so do not rely to much on them
you have been warned! you have been warned!

2
ext/xmlrpc/libxmlrpc/xmlrpc.m4

@ -1,4 +1,4 @@
AC_DEFUN([XMLRPC_CHECKS],[
AC_DEFUN([XMLRPC_CHECKS],[
AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_PROG_LN_S]) AC_REQUIRE([AC_PROG_LN_S])

2
ext/xsl/config.w32

@ -40,7 +40,7 @@ if (PHP_XSL != "no") {
ADD_FLAG("LDFLAGS_XSL", "/nodefaultlib:msvcrt"); ADD_FLAG("LDFLAGS_XSL", "/nodefaultlib:msvcrt");
} }
} }
} else { } else {
WARNING("xsl not enabled; libraries and headers not found"); WARNING("xsl not enabled; libraries and headers not found");
} }

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save