History log of /PHP-7.3/main/php.h
Revision Date Author Comments
# 9afce019 01-Nov-2018 Zeev Suraski <zeev@php.net>

Future-proof email addresses

# 144e8d1f 31-Jul-2018 Christoph M. Becker <cmbecker69@gmx.de>

Update API version numbers

These are supposed to be final now for PHP 7.3.

# 8d3f8ca1 03-Jul-2018 Peter Kokot <peterkokot@gmail.com>

Remove unused Git attributes ident

The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.

# a5748cab 14-Jun-2018 Michael Moravec <me@majkl.me>

Bump extension, module and PHP API numbers for 7.3

# df4edde8 23-Jan-2018 Sara Golemon <pollita@php.net>

Remove padding just merged since 7.3 isn't released yet.

Also bump PHP_API_VERSION since the struct size has changed.

# a6519d05 01-Jan-2018 Xinchen Hui <laruence@gmail.com>


# 7a7ec01a 01-Jan-2018 Xinchen Hui <laruence@gmail.com>


# ccd4716e 01-Jan-2018 Xinchen Hui <laruence@gmail.com>


# c136fda1 30-Nov-2017 Javier Eguiluz <javier.eguiluz@gmail.com>

Fixed a typo

# bfdd22a3 19-Jul-2017 Kalle Sommer Nielsen <kalle@php.net>

Remove old references to SAPIs and extensions no longer in the core

# 05ff0c51 18-Jul-2017 Sara Golemon <pollita@php.net>

Bump all API numbers in prep for 7.2 fork

# 3de82a03 15-Jul-2017 Sara Golemon <pollita@php.net>

Provide zend_string wrappers for php_base64_(en|de)code

Also pull existing php_base64_decode() proxy out to an inline.
Bump PHP_API_VERSION for ABI change.

# 205807f6 25-Jun-2017 Nikita Popov <nikita.ppv@gmail.com>

Move va_copy compatibility code into zend_portability.h

Previously this was defined in zend.c and php.h and also handled
in another way in soap.c.

# a251d9b2 14-Jun-2017 Kalle Sommer Nielsen <kalle@php.net>

Change PHP_OS_FAMILY to "Darwin" instead of "Mac" for Darwin based systems (as suggested by Davey)

# 362d2e42 13-Jun-2017 Sebastian Bergmann <sb@sebastian-bergmann.de>

Use "Mac" instead of "OSX" to identify macOS in PHP_OS_FAMILY

# d65459f4 10-Apr-2017 Xinchen Hui <laruence@gmail.com>

another place

# d2923ec1 10-Apr-2017 Xinchen Hui <laruence@gmail.com>

Fixed issue #2466 Invalid integer constant expression error in php.h

# 65afcf81 19-Mar-2017 Anatol Belski <ab@php.net>

use extra flag to turn on php implementations

# 5d5679c4 19-Mar-2017 Anatol Belski <ab@php.net>

define corresponding config macros, as we already trick symbols

# db982bba 22-Feb-2017 Kalle Sommer Nielsen <kalle@php.net>

Fix PHP_OS_FAMILY for Linux (Joe)

# f9959ee7 21-Feb-2017 Kalle Sommer Nielsen <kalle@php.net>

Change PHP_OS_FAMILY slightly

* PHP_OS_FAMILY is now a macro, to allow extensions to take advantage of it, it is defined in php.h
* Values are not upper-case-first, not always uppercase. Windows is no longer just "Win", if we want the short version for testing then PHP_OS is always WINNT anyway

# dac6c639 04-Jan-2017 Sammy Kaye Powers <sammyk@sammykmedia.com>

Update copyright headers to 2017

# 478f119a 04-Jan-2017 Sammy Kaye Powers <sammyk@sammykmedia.com>

Update copyright headers to 2017

# 9e29f841 02-Jan-2017 Sammy Kaye Powers <sammyk@sammykmedia.com>

Update copyright headers to 2017

# d4831e2d 22-Dec-2016 Kalle Sommer Nielsen <kalle@php.net>

Eliminate win95nt.h

- Most of this is builtin php.h now
- Removed some dead defines
- We now pass /D _USE_MATH_DEFINES for M_PI etc

# 2104bea5 12-Nov-2016 Kalle Sommer Nielsen <kalle@php.net>

Remove Netware support

If this does not break the Unix system somehow, I'll be amazed. This should get most of it out, apologies for any errors this may cause on non-Windows ends which I cannot test atm.

# 1ece7641 15-Oct-2016 David Carlier <devnexen@gmail.com>

let s use the macro instead

# 2464dbd5 15-Oct-2016 David Carlier <devnexen@gmail.com>

import explicit_bzero + strlc* functions update
since 1999 algorithms have changed and register k/w
not necessary anymore.

# 69f0d3df 04-Sep-2016 Nikita Popov <nikic@php.net>


# 845f66ba 02-Aug-2016 Anatol Belski <ab@php.net>

increase versions for 7.2

# 3f13507d 26-Jun-2016 Jakub Zelenka <bukka@php.net>

Use one place to define max length of double

Introduce new constant PHP_DOUBLE_MAX_LENGTH for that purpose

# 3d3f11ed 20-Jun-2016 Anatol Belski <ab@php.net>

Fixed the UTF-8 and long path support in the streams on Windows.

Since long the default PHP charset is UTF-8, however the Windows part is
out of step with this important point. The current implementation in PHP
doesn't technically permit to handle UTF-8 filepath and several other
things. Till now, only the ANSI compatible APIs are being used. Here is more
about it


The patch fixes not only issues with multibyte filenames under
incompatible codepages, but indirectly also issues with some other multibyte
encodings like BIG5, Shift-JIS, etc. by providing a clean way to access
filenames in UTF-8. Below is a small list of issues from the bug tracker,
that are getting fixed:


Yet more related tickets can for sure be found - on bugs.php.net, Stackoverflow
and Github. Some of the bugs are pretty recent, some descend to early
2000th, but the user comments in there last even till today. Just for example,
bug #30195 was opened in 2004, the latest comment in there was made in 2014. It
is certain, that these bugs descend not only to pure PHP use cases, but get also
redirected from the popular PHP based projects. Given the modern systems (and
those supported by PHP) are always based on NTFS, there is no excuse to keep
these issues unresolved.

The internalization approach on Windows is in many ways different from
UNIX and Linux, while it supports and is based on Unicode. It depends on the
current system code page, APIs used and exact kind how the binary was compiled
The locale doesn't affect the way Unicode or ANSI API work. PHP in particular
is being compiled without _UNICODE defined and this is conditioned by the
way we handle strings. Here is more about it


However, with any system code page ANSI functions automatically convert
paths to UTF-16. Paths in some encodings incompatible with the
current system code page, won't work correctly with ANSI APIs. PHP
till now only uses the ANSI Windows APIs.

For example, on a system with the current code page 1252, the paths
in cp1252 are supported and transparently converted to UTF-16 by the
ANSI functions. Once one wants to handle a filepath encoded with cp932 on
that particular system, an ANSI or a POSIX compatible function used in
PHP will produce an erroneous result. When trying to convert that cp932 path
to UTF-8 and passing to the ANSI functions, an ANSI function would
likely interpret the UTF-8 string as some string in the current code page and
create a filepath that represents every single byte of the UTF-8 string.
These behaviors are not only broken but also disregard the documented
INI settings.

This patch solves the issies with the multibyte paths on Windows by
intelligently enforcing the usage of the Unicode aware APIs. For
functions expect Unicode (fe CreateFileW, FindFirstFileW, etc.), arguments
will be converted to UTF-16 wide chars. For functions returning Unicode
aware data (fe GetCurrentDirectoryW, etc.), resulting wide string is
converted back to char's depending on the current PHP charset settings,
either to the current ANSI codepage (this is the behavior prior to this patch)
or to UTF-8 (the default behavior).

In a particular case, users might have to explicitly set
internal_encoding or default_charset, if filenames in ANSI codepage are
necessary. Current tests show no regressions and witness that this will be an
exotic case, the current default UTF-8 encoding is compatible with any
supported system. The dependency libraries are long switching to Unicode APIs,
so some tests were also added for extensions not directly related to streams.
At large, the patch brings over 150 related tests into the core. Those target
and was run on various environments with European, Asian, etc. codepages.
General PHP frameworks was tested and showed no regressions.

The impact on the current C code base is low, the most places affected
are the Windows only places in the three files tsrm_win32.c, zend_virtual_cwd.c
and plain_wrapper.c. The actual implementation of the most of the wide
char supporting functionality is in win32/ioutil.* and win32/codepage.*,
several low level functionsare extended in place to avoid reimplementation for
now. No performance impact was sighted. As previously mentioned, the ANSI APIs
used prior the patch perform Unicode conversions internally. Using the
Unicode APIs directly while doing custom conversions just retains the status
quo. The ways to optimize it are open (fe. by implementing caching for the
strings converted to wide variants).

The long path implementation is user transparent. If a path exceeds the
length of _MAX_PATH, it'll be automatically prefixed with \\?\. The MAXPATHLEN
is set to 2048 bytes.

Appreciation to Pierre Joye, Matt Ficken, @algo13 and others for tips, ideas
and testing.


# d2bc8258 08-Jun-2016 Anatol Belski <ab@php.net>

fix php_log_err macro

# 73fd1fc6 02-Jun-2016 Anatol Belski <ab@php.net>

fix typo

# 0a04f614 06-Apr-2016 Jani Ollikainen <jani.ollikainen@valve.fi>

Added backwards compability with php_log_err by using macro

# 3edf7d96 28-Dec-2015 Jani Ollikainen <jani.ollikainen@valve.fi>

Logging to syslog with dynamic error levels (related to #49467)

# 59833783 14-Feb-2016 Nikita Popov <nikic@php.net>

Fix format attributes in ZTS

# af66ad28 04-Feb-2016 Nikita Popov <nikic@php.net>

Remove use of register keyword in headers

Headers must be C++ compatible -- this throws warnings.

The register keyword is not used for optimization, at least not
in optimized builds.

# 49493a2d 01-Jan-2016 Lior Kaplan <kaplanlior@gmail.com>

Happy new year (Update copyright to 2016)

# dcbbf7c3 12-Oct-2015 Anatol Belski <ab@php.net>

increase API versions

# 96ea4a0a 24-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Mark error functions as "cold"

# c568ffe5 16-Jul-2015 Nikita Popov <nikic@php.net>

Ignore getcwd return in zend_compile

To do this move the php_ignore_value macro to ZEND_IGNORE_VALUE.

# fc33f52d 15-Jan-2015 Xinchen Hui <laruence@php.net>

bump year

# 0579e827 15-Jan-2015 Xinchen Hui <laruence@php.net>

bump year

# 73c1be26 15-Jan-2015 Xinchen Hui <laruence@php.net>

Bump year

# 2193de0d 14-Jan-2015 Xinchen Hui <laruence@gmail.com>

Faster sorting algo

# b7a7b1a6 03-Jan-2015 Stanislav Malyshev <stas@php.net>

trailing whitespace removal

# bdeb220f 13-Dec-2014 Anatol Belski <ab@php.net>

first shot remove TSRMLS_* things

# d11734b4 25-Sep-2014 Anatol Belski <ab@php.net>

reworked the patch, less new stuff but worky

TLS is already used in TSRM, the way exporting the tsrm cache through
a thread local variable is not portable. Additionally, the current
patch suffers from bugs which are hard to find, but prevent it to
be worky with apache. What is done here is mainly uses the idea
from the RFC patch, but

- __thread variable is removed
- offset math and declarations are removed
- extra macros and definitions are removed

What is done merely is

- use an inline function to access the tsrm cache. The function uses
the portable tsrm_tls_get macro which is cheap
- all the TSRM_* macros are set to placebo. Thus this opens the way
remove them later

Except that, the logic is old. TSRMLS_FETCH will have to be done once
per thread, then tsrm_get_ls_cache() can be used. Things seeming to be
worky are cli, cli server and apache. I also tried to enable bz2
shared and it has worked out of the box. The change is yet minimal
diffing to the current master bus is a worky start, IMHO. Though will
have to recheck the other previously done SAPIs - embed and cgi.

The offsets can be added to the tsrm_resource_type struct, then
it'll not be needed to declare them in the userspace. Even the
"done" member type can be changed to int16 or smaller, then adding
the offset as int16 will not change the struct size. As well on the
todo might be removing the hashed storage, thread_id != thread_id and
linked list logic in favour of the explicit TLS operations.

# b3aebda9 20-Sep-2014 krakjoe <joe.watkins@live.co.uk>

native tls initial patch

# d0cb7153 19-Sep-2014 Johannes Schlüter <johannes@php.net>

s/PHP 5/PHP 7/

# fdd1e96f 03-Sep-2014 Nikita Popov <nikic@php.net>

Revert "remove a few gcc format attributes from some printf-like functions"

This reverts commit 25f5ba94aca1e89ee5f0c66513e58826afa3b853.

# 25f5ba94 31-Aug-2014 Nuno Lopes <nlopess@php.net>

remove a few gcc format attributes from some printf-like functions
Since now PHP's printf-like functions have many custom specifiers, the amount of false-positives wasnt worth it

# 202e8db1 26-Aug-2014 Anatol Belski <ab@php.net>

fixed several long vs zend_long casts

# 4d997f63 25-Aug-2014 Anatol Belski <ab@php.net>

master renames phase 3

# c3e3c98e 25-Aug-2014 Anatol Belski <ab@php.net>

master renames phase 1

# 398a1cc6 19-Aug-2014 Anatol Belski <ab@php.net>

added php_off_t alias

# 8ee2a4a9 16-Aug-2014 Anatol Belski <ab@php.net>

first shot on merging the core fro the int64 branch

# 9a7f242f 15-Feb-2014 Anatol Belski <ab@php.net>

backported main/

# cbd108ab 13-Feb-2014 Yasuo Ohgaki <yohgaki@php.net>

Implement RFC https://wiki.php.net/rfc/default_encoding

# c081ce62 03-Jan-2014 Xinchen Hui <laruence@php.net>

Bump year

# 47c90277 03-Jan-2014 Xinchen Hui <laruence@php.net>

Bump year

# c0d060f5 03-Jan-2014 Xinchen Hui <laruence@php.net>

Bump year

# b1abe4ca 18-Dec-2013 Anatol Belski <ab@php.net>

mass replacement for zend_size_t/php_size_t

# 6d938321 18-Dec-2013 Anatol Belski <ab@php.net>

prepare for zend_size_t

# b11b3d20 18-Dec-2013 Bob Weinand <bobwei9@hotmail.com>

Fixed ZTS build. Needed to bump API version number.

# 117955da 06-Nov-2013 Ferenc Kovacs <tyra3l@gmail.com>

bump API versions

# 929bf11e 06-Nov-2013 Ferenc Kovacs <tyra3l@gmail.com>

bump API versions

# e30b2aae 17-Oct-2013 Anatol Belski <ab@php.net>

initial move on renaming files and fixing includes

# f6cf0064 17-Jul-2013 Anatol Belski <ab@php.net>

the very first porting try, many things not worky

# b6104040 17-Jul-2013 Anatol Belski <ab@php.net>

fixes to zend_ini and output

# 14caf174 06-Aug-2013 Michael Wallner <mike@php.net>

unify stdint type usage

if you need C99 stdint types, just include "php_stdint.h"

# 8b8f7d4a 17-Jul-2013 Anatol Belski <ab@php.net>

the very first porting try, many things not worky

# eb5ab082 17-Jul-2013 Anatol Belski <ab@php.net>

fixes to zend_ini and output

# a666285b 01-Jan-2013 Xinchen Hui <laruence@php.net>

Happy New Year

# 0a7395e0 01-Jan-2013 Xinchen Hui <laruence@php.net>

Happy New Year

# a2045ff3 01-Jan-2013 Xinchen Hui <laruence@php.net>

Happy New Year~

# ad4a87f7 13-Nov-2012 David Soria Parra <dsp@php.net>

Bump API versions

# 995a668e 01-Mar-2012 Rasmus Lerdorf <rasmus@php.net>

Merge fix for bug 61193

# 99c70829 27-Feb-2012 Rasmus Lerdorf <rasmus@php.net>

Fix bug 61193

# 4ac6c512 27-Feb-2012 Rasmus Lerdorf <rasmus@php.net>

Fix bug 61193

# e4ca0ed0 01-Jan-2012 Felipe Pena <felipe@php.net>

- Year++

# 8775a375 01-Jan-2012 Felipe Pena <felipe@php.net>

- Year++

# 4e198252 01-Jan-2012 Felipe Pena <felipe@php.net>

- Year++

# 054e1caf 25-Jul-2011 Felipe Pena <felipe@php.net>

- Added new macro to be used in the end of zend_function_entry declaration (Gwynne)

# f1f2a649 25-Jul-2011 Felipe Pena <felipe@php.net>

- Added new macro to be used in the end of zend_function_entry declaration (Gwynne)

# f8a3334c 25-Jul-2011 Felipe Pena <felipe@php.net>

- Added new macro to be used in the end of zend_function_entry declaration (Gwynne)

# 29565d1a 24-Jun-2011 Derick Rethans <derick@php.net>

- Added a new PHPAPI function to return module_initialized:

# 09607226 24-Jun-2011 Derick Rethans <derick@php.net>

- Added a new PHPAPI function to return module_initialized:

# 75ec1fed 16-May-2011 Rasmus Lerdorf <rasmus@php.net>

Add php_ignore_value() macro to suppress unused return value warnings
from gcc. There are times when we really don't care about the return
value and this will cleanly tell gcc.

# 22b689a3 16-May-2011 Rasmus Lerdorf <rasmus@php.net>

Add php_ignore_value() macro to suppress unused return value warnings
from gcc. There are times when we really don't care about the return
value and this will cleanly tell gcc.

# 927bf09c 01-Jan-2011 Felipe Pena <felipe@php.net>

- Year++

# 0203cc3d 01-Jan-2011 Felipe Pena <felipe@php.net>

- Year++

# a7ffa09e 11-Dec-2010 Pierre Joye <pajoye@php.net>

- add PHP_INSTALL_HEADERS to all parts (core&exts) exposing headers, generate the install-headers cmd

# 1ac15b2f 23-Sep-2010 Kalle Sommer Nielsen <kalle@php.net>

Added TSRMLS macros into php_get_current_user()

# 11d24c15 31-May-2010 Michael Wallner <mike@php.net>

* implement new output API, fixing some bugs and implementing some feature
requests--let's see what I can dig out of the bugtracker for NEWS--
and while crossing the road:
* implemented new zlib API
* fixed up ext/tidy (what was "s&" in zend_parse_parameters() supposed to do?)

Thanks to Jani and Felipe for pioneering.

# dd8e59da 26-Apr-2010 Kalle Sommer Nielsen <kalle@php.net>

Removed safe_mode
* Removed ini options, safe_mode*
* Removed --enable-safe-mode --with-exec-dir configure options on Unix
* Updated extensions, SAPI's and core
* php_get_current_user() is now declared in main.c, thrus no need to include safe_mode.h anymore

# 0cee5edc 15-Apr-2010 Kalle Sommer Nielsen <kalle@php.net>


# 26b08f98 30-Mar-2010 Johannes Schlüter <johannes@php.net>

Remove main/php3_compat.h, for that a few references to `function_entry` have
to be replaced by `zend_function_entry`.

# af49e58f 12-Mar-2010 Jani Taskinen <jani@php.net>

- Reverted r296062 and r296065

# 06f072cb 11-Mar-2010 Jani Taskinen <jani@php.net>

MFH: Improved / fixed output buffering (Michael Wallner)

# 34930061 27-Jan-2010 Pierre Joye <pajoye@php.net>

- #50854, fix build on non windows, svn merge is useless.

# f13ece5f 27-Jan-2010 Pierre Joye <pajoye@php.net>

- #50854, fix build on non windows

# bbf9b6dc 27-Jan-2010 Pierre Joye <pajoye@php.net>

- #50854, fix build on non windows

# 19b146c9 26-Jan-2010 Pierre Joye <pajoye@php.net>

- [DOC] #45986, bad file descriptor warning when rename is used with invalid path, add php_win32_docref2_from_error to display system error for non posix api

# 573c33b3 26-Jan-2010 Pierre Joye <pajoye@php.net>

- [DOC] #45986, bad file descriptor warning when rename is used with invalid path, add php_win32_docref2_from_error to display system error for non posix api

# 16cb1cd4 03-Jan-2010 Sebastian Bergmann <sebastian@php.net>

sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php

# 22f4ef45 03-Jan-2010 Sebastian Bergmann <sebastian@php.net>

sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php

# 9ba1e816 03-Jan-2010 Sebastian Bergmann <sebastian@php.net>

sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php

# 4b4283bd 26-Jun-2009 Johannes Schlüter <johannes@php.net>

Bump version to 5.3.0 and API Nos. up

# d4f5b3f0 10-Mar-2009 Marcus Boerger <helly@php.net>

- This is PHP 6 - if this ... ever gets out

# ef49b9a8 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 3 of 3.

# 08659c2d 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 3 of 3.

# 7f4dc870 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

Bump copyright year, 3 of 3.

# 3e94ce6a 19-Dec-2008 SVN Migration <svn@php.net>

This commit was manufactured by cvs2svn to create tag 'NEWS'.

# 49a15f0b 22-Nov-2008 Scott MacVicar <scottmac@php.net>

MFH Better fix for va_copy since some architectures like to do a deep copy.

# aceb9694 22-Nov-2008 Scott MacVicar <scottmac@php.net>

Better fix for va_copy since some architectures like to do a deep copy.

# 9a2fc26e 22-Aug-2008 Marcus Boerger <helly@php.net>

- MFH Cleanup exports and allow to overwrite ext registration

# deadefb4 22-Aug-2008 Marcus Boerger <helly@php.net>

- Cleanup exports and allow to overwrite ext registration

# 540326c3 13-Aug-2008 Kalle Sommer Nielsen <kalle@php.net>

* Remove NTDDI_VERSION declaring and use the one in config.w32.h
* Remove another _WIN32_WINNT macro redef in win32/time.c

# 64b891fc 13-Aug-2008 Kalle Sommer Nielsen <kalle@php.net>

* Remove NTDDI_VERSION declaring and use the one in config.w32.h
* Remove another _WIN32_WINNT macro redef in win32/time.c

# 3f7a4b7e 08-Aug-2008 Marcus Boerger <helly@php.net>

- MFH error handling, now with save, replace, restore

# 034d2e59 08-Aug-2008 Marcus Boerger <helly@php.net>

- Turns out the easy solution for correct error_handling doesn't work. So
we need to provide save/replace/restore functions right away. It also
to save/restore in the vm.

# 4c3563de 08-Aug-2008 Marcus Boerger <helly@php.net>

- MFH: Sorry for the compiler warning

# 927b12e6 08-Aug-2008 Marcus Boerger <helly@php.net>

- Sorry for the compiler warning

# 5a59d413 08-Aug-2008 Marcus Boerger <helly@php.net>

- MFH store error handling mode on stack when executing internal
or overloaded functions and methods. [...]

# 805cc4bf 08-Aug-2008 Marcus Boerger <helly@php.net>

- PHP 5.3 todo, store error handling mode on stack when executing internal
or overloaded functions and methods. The issue is that a function might
set and rely on a certain mode and then calls another internal function
which changes it again, probably changing it back to the normal mode.
With this change we need to drop all calls that change the mode back to
normal using php_std_error_handling(). However there might be places
where someone wants to restore the last mode. If there is such a case we
need to add two functions one to save and one to restore. I briefly on
this and not all cases are clear, especially one in sqlite but that seems
to be a rather misleading comment. Eitherway I chose to not drop and mark
as deprecated for now.

# 4398fbbb 24-Jun-2008 Kalle Sommer Nielsen <kalle@php.net>


# 96cd1c1e 24-Jun-2008 Kalle Sommer Nielsen <kalle@php.net>

Fix build on Windows NT6

# 2660bd1d 08-Mar-2008 Etienne Kneuss <colder@php.net>

User error handlers no longer catch supressed errors

# e9a6f0f2 08-Mar-2008 Etienne Kneuss <colder@php.net>

MFH: User error handlers no longer catch supressed errors

# 42a683d6 30-Jan-2008 Dmitry Stogov <dmitry@php.net>

Imporoved PHP binary size and startup speed with GCC4 visibility control (Nuno)

# 240fa244 30-Jan-2008 Dmitry Stogov <dmitry@php.net>

Improved PHP binary size and startup speed with GCC4 visibility control (Nuno)

# d9f3a130 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 2 of 2.

# d1dded87 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 2 of 2.

# 9b620d50 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

Bump copyright year, 2 of 2.

# aa3eee1d 05-Oct-2007 Jani Taskinen <jani@php.net>

MFH:- Moved the old regex functions to own extension: ereg

# 3197e135 31-Aug-2007 Jani Taskinen <jani@php.net>

MFH: Moved php.ini related protos where they belong

# 239fd2f3 31-Aug-2007 Jani Taskinen <jani@php.net>

- Moved the php.ini related function protos where they belong

# 41c63758 15-Jul-2007 Jani Taskinen <jani@php.net>

- Moved the old regex functions to it's own extension: ereg

# 94123c91 16-Jan-2007 Andrei Zmievski <andrei@php.net>

Update PHP API version.

# Wonder why it hasn't been done already.

# 4223aa4d 01-Jan-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump year.

# 3717df72 01-Jan-2007 Sebastian Bergmann <sebastian@php.net>

Bump year.

# 460360ae 20-Dec-2006 Hannes Magnusson <bjori@php.net>

- Fixed incorrect function names on FreeBSD where inet_pton() was named
__inet_pton() and inet_ntop() was named __inet_ntop()
- Fixed bug #39685 (iconv() - undefined function)
- Fixed bug #38852 (XML-RPC Breaks iconv)

# 1e19ee87 20-Dec-2006 Hannes Magnusson <bjori@php.net>

- Fixed incorrect function names on FreeBSD where inet_pton() was named
__inet_pton() and inet_ntop() was named __inet_ntop()
- Fixed bug #39685 (iconv() - undefined function)
- Fixed bug #38852 (XML-RPC Breaks iconv)

# a563332e 17-Nov-2006 Dmitry Stogov <dmitry@php.net>

COM initialization/deinitialization are done only if necessary

# c06f9e1e 17-Nov-2006 Dmitry Stogov <dmitry@php.net>

COM initialization/deinitialization are done only if necessary

# dc34d342 10-Nov-2006 Dmitry Stogov <dmitry@php.net>

Simplify the code base as this getpwd() was used only once

# 9fd2b6de 10-Nov-2006 Dmitry Stogov <dmitry@php.net>

Simplify the code base as this getpwd() was used only once

# 9a06a517 04-Sep-2006 Dmitry Stogov <dmitry@php.net>

Fixed VIRTUAL_DIR inconsistency

# 75876d57 04-Sep-2006 Dmitry Stogov <dmitry@php.net>

Fixed VIRTUAL_DIR inconsistency

# 60328ea7 15-Jun-2006 Dmitry Stogov <dmitry@php.net>

Added automatic module globals management

# 943960c3 13-Jun-2006 Dmitry Stogov <dmitry@php.net>

Added automatic module globals management

# 4ce01417 02-Jun-2006 Michael Wallner <mike@php.net>

- new output control code

# scan README.NEW-OUTPUT-API to get a grasp
# tree has been tagged with BEFORE_NEW_OUTPUT_API
# - improve existing output handlers
# - move zlib.output_compression cruft from SAPI.c to zlib.c
# - output_encoding handling was ambigious, resp. is undefined yet
# - more tests

# 4eab1237 25-May-2006 Edin Kadribasic <edink@php.net>

MFB: Missing definition, patch by Steph Fox

# 58962c73 25-May-2006 Edin Kadribasic <edink@php.net>

Missing definition, patch by Steph Fox

# 27e175ee 08-Mar-2006 Ilia Alshanetsky <iliaa@php.net>

So long safe_mode mode.
Also removed the magic_quotes configure option, no longer relevant since
the magic is gone :-).

# b8d26da1 07-Mar-2006 Alex Waugh <alexwaugh@php.net>


# b7d6d705 07-Mar-2006 Alex Waugh <alexwaugh@php.net>

Fix for RISC OS

# 941b0651 25-Feb-2006 Marcus Boerger <helly@php.net>

- MFH: Function deprecation flag

# 9845606c 24-Feb-2006 Marcus Boerger <helly@php.net>

- Add deprecation function/function alias macros

# 251c5173 01-Jan-2006 foobar <sniper@php.net>

bump year and license version

# 5bd93221 01-Jan-2006 foobar <sniper@php.net>

bump year and license version

# ec58b74d 20-Dec-2005 Ilia Alshanetsky <iliaa@php.net>

MFB51: Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any
string greater then 255 characters).

# cd82349b 20-Dec-2005 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any
string greater then 255 characters).

# 8fa72be4 06-Dec-2005 foobar <sniper@php.net>

- Nuke php3_compat.h

# 264cec8b 11-Aug-2005 Andrei Zmievski <andrei@php.net>

Unicode support.

# 8f43323d 09-Aug-2005 Derick Rethans <derick@php.net>

- Changing the API numbers, which might be a bit premature, but it allows
to differentiate between different branches.
- Bumbed the version number to 6.0.0-dev. I know we didn't discuss this yet,
but I feel it should be 6.0. See mail to the mailinglist.

# 47ae4b0c 07-Aug-2005 Hartmut Holzgraefe <hholzgra@php.net>

typo fix

# 23e671a5 03-Aug-2005 foobar <sniper@php.net>

- Bumber up year

# f47c7848 17-Jun-2005 Dmitry Stogov <dmitry@php.net>

Improved PHP extension loading mechanism with support for module dependencies and conflicts

# 36064e12 17-Apr-2005 foobar <sniper@php.net>

- Remove relic

# 4e3b8c61 26-Mar-2005 foobar <sniper@php.net>

Fix path

# 1a3677ea 21-Mar-2005 Andrei Zmievski <andrei@php.net>


# effa111c 16-Mar-2005 Rasmus Lerdorf <rasmus@php.net>

Fix Jani breakage

# d0bb8f5f 08-Mar-2005 foobar <sniper@php.net>

This makes more sense. (Someone might actually use php_error_docref0() :)

# e17ad42e 08-Mar-2005 foobar <sniper@php.net>

- This was not needed (said Marcus)

# 3c1e2e15 14-Feb-2005 Anantha Kesari H Y <hyanantha@php.net>

NetWare Libc has php.h so no need of having netware specific block here

# 14058c83 14-Jan-2005 foobar <sniper@php.net>

- Fix another generated header include

# 63ee853b 26-Dec-2004 Wez Furlong <wez@php.net>

bump PHP API number.

This is so that we can work around the signature change in the get_method
overloaded object handler in our portable extensions.

Yes, you could argue that the zend api number needs bumping, but then you could
argue which one to bump, as neither of them is specific or generic enough.

Besides all that, the PHP API number really needs a good old bump anyway.

# 6d98fc38 28-Nov-2004 Stefan Esser <sesser@php.net>

Fixed: removed possible integer over-/underflows

# 816bcd3a 15-Nov-2004 Frank M. Kromann <fmk@php.net>

Fix win32 build.

# 61364b5b 15-Nov-2004 Derick Rethans <derick@php.net>

- MFH4.3: Cleaned up some of the locale mess:
* all internal use of sprintf, snprintf and the like will always
use the . as thousands seperator (if php.h is included only!).
* echo, printf() and sprintf() always render locale-aware
* added the %F modifier for non-locale aware rendering for floats

# 494d6659 02-Nov-2004 Andrey Hristov <andrey@php.net>

make sleep() return it's return value when possible
#on some *nix systems sleep() is implemented with SIGALRM. When SIGALRM
#interrupts sleep() it returns the number of seconds that has to be slept
#till the number of seconds wanted by the script. Sleep() on Windows is
# void.

# 854b3ebd 30-Sep-2004 Marcus Boerger <helly@php.net>

- Add missing macro

# 5dbf49e3 29-Sep-2004 Anantha Kesari H Y <hyanantha@php.net>

removed unwanted NEW_LIBC checks

# 61fc2a92 12-Jan-2004 Marcus Boerger <helly@php.net>

Add missing macro
# by popular demand, more and more exts need this

# ccfc46b0 08-Jan-2004 foobar <sniper@php.net>

- Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?

# be5670af 24-Dec-2003 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #26707 (Incorrect error for disabled functions/classes).

# 3ab8d263 03-Nov-2003 Derick Rethans <derick@php.net>

- Always store the URI path in the streams structure, and expose it with

# 102a5cad 24-Sep-2003 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #25293 (Output correct EOL to error_log)

# e6ea5ca9 02-Sep-2003 Ard Biesheuvel <abies@php.net>

Fix use of EXTERN_C macros

# ab224612 29-Aug-2003 Marcus Boerger <helly@php.net>

Add define to reset error handling more easily

# 341b7b5d 28-Aug-2003 Sascha Schumann <sas@php.net>

add format attribute where appropiate

# 258d958d 28-Aug-2003 Sascha Schumann <sas@php.net>


# 5ef7cc4c 28-Aug-2003 Sascha Schumann <sas@php.net>

Let GCC check format arguments

# ab2ebdb4 22-Aug-2003 Brian France <bfrance@php.net>

Updated PHP_API_VERSION to 20030820 for the php_setcookie api change

# ef498a27 18-Aug-2003 Wez Furlong <wez@php.net>

linkage for C++

# 4e796a70 03-Aug-2003 Zeev Suraski <zeev@php.net>

Remove unnecessary macro

# 9979003e 27-Jun-2003 Sascha Schumann <sas@php.net>

undefine macros before defining them

# f68c7ff2 10-Jun-2003 James Cox <imajes@php.net>

updating license information in the headers.

# 605eb159 18-May-2003 Stanislav Malyshev <stas@php.net>

Bump API version - HEAD is no longer binary compatible
to 4.3 branch due to changes in globals, etc.

# 3fc4a327 07-May-2003 Marcus Boerger <helly@php.net>

Infrastructure to catch warnings and throw tehm as errors autmatically

# 652b6154 19-Apr-2003 Sascha Schumann <sas@php.net>

Fix PUTS/PUTS_H to only evaluate their argument once.

# 2154cddd 08-Apr-2003 Andrei Zmievski <andrei@php.net>

Move memnstr into Zend and make an alias for BC in PHP.

# 81482833 04-Apr-2003 Andrei Zmievski <andrei@php.net>

Introduce ZEND_ME() and ZEND_METHOD() macros. Use these for declaring
class methods to avoid name collisions.

# 411478e1 25-Feb-2003 foobar <sniper@php.net>

Fixed bug #20256 (snprintf() not defined)

# 4934744b 17-Feb-2003 Zeev Suraski <zeev@php.net>

Win32 build improvements

# 0a18a9d7 16-Feb-2003 Wez Furlong <wez@php.net>

A add much more useful select(2) implementation than is provided by
windows sockets. The winsock implementation will only work with sockets;
our implementation works with sockets and file descriptors.
By association, stream_select() will now operate correctly with files, pipes and sockets.

This change required linking against the winsock2 library. In terms of
compatibility, only older versions of windows 95 do not have winsock2
installed by default. It is available as a redistributable file, and is most likely installed by any OS patches (eg: Internet Explorer) applied by the user.

Also, add a win32 compatible pipe test when opening a stream from a pipe. This test will only work on NT, win2k and XP platforms. Without this test, interleaved fread() and select() calls would cause the read buffer to be clobbered. I will be working on a fix for this issue for win9x.

# 3e2f1526 03-Jan-2003 Anantha Kesari H Y <hyanantha@php.net>

A new file added and some old files modified for NetWare.

# 2c5d4b8c 31-Dec-2002 Sebastian Bergmann <sebastian@php.net>

Bump year.

# 6442b86b 07-Nov-2002 Sascha Schumann <sas@php.net>

bumb api version because of module_startup change

# 2909e5c9 24-Oct-2002 Sascha Schumann <sas@php.net>

centralize #include "build-defs.h" and drop (sometimes inconsistent) other

# 696e0a23 25-Sep-2002 Wez Furlong <wez@php.net>

Implement persistent streams. (for pfsockopen).
Juggle some includes/definitions.
Tidy up streams use in ext/standard/file.c

# 1b18be12 09-Sep-2002 Anantha Kesari H Y <hyanantha@php.net>

NetWare related changes/modifications

# 1134977b 12-Aug-2002 Marcus Boerger <helly@php.net>

fix for extension = ""
make php_verror available

# 88c385e8 08-Aug-2002 Marcus Boerger <helly@php.net>

rename php_error_func<n> to php_error_docref and support Wez idea
that solves ToDo requirement to point to PHP Manual in error messages.

# e50228ab 07-Aug-2002 Marcus Boerger <helly@php.net>

-new functions php_error_func<0> to support unified error messages
#read followup

# 575e3682 31-May-2002 Venkat Raghavan S <rvenkat@php.net>

NetWare related changes

# 50f68406 07-May-2002 Sascha Schumann <sas@php.net>

Due to the thread-safety changes and lots of other stuff, the
current tree is not backwards compatible anymore. Bump API no.

# b10b24d5 16-Apr-2002 Wez Furlong <wez@php.net>

Always initialize wrappers, regardless of PG(allow_url_fopen).
Add is_url field to wrapper structure; the stream wrapper openers
will disallow opening is is_url && !PG(allow_url_fopen).
Add infrastructure for stat($url) and opendir($url).
Tidy up/centralize code that locates and instantiates wrappers for the
various operations.
Implement opendir for plain files.
Make the PHP opendir and dir functions use the streams implementations.
Add modelines for syntax highlighting the pear scripts in vim

# 3e70f373 10-Apr-2002 Marcus Boerger <helly@php.net>

make (v)spprintf available

# 10811cd0 22-Mar-2002 Hartmut Holzgraefe <hholzgra@php.net>

getting rid of the warn_not_available alias

# 68d2592f 18-Mar-2002 Sascha Schumann <sas@php.net>


1.) a PHP-specific symbol should be in the php namespace, and
2.) there are multiple streams and the old configure parameter was plural, too.

# 8c3535e1 16-Mar-2002 Marcus Boerger <helly@php.net>

-added memory streams
@added memory streams (marcus)

# 1fdd2a7d 16-Mar-2002 Wez Furlong <wez@php.net>

add HAVE_PHP_STREAM macro for extensions to test which fileio functions to use

# 12bc9543 15-Mar-2002 jim winstead <jimw@php.net>

don't redefine NDEBUG if it is already defined. yeesh.

# f7ec2505 15-Mar-2002 Andi Gutmans <andi@php.net>

- Revert assert fix until it becomes clear what was wrong with my previous
- fix. I don't see any warnings when building with VC++ English.

# 23917d0e 15-Mar-2002 Yasuo Ohgaki <yohgaki@php.net>

Avoid warnings under VC.
# If you know how assert() should be used under VC, please fix it.

# cbc1cd80 14-Mar-2002 Yasuo Ohgaki <yohgaki@php.net>

Include/enable assert.h/assert() when it is available

# a9fcfb13 01-Mar-2002 Shane Caraveo <shane@php.net>

turn on force redirect for windows

# 38933514 11-Dec-2001 Sebastian Bergmann <sebastian@php.net>

Update headers.

# bcb426a2 17-Sep-2001 Sterling Hughes <sterling@php.net>

Merge in qsort changes

# 78747bd2 09-Sep-2001 Derick Rethans <derick@php.net>

- Don't wrap lines... this is annoying while coding.

# 9e8a2e5b 01-Sep-2001 Zeev Suraski <zeev@php.net>

Update API number

# a3b96525 22-Aug-2001 foobar <sniper@php.net>

This is not needed anymore.

# 15b1e4ba 18-Aug-2001 Sterling Hughes <sterling@php.net>

Fix XtOffsetOf compile problems if someone has already defined it.

# a2dd6625 11-Aug-2001 Zeev Suraski <zeev@php.net>

Move the macro wrappers from the compatibility header to php.h

# f7b2b020 10-Aug-2001 Zeev Suraski <zeev@php.net>

Centralize macros

# e786d4d9 10-Aug-2001 Zeev Suraski <zeev@php.net>

Let's not introduce more mess to maintain.

# 05db76df 10-Aug-2001 Rasmus Lerdorf <rasmus@php.net>

Sablot extension cleanup - it compiles again now

# b349df63 05-Aug-2001 Sascha Schumann <sas@php.net>

some more eliminate-fetches-or-escalate-them-at-least

# 373b3e10 05-Aug-2001 Sascha Schumann <sas@php.net>

more tsrm cleanup -- output.c is not doing any fetches anymore

# 1159c84a 05-Aug-2001 Zeev Suraski <zeev@php.net>

- whitespace fixes

# 1c25b8dd 30-Jul-2001 Zeev Suraski <zeev@php.net>

Avoid TSRMLS_FETCH()'s, and clean up a bit of stale extern's and layout on the way

# 536a5335 24-Jul-2001 Zeev Suraski <zeev@php.net>

Get rid of the redundant global startup code

# 6f297a37 20-Jul-2001 Zeev Suraski <zeev@php.net>

Fix Windows build

# 81e2cf03 06-Jun-2001 Rasmus Lerdorf <rasmus@php.net>

Fix folding and clean up some extensions

# 9e5b0de8 05-Jun-2001 Jason Greene <jason@php.net>

Add the capibility to to allow ap_php_(v)snprintf to replace (v)snprintf
if the platform has a broken (v)snprintf, or in my case, if a library included
by a module redifines snprintf incorrectly.

# 25c3a3a3 05-Jun-2001 Rasmus Lerdorf <rasmus@php.net>

vim-6 does folding - clean up a bunch of missing folding tags plus
some misguided RINIT and RSHUTDOWN calls in a few fringe extensions

# 39e28225 30-May-2001 Sterling Hughes <sterling@php.net>

place nice with other libraries.

# e2eaf634 20-May-2001 Sascha Schumann <sas@php.net>

Add support for systems where p{read|write} take a off64_t without
being properly prototyped.

# 0a121f85 30-Apr-2001 Daniel Beulshausen <dbeu@php.net>

make pgsql build under win32 again

# 1b279d34 27-Apr-2001 Daniel Beulshausen <dbeu@php.net>

get rid of MS's _popen/_pclose

# 5dbb3a77 17-Apr-2001 Wez Furlong <wez@php.net>

Added files for PHP streams

# a0d3c5a8 26-Feb-2001 Andi Gutmans <andi@php.net>

- Finally rename modules.h to zend_modules.h for consistency (first try
was 2000-03-11).
- Remove the first_arg_force_ref[]; and friends extern from php.h as they
are included via zend_API.h

# ab128eed 26-Feb-2001 Daniel Beulshausen <dbeu@php.net>

nuke warnings

# eb6ba01d 26-Feb-2001 Andi Gutmans <andi@php.net>

- Fix copyright notices with 2001

# c2fb53be 23-Feb-2001 Sascha Schumann <sas@php.net>

Finish fopen-wrappers rename.

# fd83f5e1 19-Jan-2001 Sascha Schumann <sas@php.net>


# 4ada3dd3 07-Dec-2000 Sascha Schumann <sas@php.net>

Hardcode all functions which are mentioned in the Large File Support Spec


# 1f934084 02-Dec-2000 Sascha Schumann <sas@php.net>

Noone defines PACKAGE/VERSION anymore.

# 66d8f798 17-Nov-2000 Sascha Schumann <sas@php.net>

PHP does not care about inline at all, so get rid of this block.

# 9866d899 02-Nov-2000 Sascha Schumann <sas@php.net>

Namespace protect mergesort (caused conflict on Darwin).

# 204f4adc 07-Sep-2000 Andi Gutmans <andi@php.net>

- Smarter detection of MAXPATHLEN

# 341a0d46 04-Sep-2000 Andi Gutmans <andi@php.net>

- Found my bug and managed to move the V_* macros to TSRM

# 6c6471b1 03-Sep-2000 Andi Gutmans <andi@php.net>

- Move to virtual cwd in TSRM

# 0b8ca80e 27-Aug-2000 Andi Gutmans <andi@php.net>

- Remove some unused stuff.

# 989203cf 27-Aug-2000 Andi Gutmans <andi@php.net>

- Test commit msg. This is Andi and it seems to come from Zeev.

# 1f7b7352 27-Aug-2000 Zeev Suraski <zeev@php.net>

- Forgot to fix non-ZTS CHDIR_FILE macro

# 39770d99 27-Aug-2000 Andi Gutmans <andi@php.net>

- Try and fix problem with opening wrong file.

# 2eb8688f 27-Aug-2000 Sascha Schumann <sas@php.net>

Refine PHP_STRLCPY comment

# 365edadd 27-Aug-2000 Sascha Schumann <sas@php.net>

Add PHP_STRLCPY macro. This macro should be used in new code instead of
strlcpy/strlcat which are intended for fixing broken code.

# c542f9a3 24-Aug-2000 Zeev Suraski <zeev@php.net>

- Fix IMAP build problem
- Allow external DLLs to use warn_not_available

# 8e0ae5d1 21-Aug-2000 Sascha Schumann <sas@php.net>

Cleaning up some mess

# c7999595 20-Aug-2000 Andi Gutmans <andi@php.net>


# c8b8a908 20-Aug-2000 Sascha Schumann <sas@php.net>

Provide PHP_SEPARATOR which expands to the default directory separator
on the target platform.

# c86ec8b1 20-Aug-2000 Sascha Schumann <sas@php.net>

Add virtual_real_chdir_file. Silly name for a useful function.

# 26300a8e 10-Aug-2000 Andi Gutmans <andi@php.net>

- Move compat macros to php3_compat.h

# 10f30009 06-Aug-2000 Stanislav Malyshev <stas@php.net>

fix stupid bug

# c756ae2d 06-Aug-2000 Andi Gutmans <andi@php.net>

Virtualize realpath, chmod, chown and utime
This should fix #5935 and #5904
@- Virtualize realpath, chmod, chown and utime (Stas)

# a8f0c5a3 06-Aug-2000 Rasmus Lerdorf <rasmus@php.net>

decouple this check just in case we hit a weird system that has one
and not the other. And we specifically check for this, so we should
use the information.

# 16017f6d 02-Jul-2000 Sascha Schumann <sas@php.net>

Change header protection macros to conform to standard.

Draft 3 of IEEE 1003.1 200x, "2.2 The Compilation Environment"

All identifiers that begin with an underscore and either an uppercase
letter or another underscore are always reserved for any use by the

# 4b5e7d66 24-Jun-2000 Andi Gutmans <andi@php.net>

- Only use VIRTUAL_DIR in ZTS mode until it is thoroughly tested.
- Mutex popen() in Windows as the UNIX trick doesn't work there.

# 719d995a 12-Jun-2000 Andi Gutmans <andi@php.net>

- On UNIX support popen() which works with current working directory
- when in VIRTUAL_DIR mode.

# 02c42362 12-Jun-2000 Andi Gutmans <andi@php.net>

- Start of popen() fix for UNIX. Still unclear what we'll do on Windows.

# d180634e 08-Jun-2000 Sascha Schumann <sas@php.net>

Add PHP_BROKEN_SPRINTF check here.

Also remove unnecessary #ifdef's for PACKAGE and VERSION.

# 5af7dff7 04-Jun-2000 Stanislav Malyshev <stas@php.net>

add opendir to VIRTUAL_DIR

# 06388f51 02-Jun-2000 Zeev Suraski <zeev@php.net>

Use the new error code
@- Added set_error_handler() to allow custom error handling functions,
@ instead of the built-in error handling code (Zeev, Zend Engine)
@- Renamed user_error() to trigger_error(); user_error() remains
@ defined for compatibility (Zeev, Zend Engine)

# ae1043ba 29-May-2000 Hartmut Holzgraefe <hholzgra@php.net>

warn_not_available() will be used by other modules besides
ext/standard in the (very near) future

# 949574d0 29-May-2000 Zeev Suraski <zeev@php.net>

Remove stale reference to .h file

# fb39eda0 27-May-2000 Hartmut Holzgraefe <hholzgra@php.net>

a second (cleaner?) try on warnings about unsupported functions

# afccb586 27-May-2000 Andi Gutmans <andi@php.net>

- I'm not sure if PHP_NOT_IN_THIS_BUILD is the way to handle these
- functions but in any case I have changed it to PHP_NOT_IN_THIS_BUILD()

# 69d1e788 26-May-2000 Hartmut Holzgraefe <hholzgra@php.net>

if a module provides a function it should also do so if the function
is not functional due to configure findings
the function should offer a meaningful warning if it is not supported
instead of just beeing undefined
i had already changed this in 'gd', now this is doing it for 'standard'

# 617266e3 23-May-2000 Andi Gutmans <andi@php.net>

- Virtual current working directory is now enabled
- Added support for mkdir()/rmdir() and more

# 521f03c1 23-May-2000 Andi Gutmans <andi@php.net>

- Support virtual unlink()

# 0f82e6de 19-May-2000 Zeev Suraski <zeev@php.net>

Minor output mods

# e043439f 18-May-2000 Zeev Suraski <zeev@php.net>

Update the license with the new clause 6

# e13285de 30-Apr-2000 Andi Gutmans <andi@php.net>

- Take Sascha's advice and create on V_OPEN() which replaces open().
- Unlike the other macros its argument has to have braces around it, for
- example, open(filename, flags) becomse V_OPEN((filename, flags))
- Made small conversion to new Zend macros. The ugly (*foo)->value.str.val
- now becomes Z_STRVAL_PP(foo). PP means pointer pointer, there also exist
- single P's for example foo->value.str.val becomes Z_STRVAL_P(foo).

# f1d5167a 29-Apr-2000 Andi Gutmans <andi@php.net>

- Implement V_OPEN() V_OPEN_CREAT() and V_CREAT().
Next step is to substitute all open()'s and creat()'s in the PHP tree

# 1a8683f9 29-Apr-2000 Zeev Suraski <zeev@php.net>

- Never mind. Seems like we're still missing the open() functionality

# aecae7c3 29-Apr-2000 Zeev Suraski <zeev@php.net>

- Give VIRTUAL_DIR another try after testing it extensively on our web site

# 39aa59bd 27-Apr-2000 Zeev Suraski <zeev@php.net>

More error handling work (still completely disabled)

# c0919bbd 20-Apr-2000 Andi Gutmans <andi@php.net>

- virtual_lstat() doesn't exist on Windows.

# 503bb3be 20-Apr-2000 Andi Gutmans <andi@php.net>

- Export strlcat()/strcpy() for Frank.
- Windows doesn't have lstat().

# 883bd2b1 20-Apr-2000 Zeev Suraski <zeev@php.net>

- Fix virtual cwd bug
- Add more V_STAT() V_LSTAT() changes

# e40268d0 20-Apr-2000 Andi Gutmans <andi@php.net>

- Add missing V_STAT()

# 1665cba7 15-Apr-2000 Andi Gutmans <andi@php.net>

- Change PHP_ to V_ (directory & file functions)

# 7f543188 11-Apr-2000 Andi Gutmans <andi@php.net>

- Turn off VIRTUAL_DIR by default

# c981be0b 09-Apr-2000 Andi Gutmans <andi@php.net>

- Don't need to extern functions
- Use virtual_file_ex() in expand_filepath()

# 95f45d6c 08-Apr-2000 Andi Gutmans <andi@php.net>

- Make all CVS users use the new virtual dir support.
Will probably disable this for the release.

# f118d947 07-Apr-2000 Andi Gutmans <andi@php.net>

- This slipped in. Enable VIRTUAL_DIR when we're in ZTS. Eventually it
should always be enabled.

# 89f99967 07-Apr-2000 Andi Gutmans <andi@php.net>

- Add wddx support to the default build

# d8e64d62 02-Apr-2000 Andi Gutmans <andi@php.net>

- This version of chdir_file should be compatible with the Apache one.

# 6a2da70f 02-Apr-2000 Andi Gutmans <andi@php.net>

- Virtual cwd compiles now (need to uncomment #define in php.h for it to
be enbaled right now).
It seems to work very basic stuff

# 9c3d6304 30-Mar-2000 Andi Gutmans <andi@php.net>

- Hopefully got most of them. We also need a chdir_file function like
for Apache.

# f9547241 30-Mar-2000 Andi Gutmans <andi@php.net>

- Fix another bug in session.c
- Start using the new PHP_GETCWD() and co. macros

# 863e6fd2 25-Mar-2000 Zeev Suraski <zeev@php.net>

- Update dsp
- Remove unnecessary includes

# bb09ee95 12-Mar-2000 Sascha Schumann <sas@php.net>

Use sprintf everywhere and define sprintf to php_sprintf, if sprintf is broken.

# caeaaf4d 12-Mar-2000 Sascha Schumann <sas@php.net>

Fix build on systems which lack snprintf or vsnprintf.

PR: #3786

# 9dca788c 11-Mar-2000 Andi Gutmans <andi@php.net>

- Don't define DEBUG anymore. Everyone should use PHP_DEBUG.
There are 2-3 third-party libs in PHP which use DEBUG and I left them
this way (primary example is pcrelib).
- Please test things and Andrei, can you check that pcrelib stopped
printing the warning messages?

# 99e0b363 06-Mar-2000 Stig Bakken <ssb@php.net>

@Cleaned up extension namespace (Stig)
Cleaned up extension namespace, and changed ext/standard into one single

# 0a092b62 04-Mar-2000 Andi Gutmans <andi@php.net>

- Fix Win32 build

# 315999da 04-Mar-2000 Sascha Schumann <sas@php.net>

Prefix some symbols with php_

# 9b621d1c 19-Feb-2000 Zeev Suraski <zeev@php.net>

Get the license right... (this won't make it to RC1 of B4)

# 1c4532dc 19-Feb-2000 Zeev Suraski <zeev@php.net>

*** empty log message ***

# 02d647b5 18-Feb-2000 Sascha Schumann <sas@php.net>

Fix warnings when compiling static Apache module

# 80bdd19e 11-Feb-2000 Zeev Suraski <zeev@php.net>

Fine tune Andi's patch

# 49e98c3d 10-Feb-2000 Zeev Suraski <zeev@php.net>

request_info.c is dead! long live SAPI
@- Finished the server abstraction layer; All of the PHP code is now shared
@ across different servers (Apache, CGI, IIS, etc.), except for thin
@ interface modules (Zeev)

# 6d0ab616 10-Feb-2000 Zeev Suraski <zeev@php.net>

SAPIfication, Episode VI: Return of the SAPI
Remove mostly all references to APACHE and CGI_BINARY from the code.

- Apache include files are no longer included by any PHP code, except for the Apache SAPI module.
- No server specific code is in any of the base PHP code.

Still left to be done:
- Eliminate any references to APACHE from the few remaining modules.
- Move request_info.c's logic to SAPI
- Modify the regex function names, and globals, so that we can always
include them, without having to fear any interference with Apache;
Always use the bundled regex library

# ec0e2d73 10-Feb-2000 Andi Gutmans <andi@php.net>

- Little fix

# f452c776 10-Feb-2000 Andi Gutmans <andi@php.net>

- Introduce PHP_WIN32

# 2dea694a 16-Jan-2000 Zeev Suraski <zeev@php.net>

Remove the post-startup callback support. Modules are now started only after
the entire engine is started. People - please make sure that the session module
works properly for you.

# 3ff75e5b 15-Jan-2000 Thies C. Arntzen <thies@php.net>

- don't set php_errormsg on errors that will cause a zend_bailout().
using zend_hash_update() can make things worse in this situation.
- new function php_register_pre_request_shutdown(). this way modules
can register callbacks that will be called as soon as execution of
the script is done but *before* any cleanup (global symbol_table etc)
has taken place.

# 43ae2bff 01-Jan-2000 Sascha Schumann <sas@php.net>

Happy Y2K patch! Happy new year (or the new millennium, depending on whether
you start counting at 0 or 1).

# ccb4b183 31-Dec-1999 Zeev Suraski <zeev@php.net>

Happy new year (especially to Thies :)
- Zend branch patches merged in - get the PHP tree uptodate
- Clean

# 5b2ecc5b 30-Dec-1999 Sascha Schumann <sas@php.net>

Typedef socklen_t, if it is not available

# cc205c60 21-Dec-1999 Andrei Zmievski <andrei@php.net>

Correct PHP's mime type.

# 02d3b394 17-Dec-1999 Zeev Suraski <zeev@php.net>

More php3_ annihilation

# 8abf7246 07-Dec-1999 Sam Ruby <rubys@php.net>

Provide basis for shared libraries/dlls to contain internal extensions

# f3622080 04-Dec-1999 Zeev Suraski <zeev@php.net>

That one is actually supposed to have 'php3' on it - it's the PHP 3.0 compatibility defines for 4.0

# 5b983c94 04-Dec-1999 Sascha Schumann <sas@php.net>

Clean up php3.*\.h files. The files itself are renamed, and references in all
.*\.[ch] files were changed. There is a slight chance that my script missed
a few changes, please correct them manually.

# 85210ed9 27-Nov-1999 Zeev Suraski <zeev@php.net>

Get Win32 to compile again

# 35b30a8d 26-Nov-1999 Sascha Schumann <sas@php.net>

Add reentrant versions of ctime, localtime, gmtime, asctime.

These cannot be implemented platform-independent, so we fall back to the native
non-reentrant versions, but lock during each access (only if ZTS is used).

To initialize/destroy the used data structures, you need to call
reentrancy_startup() before sapi_startup(), and reentrancy_shutdown() after

# 4bb5e353 17-Nov-1999 Sascha Schumann <sas@php.net>

Add post request startup handlers. These are called at the end of the
request startup function, and can use the initialized structures like
the symbol table.

# 5f8f410e 14-Nov-1999 Stig Bakken <ssb@php.net>

@Added tmpfile() function (Stig)
Removed the mkstemp stuff and added tmpfile() function instead.

# bcb2214e 13-Nov-1999 Sascha Schumann <sas@php.net>

Improve regex library selection. It lets user specify whether they want
system, apache, or php's regex library by using the --with-regex option.
"php" is the default; if you use --with-apache in combination with
Apache 1.3.x, the default is "apache".

# 63d47b77 08-Nov-1999 Stig Bakken <ssb@php.net>

(PHP tempnam) now uses mkstemp() if available
@- tempnam() now uses mkstemp() if available (Stig)

# cf0868fe 30-Oct-1999 Rasmus Lerdorf <rasmus@php.net>

Clean up regex header file mess. php.h now explicitly includes php_regex.h
and php_regex.h figures out which regex header files to include and
defines symbols that prevents other stuff from including the wrong versions
of regex header files.

# ea880d2b 27-Oct-1999 Thies C. Arntzen <thies@php.net>

moved output.c into ext/standart and made it thread-safe.
moved output-buffering related functions from basic_functions to output.c
Win32 project need to be updated to reflect new position.
# i'm not really happy with this solution, but it seemed the easiest one!
# the whole output code is a bit hard to understand...
@- Output-Buffering system is now Thread-Safe. (Thies)

# db69449d 15-Oct-1999 Andrei Zmievski <andrei@php.net>

Update mergesort() proto.

# 86e031d9 15-Oct-1999 Andrei Zmievski <andrei@php.net>

Added mergesort.c from FreeBSD.

# b5c3c7bf 15-Oct-1999 Thies C. Arntzen <thies@php.net>

files are now resources, file.c is thread-safe, the le_ vars are no longer shared,
but they are accessible thru "php_file_le_socket(), php_file_le_uploads()..."
i also updated the ftp, pdf and file-upload stuff to match the new requirements.
@- Cleaned up File-Module (Thies)

# 96a19593 20-Sep-1999 Andi Gutmans <andi@php.net>

- Internal functions which are basic language functions should be in Zend
and not in PHP. I.e. strlen(), each(), error_reporting(), count(),

# 328d08bd 15-Sep-1999 Thies C. Arntzen <thies@php.net>

HASH_OF is usable enough (i hate duplicating macros all over the place)

# 1740e6ee 15-Sep-1999 Stig Bakken <ssb@php.net>

Clean up the strlcat/strlcpy checks.

# 61a3c147 14-Sep-1999 Andi Gutmans <andi@php.net>

Add strlcpy/strlcat to the build process

# a1784083 12-Sep-1999 Zeev Suraski <zeev@php.net>

Time to do that - rename the output layer prefix

# bcb00207 04-Sep-1999 Rasmus Lerdorf <rasmus@php.net>

Forgot one

# ce4e09da 04-Sep-1999 Zeev Suraski <zeev@php.net>

This was actually intentional... put it back in and improve

# 54ec3a8e 04-Sep-1999 Rasmus Lerdorf <rasmus@php.net>


What the heck was that dangling (c) for in the PUTC macros? Were they
supposed to serve some sort of purpose, because I sure don't see one for

# 0bede914 04-Sep-1999 Rasmus Lerdorf <rasmus@php.net>

First part of the connection_status work. No user-callable functions
yet. That is coming next. Have also only done Apache and CGI so far.
Will have to crack open my ISAPI book to do that one.

Also changed the SAPI output functions to return an int. We'll check
the connection status inside each one, but we might need the return
code at some other level and I don't see a good reason for just tossing
these return codes.

# 8e8d923f 03-Sep-1999 Sascha Schumann <sas@php.net>

Add prototypes for new functions in internal_functions.c.in

# 5b293ecd 03-Sep-1999 Sascha Schumann <sas@php.net>

- add global startup/shutdown handlers
- improve genif.sh to also consider all header files for inclusion
(checks for phpext_)
- use vsnprintf in main.c to avoid buffer overflows
- improve sessions's mm module to cope better with OOM situations
within the shared memory segment
- fix typo wrt session.auto_start

# 4e33a1d6 14-Aug-1999 Zeev Suraski <zeev@php.net>

Close bug #1742

# 3cb1eb04 02-Aug-1999 Zeev Suraski <zeev@php.net>

Removed '3' from key functions in PHP (maintained compatibility through

# 5aa3eff9 28-Jul-1999 Andrey Hristov <andrey@php.net>

Fix link functions problem.

# 1b2c932c 26-Jul-1999 Andrey Hristov <andrey@php.net>

More symbol work.

I've defined a few macros to help with module/request init/startup function definitions.


These will expand to proper function prototypes.

Now to specify these in the module entry, use:


I've updated all modules in ext/standard and everything from ext/apache to ext/db.
If you can, please update your module to use these macros.

# c5724cbd 16-Jul-1999 Zeev Suraski <zeev@php.net>

License update

# cb2a2ea9 08-Jul-1999 Zeev Suraski <zeev@php.net>

*** empty log message ***

# 6f3b0f79 03-Jul-1999 Sascha Schumann <sas@php.net>

work around the Apache problem that it pollutes the namespace

# 6ec71637 26-Jun-1999 Sascha Schumann <sas@php.net>

add dmalloc

# 3cad3485 04-Jun-1999 Zeev Suraski <zeev@php.net>

* Add a new workspace for dynamic PHP extensions.
* Add a few functions to PHP's API.
* Get the MySQL extension up-to-date and thread safe.
* Add a project for building the MySQL extension under Win32.

# 064a16c7 27-May-1999 Zeev Suraski <zeev@php.net>

Moved all SET_ and RETURN_ macros to Zend
Fixed all RETVAL_ macros

# 0b771325 11-May-1999 Zeev Suraski <zeev@php.net>

* Get Apache to work. POST doesn't work yet.
* There are now -I directives for the absolute path of php4, php4/libzend and the builddir for
the Apache module, so we can #include any php/Zend header.
* Rename config.h to php_config.h

# 3cd0af11 26-Apr-1999 Zeev Suraski <zeev@php.net>

* Get the Apache module to compile again
* Get rid of php3_rqst, use SG(server_context) instead (there's still Apache-specific code,
but it nuked a global)

# 7942eaf3 26-Apr-1999 Zeev Suraski <zeev@php.net>

* Plenty of thread safety and Win32 work.
* Changed PHP4 to compile as a DLL, both ISAPI and the the CGI run with the same DLL.
* Switched to using the DLL runtime library under Win32. PHP will NOT work if
compiled against the static library!
* Removed yesterday's php4libts project (with php4dllts, it's obsolete).

This *does* affect thread-unsafe Windows as well - the thread unsafe CGI is also
dependant on the thread-unsafe DLL.

# 4ebb4060 25-Apr-1999 Andi Gutmans <andi@php.net>

* Fix a couple of thread safety issues
* Add initial ISAPI support. Very very experimental.
* In the thread safe version, generate php4 as a library so that we can link it with both
php.exe and the ISAPI dll. We should probably consider doing that under all circumstances,
under UNIX as well.

The thread-unsafe version *should* be unharmed.

# 0818d96c 24-Apr-1999 Zeev Suraski <zeev@php.net>

A lot of cleanups... Removed old thread-safe code and other redundant code and files

# f9f82960 21-Apr-1999 Stig Bakken <ssb@php.net>

moved bcmath

# 23280d0a 21-Apr-1999 Stig Bakken <ssb@php.net>

added PHP_API_VERSION, simply set it to 19990421 for now

# 7d34d425 21-Apr-1999 Zeev Suraski <zeev@php.net>

Minor fixes

# 751709a4 21-Apr-1999 Zeev Suraski <zeev@php.net>

* Rename php_compat.[ch] to flock_compat.[ch] and move it to ext/standard
* Fix Win32 compilation

# dcc16af8 21-Apr-1999 Sascha Schumann <sas@php.net>

port some fixes, add compat routines

# c5af324e 21-Apr-1999 Zeev Suraski <zeev@php.net>

More thread safety work

# 54468d2e 20-Apr-1999 Stig Bakken <ssb@php.net>

odbc compiles and runs on UNIX again (tested with Solid 2.3)

# bb6dff9c 10-Apr-1999 Zeev Suraski <zeev@php.net>

Buh-bye php3_ini

# 3e584505 09-Apr-1999 Zeev Suraski <zeev@php.net>

* A lot of work on php_ini stuff
* A lot of work on getting rid from php3_ini

# aceaabce 07-Apr-1999 Zeev Suraski <zeev@php.net>

PHP 4.0