Compare commits

...
2500 Commits
Author SHA1 Message Date
SVN Migration 3a7e2376bf This commit was manufactured by cvs2svn to create tag 'php_4_3_5RC3'. 2004-02-16 15:34:17 +00:00
Ilia Alshanetsky c262cf962c Go with RC3 2004-02-16 15:34:16 +00:00
Ilia Alshanetsky 8e510ef9b9 Bug fixing news. 2004-02-16 15:15:22 +00:00
Ilia Alshanetsky 1aaadf3ca3 MFH: Better gmp fix. 2004-02-16 15:13:49 +00:00
Derick Rethans ca98ed755c - Update news too 2004-02-16 14:29:31 +00:00
Derick Rethans 2fe16812bd - MFH: Fixed zero bytes memory allocation when no extra ini files are found in
the --with-config-file-scan-dir specified directory. (Eric Colinet, Derick)
2004-02-16 14:29:07 +00:00
Pierre Joye a300b68b08 - DB 1.6RC6 2004-02-15 23:07:30 +00:00
Pierre Joye b9d98f0098 - remove DB 1.6RC1 2004-02-15 23:06:56 +00:00
Ard Biesheuvel deb89ce2f4 CS/WS 2004-02-15 20:47:21 +00:00
Ard Biesheuvel 405101d10d MFH 2004-02-15 18:45:56 +00:00
Ard Biesheuvel bc11725188 MFH reverted fix for #26777 2004-02-15 18:43:46 +00:00
Ilia Alshanetsky 938e964beb MFH: Fixed bug #27258 (moved FPE check to correct location).
Fixed several possible FPE.
2004-02-15 17:23:11 +00:00
Timm Friebe 49118556bb - Fixed bug #26407 (Result set fetching broken around transactions) 2004-02-15 10:55:55 +00:00
Timm Friebe 47d30e40e4 - Changed initialization of function arguments to message handler
# Hopefully fixes bug #27157 (Compile Failure on Solaris 8), user does
# not know how to use patch and therefore couldn't verify this works.
2004-02-15 10:38:57 +00:00
Greg Beaver 4135978add re-add as binary 2004-02-14 20:30:31 +00:00
Greg Beaver 86bdf2b049 remove in order to re-add binary 2004-02-14 20:29:45 +00:00
Greg Beaver 1d6cca1b2f MFH 2004-02-14 20:29:10 +00:00
Ard Biesheuvel 1e12ed5e1a BFN 2004-02-13 10:51:02 +00:00
Ard Biesheuvel 6fe6810c8a Fixed bug #27235 (NUMERIC x.0 field returns empty string on 0)
CS/WS
# MFB not necessary, bug doesn't apply to HEAD
2004-02-13 10:43:24 +00:00
Stefan Esser 408c183013 MFH 2004-02-12 18:36:57 +00:00
SVN Migration cdb4683c30 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-12 14:09:54 +00:00
foobar 3a6eb48e1e BFN 2004-02-12 01:35:49 +00:00
foobar 2706fda4a6 MFH: ws fix 2004-02-12 01:32:40 +00:00
foobar fafe8a19b8 MFH: - Fixed bug #23467 (Showing incorrect Time Zone)
# patch by scottmacvicar at ntlworld dot com
2004-02-12 01:29:13 +00:00
Marcus Boerger 69eaab8aac MFH: Bug #27104 CLI/CGI SAPI module variable name conflict 2004-02-11 22:00:38 +00:00
Ilia Alshanetsky 6035439314 MFH: 'Touch' the file to make sure re2c is not needed. 2004-02-11 17:32:41 +00:00
Ilia Alshanetsky 79ed81e971 Fixed bug #27183 (userland stream wrapper segfaults on stream_write). 2004-02-11 17:09:09 +00:00
Ilia Alshanetsky ca53f68729 MFH: Fixed bug #26862 (ob_flush() followed by output_reset_rewrite_vars()
may result in data loss).
2004-02-11 17:00:56 +00:00
SVN Migration 2b66aa860f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-11 17:00:49 +00:00
Ilia Alshanetsky 17cef37fd1 MFH: fixed a compilation error. 2004-02-11 16:53:03 +00:00
Ilia Alshanetsky fa2f1ac2a4 Back to dev tree (forgot to restore versions). 2004-02-11 16:49:24 +00:00
Ilia Alshanetsky a9e21b0a18 MFH: Win32 build fix. 2004-02-11 14:52:34 +00:00
Ilia Alshanetsky 353b838a13 MFH:
Fixed win32 build.
	Added missing headers needed for wait().
	Removed duplicate signal.h header.
2004-02-10 17:44:44 +00:00
Ilia Alshanetsky a68c033bf9 MFH: Fixed bug #26653 (open_basedir incorrectly resolved on win32). 2004-02-10 16:09:56 +00:00
foobar 8c7af900cf typos 2004-02-10 02:00:02 +00:00
Ilia Alshanetsky 8e46f4b273 MFH: Fixed bug #26758 (FastCGI exits immediately with status 255). 2004-02-10 00:30:03 +00:00
Ilia Alshanetsky 86337bac18 MFH: Fixed bug #27026 (Added cgi.nph that allows forcing of the Status: 200
header that is not normally needed).
2004-02-10 00:03:44 +00:00
Ilia Alshanetsky 125d5a2b73 MFH: Fixed bug #27196 (Missing content_length initialization in apache 2
sapis).
2004-02-09 23:28:48 +00:00
Frank M. Kromann de23ffbee3 Delay creation of exec handle til it's needed 2004-02-09 17:58:24 +00:00
Ilia Alshanetsky 6af73a9f5e MFH: Fixed bug #27172 (Possible floating point exception in gmp_powm()). 2004-02-09 04:28:07 +00:00
Ilia Alshanetsky df8c668559 Bug fixing news. 2004-02-09 04:08:25 +00:00
Ilia Alshanetsky c346be31a1 MFH: Fixed bug #27175 (tzset() is not being called by PHP on startup). 2004-02-09 04:05:56 +00:00
foobar a360d7d794 MFH: fixed bug #27171 2004-02-07 19:15:09 +00:00
Ilia Alshanetsky a9b6b75a02 MFH: Fixed possible memory leak with INI values. 2004-02-06 03:08:39 +00:00
Ilia Alshanetsky fa8c24ff7a MFH: Fixed bug #27135 (Possible crash inside mb_strlen()).
# Patch by Moriyoshi
2004-02-06 02:28:38 +00:00
foobar fb4f76e78d MFH: emalloc -> safe_emalloc 2004-02-05 12:19:32 +00:00
Antony Dovgal f261a8f571 MFH:
fix bug #27149
2004-02-05 08:30:17 +00:00
Ilia Alshanetsky 5bffdef46d MFH: Parse command line ini directives passed using -d before -i, to ensure
correct settings output.
2004-02-04 22:49:55 +00:00
Ilia Alshanetsky d48d599294 Go with RC2 2004-02-03 14:47:29 +00:00
Ilia Alshanetsky 2b637a2c03 RC2 news bit. 2004-02-03 14:46:32 +00:00
Ilia Alshanetsky e26531e7c3 MFH: Fixed possible overflow. 2004-02-03 14:44:17 +00:00
Antony Dovgal 55142148ad MFH (making oci8 able to compile with Oracle 10) 2004-02-03 14:22:34 +00:00
Andrey Hristov b9147e80a6 typo fix 2004-02-02 22:43:06 +00:00
Moriyoshi Koizumi 96338f74c5 MFH(r-1.153): POSIX / ISO compliancy.
# this commit is granted by Ilia.
2004-02-01 19:56:16 +00:00
Ilia Alshanetsky 0bf4ee95b6 MFH: Apache 2 portion of the fix for bug #25753. 2004-01-29 15:18:37 +00:00
Ilia Alshanetsky 697102558f Fix for a possible crash in fgetcsv(). (Patch by Moriyoshi Koizumi) 2004-01-29 14:35:34 +00:00
foobar e5a2da9811 typofix 2004-01-29 03:21:22 +00:00
Ilia Alshanetsky 1ca21fdf96 MFH: Fixed bug #27007 (missing connection closure when connect fails in
pgsql)
2004-01-29 02:55:33 +00:00
Ilia Alshanetsky 66fee7dd46 MFH: Fixed bug #27037 (fixed possible crash in apache2handler output code). 2004-01-29 02:18:17 +00:00
Sara Golemon f62beb8487 BFN 2004-01-29 00:11:41 +00:00
Sara Golemon 25d980f23c This should not have been an INI_ALL directive. 2004-01-29 00:09:26 +00:00
Ilia Alshanetsky 33d0cdb426 MFH: Fixed bug #27011 (64bit int/long confusion in preg_match*() functions) 2004-01-28 21:49:15 +00:00
foobar 99bcc186f6 BFN 2004-01-28 19:26:44 +00:00
Rasmus Lerdorf e596539840 If we have a text/html file with the executable bit set, we load up the
current ini, but if php's xbithack option is not set we forgot to restore
the previous ini settings potentially leaking ini settings from one request
to the next.  Closes bug #25753 and a few others.
2004-01-28 17:42:20 +00:00
Martin Kraemer 0a00d25a28 Bug fix: Images would be broken on big-endian machines because the putc
function wrote the first (instead of "the low order") byte. That resulted
in unexpected zero bytes.
2004-01-28 16:27:42 +00:00
Ilia Alshanetsky 6467ac57d6 Bug fixing news. 2004-01-28 01:43:59 +00:00
Ilia Alshanetsky dd4d0ba050 MFH: Fixed bug #27058 (crash in sybase_connect() with 2 arguments). 2004-01-28 01:43:55 +00:00
Ilia Alshanetsky 7afa3484c0 MFH: Fixed bug #27056 (ints used instead of longs inside some GD functions) 2004-01-28 01:38:15 +00:00
Marcus Boerger d525845531 still version 4 here 2004-01-27 01:24:17 +00:00
Marcus Boerger ce983dad77 Use RPM variables
# as discussed with ilia
2004-01-27 00:32:35 +00:00
Antony Dovgal 5e8bee0b4d MFH 2004-01-26 14:04:22 +00:00
Marcus Boerger 4e151b1c7d MFH 2004-01-26 08:38:38 +00:00
SVN Migration ca47777e5f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-26 08:37:24 +00:00
Pierre Joye 0ffeb8f5cd MFH, I'm done 2004-01-26 01:37:13 +00:00
Pierre Joye 195dcc7eda - MFH 2004-01-26 01:34:03 +00:00
Pierre Joye c28909f9d9 MFH 2004-01-26 01:26:47 +00:00
Moriyoshi Koizumi 2667855bad BFN 2004-01-26 00:30:42 +00:00
Moriyoshi Koizumi 3887735c4c - MFH(r-1.3): Suppress a compiler warning by a rather useless typecasting. 2004-01-26 00:27:54 +00:00
Moriyoshi Koizumi 056bb1ad7c - MFH(r-1.2): Fix bug #26699 (mbstring doesn't identify "binary" as a valid encoding name) 2004-01-26 00:21:57 +00:00
foobar 50f57d6cbb MFH: - Fixed bug #27040 (passing an array of form-fields to CURLOPT_POSTFIELDS does not work). 2004-01-26 00:18:25 +00:00
Ilia Alshanetsky 074b68fe73 A better bug description, for people without the official Ilia decoder
ring.
2004-01-26 00:15:10 +00:00
Ilia Alshanetsky bb0973e294 bug fixing news. 2004-01-25 23:55:43 +00:00
Pierre Joye 223398e0fa MFH 2004-01-25 23:54:49 +00:00
Pierre Joye aef84ceb00 MFH 2004-01-25 23:42:43 +00:00
Pierre Joye 55f2a16d01 - 2004 (c) 2004-01-25 23:35:02 +00:00
Pierre Joye 65fa341a3e - year++; 2004-01-25 23:20:01 +00:00
Pierre Joye 643b271bea - wassup... really add Mail-1.1.2 2004-01-25 23:04:55 +00:00
Pierre Joye 3b61fc5389 - Update: HTTP-1.2.2 Mail-1.1.2 DB-1.6.0RC1 2004-01-25 23:00:11 +00:00
Pierre Joye 8a67145847 - Prepare 4.3.5, remove old archives 2004-01-25 22:58:50 +00:00
Ilia Alshanetsky cef2c74845 sybase_ct extension fixes and improvements by Timm Friebe. 2004-01-25 20:43:32 +00:00
Timm Friebe 202500193d - MFH 2004-01-25 20:14:05 +00:00
foobar 6505875c9a MFH: typofix 2004-01-23 07:02:54 +00:00
foobar c49fdf4dd8 Nuke unused variable 2004-01-22 03:25:37 +00:00
foobar ed53d131ea MFH 2004-01-21 22:50:32 +00:00
SVN Migration 8bb1db38f8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-21 22:48:29 +00:00
Ard Biesheuvel 29f088a033 Fixed bug #26968 (Segfault with Interbase module built as shared) 2004-01-21 10:12:17 +00:00
Marcus Boerger a081107225 Add these files to the actual package 2004-01-21 07:19:07 +00:00
Marcus Boerger d16b06c185 Make this thing actually work again
# look at changelog
# pdf shouldn't be a default extension in this script it's seldom available
2004-01-21 06:58:04 +00:00
foobar c1b09a29f2 MFH 2004-01-21 05:04:50 +00:00
foobar 7b25877fec MFH: - Fixed bug #26973 (*printf() + modifier broken) 2004-01-21 04:00:47 +00:00
foobar 27959e82ec MFH 2004-01-21 03:59:05 +00:00
foobar c74a480546 MFH 2004-01-21 03:49:26 +00:00
SVN Migration 935ed0d844 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-21 03:49:16 +00:00
Ilia Alshanetsky bfc284dfb5 MFH: Fixed bug #26974 (rename() doesn't check the destination file against
safe_mode/open_basedir).
2004-01-21 02:33:22 +00:00
Antony Dovgal 92deeac732 fix savelob() to make it possible to write data at the beginning of LOB 2004-01-20 11:37:17 +00:00
foobar 6e22b67233 MFH: Fixed bug #26969 (shared openssl build fails) 2004-01-20 01:11:40 +00:00
Marcus Boerger 31f10bc418 Correct license 2004-01-19 19:58:57 +00:00
Marcus Boerger 331b6605c3 Fix a memleak 2004-01-19 19:57:17 +00:00
foobar e902399d15 - Fixed bug #26381 (rand() without srand() doesn't work with certain php.ini)
# This was no prob in PHP5, some memory corruption / leaks, whatever fixed
# in ZE2 but not in ZE1?
2004-01-19 19:07:08 +00:00
Ilia Alshanetsky 90583839db Bug fixing news. 2004-01-19 18:42:07 +00:00
Ilia Alshanetsky bdfe271088 MFH: Fixed bug #26967 (make various file operations return FALSE on error). 2004-01-19 18:40:45 +00:00
foobar fe2eb8697f BFN 2004-01-19 17:45:26 +00:00
Moriyoshi Koizumi d8d8abeee8 - MFH(r-1.3): Turn off mbstring.func_overload as this test uses plain strlen()
for comparison.
2004-01-19 16:54:22 +00:00
Ilia Alshanetsky 5207463590 MFH: Added fgetcsv() tests. 2004-01-19 03:55:44 +00:00
SVN Migration fc6aba5bea This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-19 03:55:30 +00:00
foobar f22177b7e4 MFH: Moved php_srand() call into php_rand(). 2004-01-19 03:16:04 +00:00
foobar 633a7470d1 MFH: - Fixed bug #26949 (rand(min,max) always returns min when ZTS enabled) 2004-01-19 02:31:19 +00:00
Ilia Alshanetsky 17d0b30415 Corrections for various fgetcsv() issues. 2004-01-18 18:46:32 +00:00
foobar 12d27576f3 MFH: Fixed bug #26923 (ext/imap: pam and crypt libraries missing when build as shared) 2004-01-17 00:01:06 +00:00
foobar 0b74da4a4a MFH: - Fixed bug #26937 (Warning in xml.c) 2004-01-16 19:12:46 +00:00
Ilia Alshanetsky 09f6f3244b Added Antony Dovgal as OCI8 maintainer. 2004-01-16 16:46:59 +00:00
foobar 5f19e3c747 BFN 2004-01-16 11:27:00 +00:00
Ilia Alshanetsky 936b7e8e82 MFH: Fixed Bug #26927 (preg_quote() does not escape \0). 2004-01-16 02:31:26 +00:00
SVN Migration 41904eb4b2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-16 02:29:51 +00:00
Marcus Boerger baa7c1746e Add missing fd creation 2004-01-15 21:28:37 +00:00
Antony Dovgal f9ee999b71 MFH: fix bug #26892 2004-01-15 15:14:41 +00:00
foobar 28686f683f Fix overflow 2004-01-15 06:09:43 +00:00
Ilia Alshanetsky fea2f6e689 MFH: Fixed bug #26909 (crash in imap_mime_header_decode() when no encoding is
used).
2004-01-15 00:36:09 +00:00
Wez Furlong cbc8c32567 Probable fix for:
Bug #25575 stream_set_blocking with STDIN doesnt block
2004-01-14 14:54:14 +00:00
Wez Furlong 70e26f8ebc Fixed bug #26772 (fgets returns NULL instead of FALSE). (Wez) 2004-01-14 14:31:27 +00:00
Ilia Alshanetsky a6dcd940b5 MFH: Fixed bug #26878 (problem with multiple references to the same variable
with different types).
2004-01-13 23:31:46 +00:00
SVN Migration a8202c83d3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-13 23:11:32 +00:00
foobar a5952e9c8b BFN 2004-01-13 19:00:17 +00:00
foobar 4da78a716c MFH: - Fixed bug #26896 (ext/ftp does not work as shared extension) 2004-01-13 18:59:08 +00:00
Derick Rethans e41bc6906c - Fixed year in version notices 2004-01-13 09:13:44 +00:00
Ilia Alshanetsky 1f0fe33edb Back to dev. 2004-01-12 15:10:17 +00:00
Ilia Alshanetsky 422dfcaf3e Set release date. 2004-01-12 14:31:27 +00:00
Ilia Alshanetsky 0f7556a1b8 Go with 4.3.5RC1 2004-01-12 14:30:23 +00:00
Ilia Alshanetsky bea9ba8fc2 MFH: Fixed bug #26864 (pg_(update|delete) ignore PGSQL_DML_EXEC option). 2004-01-11 21:18:29 +00:00
foobar 3b61552cd7 MFH: test for bug #26869 2004-01-11 14:00:07 +00:00
SVN Migration 77e02d2e30 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-11 13:59:49 +00:00
Ilia Alshanetsky 9058adacc8 MFH: Fixed bug #26847 (memory leak in mail() when to/subject contain only
spaces).
2004-01-09 01:35:58 +00:00
foobar ab99e92450 MFH: Added missing constants (bug #26831) 2004-01-08 01:02:03 +00:00
foobar b539f500fc BFN 2004-01-07 23:51:10 +00:00
Ard Biesheuvel a85cfe5b14 MFH: Let DB handle NULL params, fixes bug #26777 2004-01-07 09:44:21 +00:00
Ilia Alshanetsky f7aef14323 MFH: 64 bit stuff. 2004-01-06 00:56:10 +00:00
Georg Richter 8ea0a2c1c8 s/2003/2004 :) 2004-01-05 14:42:26 +00:00
Ilia Alshanetsky 7f529a8361 Fixed compile warnings.
Fixed crash in crack_closedict();
Switched from zend_error() to php_error_docref();
2004-01-04 20:01:07 +00:00
Edin Kadribasic 9a0060e27c BFN 2004-01-03 23:33:01 +00:00
Edin Kadribasic 90f72e11bf More proper news format. 2004-01-03 21:45:47 +00:00
Edin Kadribasic c0d963299a MFH: cli overrides php.ini and switches output buffering off. 2004-01-03 21:36:18 +00:00
Ilia Alshanetsky cc6dd2f296 MFH: s/then/than/ 2004-01-03 00:50:01 +00:00
Ilia Alshanetsky 1fc017d8a3 MFH: Fixed bug #26752 (Silent unterminated loop when length parameter for
fgets(), fread() and fgetss() is 0).
2004-01-02 00:58:15 +00:00
Derick Rethans aa288c1f7a - MFH: Fixed bug #26751 (PHP can't find the MySQL socket on a case sensitive
file system).
2003-12-31 11:28:39 +00:00
Ilia Alshanetsky f899afbfca Boundry check. 2003-12-28 19:31:48 +00:00
Marcus Boerger f9279a6b81 Fixed Bug #25329 sqlite_create_function with method and reference to $this 2003-12-27 22:20:55 +00:00
Ilia Alshanetsky 3cee600ed8 GD news 2003-12-25 22:33:50 +00:00
Ilia Alshanetsky a0c6c4f59f MFH: Synchronized bundled GD library with GD 2.0.17 2003-12-25 22:33:03 +00:00
Ilia Alshanetsky f2307f1623 Bug fixing news. 2003-12-25 18:58:30 +00:00
Ilia Alshanetsky e03bd905ad MFH: Fixed Bug #26703 (Certain characters inside strings incorrectly
treated as keywords).
2003-12-25 18:57:30 +00:00
SVN Migration 03db21ee2c This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-12-25 18:57:27 +00:00
Ilia Alshanetsky 9235a5d001 MFH: Fixed bug #26707 (Incorrect error for disabled functions/classes).
# Direct MFH of the patch in PHP 5.0 cannot be used because that would
# require the change of API. So we'll need to make do with a one time
# (small) memory leak on startup when disable_functions and/or classes are
# used.
2003-12-24 16:43:23 +00:00
Ilia Alshanetsky 2a7a76c93e MFH: Make test work with PostgreSQL 7.4 2003-12-23 17:33:16 +00:00
Marcus Boerger 1fe64c5ffb Add inifile handler in windows build too. 2003-12-23 13:42:12 +00:00
Moriyoshi Koizumi eb74b414a8 Oops. 2003-12-23 11:06:42 +00:00
Moriyoshi Koizumi 0fa2ebc0f2 Fix fgetcsv()'s null line handling.
# Thanks Takeshi Nakamura for reporting this bug.
2003-12-23 11:02:26 +00:00
Ilia Alshanetsky 160852eaf0 Fixed memory leak. 2003-12-22 21:03:54 +00:00
Rob Richards 338a796166 define LIBXML_THREAD_ENABLED 2003-12-22 16:51:50 +00:00
Ilia Alshanetsky ba634aacd4 MFH: Define INADDR_NONE for systems that don't have it (apparently solaris) 2003-12-22 16:00:54 +00:00
Ilia Alshanetsky 437a1e90c9 MFH: Missing bit for bug #26625. 2003-12-22 15:56:52 +00:00
Wez Furlong c8dbe95e7a Fix Bug #25597 pfsockopen crashes when recycling a persistent list entry. 2003-12-20 20:24:36 +00:00
Antony Dovgal f8fa606849 add .cvsignore to oci8/tests 2003-12-19 17:02:03 +00:00
Antony Dovgal 60cd2d0604 add test 2003-12-19 17:01:24 +00:00
Pierre Joye 9349ad79ff - MFH 1.3b5 release tag 2003-12-19 13:55:45 +00:00
Ilia Alshanetsky 6aeafbd611 MFH: Check correction 2003-12-19 13:50:01 +00:00
Ilia Alshanetsky 4f3b9cd691 MFH: Fixed bug #26667 (Added safety checks to ip2long()). 2003-12-19 13:33:57 +00:00
Moriyoshi Koizumi 348078406d MFH(r-1.206): Fixed bug #26639 (mb_convert_variables() clutters variables beyond the references) 2003-12-18 09:52:51 +00:00
SVN Migration f9bc86556e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-12-18 09:50:21 +00:00
foobar d7d8388543 wet 2003-12-17 21:10:23 +00:00
Marcus Boerger 7e950b6a31 MFH: Fix warning 2003-12-17 09:08:37 +00:00
Marcus Boerger 98dc115fab MFH: Fix warnings 2003-12-17 09:02:07 +00:00
Andrei Zmievski 1c9c0f592c Umm, let's not enable NO_RECURSE by default. The matches on some
patterns can be more than twice as slow as before.
# Maybe we should add a --disable-pcre-stack-recursion compile option
2003-12-16 22:14:55 +00:00
Andrei Zmievski bf93051fff Fix function name. 2003-12-16 21:55:22 +00:00
Andrei Zmievski fc3db427b2 - Upgraded library to version 4.5
- Define NO_RECURSE to avoid stack problems.
- Moved contents of RINIT hook to MINIT and removed RINIT.
- Removed a couple of extraneous files.
2003-12-16 21:52:14 +00:00
Marcus Boerger f3543b425f MFH: Fix winbuild 2003-12-16 21:41:57 +00:00
foobar 6741fc0883 MFH: fix compile warnings 2003-12-16 21:00:36 +00:00
Derick Rethans cf2b96f84b - MFH memleak fix from rev 1.50 2003-12-16 19:59:58 +00:00
Sara Golemon 49e7c1eb7a MFH: Fail loudly. This is too often reported as a "bug". 2003-12-16 19:45:35 +00:00
Ilia Alshanetsky 1018001888 ZTS fix. 2003-12-16 17:23:27 +00:00
Ilia Alshanetsky 4d2cdc8224 MFH: Fixed Bug #26625 (pg_convert sets NULL incorrectly for character data
types).
2003-12-16 01:00:45 +00:00
Ilia Alshanetsky 4ae82d2189 MFH: Fixed bug #26635 (fixed look up for fonts in the current directory
w/ZTS)
2003-12-15 20:34:57 +00:00
Andrei Zmievski 0e6a306e68 *** empty log message *** 2003-12-15 19:35:34 +00:00
Ilia Alshanetsky a4935ca741 Fixed bug #26634 & added test case. 2003-12-15 18:53:26 +00:00
foobar 162fb6f465 BFN 2003-12-15 01:18:46 +00:00
foobar f72080cb48 MFH: Fix from Michael Sisolak (destructors weren't always properly called) 2003-12-15 01:14:54 +00:00
Marcus Boerger e0eaa22d19 BFN 2003-12-14 22:20:55 +00:00
Marcus Boerger 046da9b906 MFH: Synch (as far as possible) and fix #26304 2003-12-14 22:20:05 +00:00
Christian Stocker 3d3d33c018 fix for bug #26595 "`XSLT_NAMESPACE' undeclared" 2003-12-13 11:36:14 +00:00
Ilia Alshanetsky 76a19ecdf8 More fgetcsv() fixes. 2003-12-13 01:44:24 +00:00
Ilia Alshanetsky 09d6b582ae For BC reasons we need to do ltrim() on csv entries. 2003-12-12 19:25:33 +00:00
Ilia Alshanetsky e61a8d577c MFH: Fixed bug #26604 (Apache2 SAPIs implicitly disable Keep-Alive). (Ilia) 2003-12-12 17:19:18 +00:00
Uwe Schindler 8c0e3568a9 remove revision tag from module version entry 2003-12-12 16:21:44 +00:00
foobar cdbfc6a8fb MFH: Fixed bug #26461 (-lssl missing from LIBS) 2003-12-12 05:20:24 +00:00
foobar 5a7f4ada80 generated, ignored files should not be in CVS.. 2003-12-12 05:05:34 +00:00
Greg Beaver bf7636d282 MFH 2003-12-12 00:04:17 +00:00
Greg Beaver 9973b97212 fix error message, it shouldn't attempt to display a version if none is installed 2003-12-11 23:55:03 +00:00
Greg Beaver e5b8ff2641 remove obsolete parameters to constructor 2003-12-11 23:54:39 +00:00
Greg Beaver 6d227b5775 MFH 2003-12-11 23:46:55 +00:00
foobar d5a0cf3575 reword 2003-12-11 23:14:55 +00:00
Andrei Zmievski 30f6668c7d Implement getopt2() method and keep BC for getopt(). 2003-12-11 19:28:25 +00:00
Greg Beaver 5f32f2e6a1 MFH fix #391, PHP 5 reference fix 2003-12-11 16:08:19 +00:00
Edin Kadribasic aade4a6069 Mention new pgsql libs 2003-12-11 12:58:17 +00:00
Edin Kadribasic 45b85c504b Standard header file locations 2003-12-11 10:06:39 +00:00
Edin Kadribasic 2d5754d69f Nuke unused local vars 2003-12-11 10:06:12 +00:00
Moriyoshi Koizumi 10b70c23ae This file is automagically generated in the custom build process on win32. 2003-12-11 08:40:30 +00:00
Moriyoshi Koizumi 1ceef81ac8 Eliminate compiler warnings. 2003-12-10 17:44:12 +00:00
Moriyoshi Koizumi f26881fdc0 Eliminate compiler warnings. 2003-12-10 17:36:05 +00:00
Moriyoshi Koizumi 2f7e889009 DOS line endings... 2003-12-10 17:26:24 +00:00
Moriyoshi Koizumi 6119dad1ec Fix win32 build. 2003-12-10 17:25:40 +00:00
Moriyoshi Koizumi a450efff4e MFH(1.4): Remove leftover 2003-12-10 17:10:05 +00:00
foobar ceda30930a MFH: Fixed bug #26565 (strtotime("this month") resolving to the wrong month) 2003-12-10 14:09:44 +00:00
Pierre Joye 1729d3ca75 - Fix pecl installer
package::info() _must_ be called with PECL in mind
  There should be other issues, more later.
2003-12-09 20:51:49 +00:00
foobar 4115b9aa6c MFH: Fixed bug #26564 (ncurses5 has headers in PREFIX/include/ncurses/) 2003-12-09 20:33:22 +00:00
Ard Biesheuvel 1303e186e5 Fix build 2003-12-08 10:01:11 +00:00
Ard Biesheuvel 7ba00c2563 Corrected ibase_close() fix 2003-12-08 09:46:07 +00:00
Sergey Kartashoff 112bc3df71 - A bug in Udm_Hash32 function was fixed. 2003-12-08 08:24:59 +00:00
Moriyoshi Koizumi 318fc44c8a MFH(r-1.45): Avoid using non-portable test syntax. 2003-12-08 07:18:46 +00:00
Moriyoshi Koizumi 6771367c95 Those casts are really necessary.
# Heads up; please be careful using is*() functions. The function of that kind
# takes an integer value as its argument and expects the value to be range of
# 0-255 as a parameter. So if you pass a plain char value to it, the char
# value will be converted implicitly to an integer value of the range
# -128 ~ 127, which will end up with an unwanted result, most likely with
# non-ASCII characters. This has been considered to be a big flaw in the
# specification of the ctype functions. However, the malfunction is not
# reproducible with the recent versions of the GNU C library because it is
# made to deal with such exceptional cases, while Microsoft's C library
# and several standard C libraries of BSD origin aren't.
#
# See also bug #10896, #12127, #18318, and #21689.
#
2003-12-07 21:55:16 +00:00
foobar 7999d1a384 BFN 2003-12-07 17:02:26 +00:00
foobar 82321ff0d4 MFH: Fix for bug #26548: Malformed HTTP dates in headers 2003-12-07 16:53:30 +00:00
Stanislav Malyshev da74ef221f fix potential buffer overrun 2003-12-07 12:57:26 +00:00
Greg Beaver 2c28506fcf MFH 2003-12-07 00:31:50 +00:00
Greg Beaver 592380ac7c MFH last 2 commits 2003-12-07 00:11:45 +00:00
Greg Beaver a4c86a50bb MFH 2003-12-06 23:52:44 +00:00
Greg Beaver d28971a2b6 MFH 2003-12-06 23:44:23 +00:00
Greg Beaver 9b225deeb2 MFH 2003-12-06 22:19:53 +00:00
Greg Beaver 3f5a393d9c MFH 2003-12-06 22:14:49 +00:00
Greg Beaver 2361a14e0f MFH 2003-12-06 22:08:58 +00:00
Ilia Alshanetsky 5d7f648f83 Fixed memory corruption occuring in fgetcsv() on certain files. 2003-12-06 22:07:00 +00:00
Greg Beaver f766cea8af MFH 2003-12-06 21:54:06 +00:00
Greg Beaver 6cdf895b62 getting ready for both packages to be released 2003-12-06 21:47:54 +00:00
Marcus Boerger 60661a012b Update error/warning messages 2003-12-06 21:28:07 +00:00
Marcus Boerger b93038396e MFH: Do not dynamically load the extension in skipif 2003-12-06 20:46:48 +00:00
foobar 12defebcf0 No maintainer for oci8 / oracle 2003-12-06 16:28:19 +00:00
SVN Migration 8e0820820a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-12-06 06:06:51 +00:00
Andrei Zmievski 087326527e Remove erroneous array_shift(). The args passed to Getopt are supposed
to be without leading command name anyway. This has been the rule since
the first release.
2003-12-05 21:57:01 +00:00
Rob Richards 5061d1ca32 Fix bug #26531: get_elements_by_tag_name() wildcard fails 2003-12-05 19:21:05 +00:00
Moriyoshi Koizumi 7f504d30ea MFH 2003-12-04 22:53:38 +00:00
Moriyoshi Koizumi 0479203e55 MFH: it'd be a bad idea to make subpackages dependent on the php build system. 2003-12-04 22:50:54 +00:00
foobar ee840f1ff6 MFH: Only add 'install-modules' into install targets when there are such
modules to install
2003-12-04 15:59:04 +00:00
foobar 580d5e80b5 MFH: Fix for "make install" with empty INSTALL_IT 2003-12-04 13:42:25 +00:00
foobar 8c4361d2f1 MFH: Fix compile with c++ (bug #26519) 2003-12-04 12:45:32 +00:00
Uwe Schindler c6e131f9a4 Fix bug #25916: get_browser() -> PHP Fatal error: Nesting level too deep - recursive dependency? 2003-12-04 08:56:07 +00:00
foobar 83bec74173 BFN 2003-12-04 06:37:14 +00:00
Ilia Alshanetsky a1f00c0bae MFH: Typo fix. 2003-12-04 00:14:50 +00:00
Ilia Alshanetsky ed54147a4b MFH: Test case for bug #24773. 2003-12-03 23:00:36 +00:00
Ilia Alshanetsky e4b49f2de7 MFH: Remove unnecessary casts. 2003-12-03 22:51:54 +00:00
Moriyoshi Koizumi b8cd29330d MFH(r-1.71): Possible fix for bug #26391 (parse_url() destroys strings
that contain a character in range of 0x80-0xff)
# I couldn't reproduce it with Panther though.
2003-12-03 20:59:12 +00:00
Moriyoshi Koizumi a4d189ed94 BFN 2003-12-03 19:33:25 +00:00
Rob Richards 53d0e56f42 require libxml 2.5.11 for threaded error handling
certain cases crash unlocking libxml mutex with earlier versions
2003-12-03 12:30:02 +00:00
Frank M. Kromann 37871089e1 set freed pointer to null to avoid reuse 2003-12-02 18:37:50 +00:00
Rob Richards 396074e1cc Fix bug 26443: No errror reporting for Errors in the domxml extension 2003-12-02 15:09:31 +00:00
Ilia Alshanetsky da55f714a9 MFH: Optimize substr_replace 2003-12-01 23:21:25 +00:00
foobar 8d025a62fb MFH: ws fixes 2003-12-01 16:40:59 +00:00
foobar 74540e51a7 MFH: - Fixed bug #26488 (Missing declaration of CRTSCTS in ext/dio/dio.c) 2003-12-01 16:38:23 +00:00
Rob Richards 1592b88645 Fix bug #26443: No errror reporting for Errors in the domxml extension 2003-12-01 16:19:15 +00:00
foobar 9dfae5b28d MFH 2003-12-01 16:12:42 +00:00
foobar bdf9ed31c0 MFH 2003-12-01 14:01:49 +00:00
Greg Beaver cd5ef04293 MFH: bugfixes 2003-12-01 00:21:21 +00:00
foobar 67674a77c7 BFN 2003-11-30 09:39:48 +00:00
Wez Furlong 8633a4fb0e Fix:
#26467 flock does not force wouldblock argument to be passed by reference
Thanks to Manuel Lemos
2003-11-29 20:48:49 +00:00
Ilia Alshanetsky 7efed1c11d Bug fixing news. 2003-11-29 19:06:45 +00:00
Ilia Alshanetsky e0f235787c MFH: Fixed bug #26463 (Incorrect handling of semicolons after heredoc) 2003-11-29 19:05:59 +00:00
SVN Migration ac05068dd2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-29 19:05:15 +00:00
Ilia Alshanetsky ee1077aad0 MFH: Fixed a memory leak when tokenizing scripts with heredoc. 2003-11-29 18:22:46 +00:00
Greg Beaver 6c22098068 add dependency on xml extension - we need it for every installation/package function 2003-11-29 17:54:39 +00:00
Greg Beaver de3937a88f MFH Bug #324 2003-11-29 16:39:31 +00:00
foobar 5f4df19833 MFH: - fixed Bug #26462 (phpize + ext/bcmath -> compile error) 2003-11-29 13:35:33 +00:00
foobar cfeec1e72b BFN 2003-11-29 12:10:14 +00:00
foobar c77e4951c5 - Fixed bug #26447 (--with-openssl=shared causes compile errors).NEWS 2003-11-29 12:08:03 +00:00
Wez Furlong 5f0729c281 fix zts build... 2003-11-29 12:02:40 +00:00
foobar 1525e15d4f MFH 2003-11-29 07:16:16 +00:00
Ilia Alshanetsky 4c86e3b2bf Bug fixing news & corrections. 2003-11-29 04:50:03 +00:00
Ilia Alshanetsky 680dd335bc Added missing skip conditon. 2003-11-29 04:47:40 +00:00
Ilia Alshanetsky 575bd9e537 MFH: Fixed bug #26458 (var_dump(), var_export(), debug_zval_dump() not
binary safe for array keys).
2003-11-29 04:43:11 +00:00
SVN Migration f8fed9d571 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-29 04:43:07 +00:00
Sara Golemon 6aa5175259 MFH 2003-11-29 03:41:09 +00:00
foobar fe4e7d7b43 MFH 2003-11-29 02:29:05 +00:00
SVN Migration 188d80b7cf This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-29 02:28:50 +00:00
Christian Stocker 04a57e2f54 add xml files for bug26384.phpt 2003-11-29 00:53:34 +00:00
Christian Stocker 68d477c66a enhanced bug-26384-fix. It now only does an DocCopy, if xsl:key was
found in xslt-document by default.
2003-11-29 00:43:38 +00:00
Wez Furlong 5fd7263f01 Probable fix for #25575; STDIN/STDOUT/STDERR streams not registered
as network sockets when PHP run from x?inetd.
2003-11-28 22:48:31 +00:00
Wez Furlong f93c6a6a13 Fix for bug #25939; feof not working correctly for sockets.
Possibly also fixes #23220; warnings issued by fgets on ssl sockets.
2003-11-28 22:11:34 +00:00
Greg Beaver c878f2708e odd merge conflict fixed 2003-11-28 20:07:14 +00:00
Ilia Alshanetsky c16bbec898 Fixed bug #26440 (MFH missing context options). 2003-11-28 18:51:14 +00:00
Ilia Alshanetsky 91f0d18894 MFH: More memory leak fixes for stream contexts. 2003-11-28 18:33:18 +00:00
Ilia Alshanetsky ead22712c9 Bug fixing news. 2003-11-28 18:15:23 +00:00
Rob Richards 405fcde229 Fix for bug #26446: domxml_open_file() returns an empty error-Array 2003-11-28 17:39:25 +00:00
Wez Furlong e1823b67c2 MFH: Fix for Bug #25664; calling ITypeInfo::Invoke with bogus params. 2003-11-28 17:14:12 +00:00
Ilia Alshanetsky 37f824c02a MFH: Fixed a memory leak. 2003-11-28 00:00:34 +00:00
foobar b3f36ce142 BFN 2003-11-27 23:18:13 +00:00
foobar ed1af8a375 MFH: - Fixed bug #26438 (error in thttpd SAPI installation) 2003-11-27 23:04:49 +00:00
Ilia Alshanetsky 19d34e9304 MFH: Removed dead code.
# This fixes memory corruption reported by valgrind.
2003-11-27 01:08:51 +00:00
Greg Beaver 6f718d420d MFH Bug #293 2003-11-26 15:11:19 +00:00
Ard Biesheuvel a844072181 Fix crash bug reported by jani/ilia 2003-11-26 14:04:56 +00:00
foobar 3a09eb44cf MFH: On error do not leave content_type_dup unitialized. 2003-11-26 00:33:48 +00:00
Ilia Alshanetsky 67ba3f4c30 MFH: Fixed bug #25963 (PostgreSQL error message include \n characters). 2003-11-25 22:23:54 +00:00
Ilia Alshanetsky bbbf8effb4 Replace fopen() inside domxml_xslt_process() with streams code to prevent
a possible crash and enforce safe_mode & open_basedir restrictions.

Revert workaround for bug #26384, which is due to a bug in libxslt.
Christian will commit a better workaround shortly.
2003-11-25 16:05:18 +00:00
foobar 16f65cff5b MFH: for regression..this works in PHP 4 2003-11-25 09:22:09 +00:00
SVN Migration d20c4bc95a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-25 09:20:57 +00:00
foobar 34c2d8f7a2 MFH: - Fixed bug #26376 (typo in ext/odbc/config.m4: DBMaker test fails) 2003-11-25 08:08:30 +00:00
Ilia Alshanetsky bbd07ddfff Fixed bug #26384 (crash inside domxslt->process() due to a double free). 2003-11-25 02:19:47 +00:00
foobar 3f5a2f35e6 MFH: Fix build for other archs than x86. 2003-11-24 16:10:17 +00:00
Ilia Alshanetsky 5354a79497 MFH: Fixed bug #26355 (flock() doesn't initialize the wouldblock argument) 2003-11-24 01:43:59 +00:00
Rob Richards 27298684b2 fix default recovery mode 2003-11-22 14:43:08 +00:00
Moriyoshi Koizumi d038c0e046 BFN 2003-11-22 13:40:39 +00:00
Moriyoshi Koizumi d95ee6d92a MFH(r-1.98): Fixed bug #26194 (iconv() not properly defined with libiconv). 2003-11-22 13:38:46 +00:00
Rasmus Lerdorf d3e82a6876 Compile fix 2003-11-22 00:55:29 +00:00
Hartmut Holzgraefe a8e94dd8c3 removed ext/standard/tests/time/bug26320.phpt 2003-11-19 16:44:50 +00:00
Hartmut Holzgraefe c3b2390ea8 MFH 2003-11-19 16:40:01 +00:00
SVN Migration 90957978ab This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-19 16:37:51 +00:00
Hartmut Holzgraefe 06659b28ba MFH 2003-11-19 16:22:10 +00:00
SVN Migration 894f2c9be2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-19 16:19:29 +00:00
Ilia Alshanetsky c85bca1758 MFH: Fixed bug #26309 (Fixed argument parsing for imageftbbox()). 2003-11-19 15:50:05 +00:00
Ilia Alshanetsky 12b32d871f MFH: Fixed bug #26285 (escapeshellarg() uses wrong quotes on windows). 2003-11-19 15:34:36 +00:00
foobar 02ca709afd MFH: - Fixed bug #26267 (gmp_random() leaks memory and does not produce random numbers) 2003-11-19 04:44:24 +00:00
foobar 4ffec49140 Fix build 2003-11-19 00:10:03 +00:00
foobar 460d1dfaeb MFH: fixed parameters for gmp_random() 2003-11-18 10:28:34 +00:00
Ilia Alshanetsky 5e6d8ed2d1 MFH: Fixed Bug #25694 (round() and number_format() give inconsistent
results).
2003-11-18 02:50:50 +00:00
SVN Migration 79c6c1efbe This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-18 02:50:42 +00:00
Frank M. Kromann ffa0515b59 Fix for bug #25817
Check for a return value from a stored procedure right after fetching rows
2003-11-17 20:53:28 +00:00
foobar 69796efc37 MFH: - Fixed bug #26253 (ext/tokenizer: build as shared extension fails) 2003-11-17 19:32:05 +00:00
Greg Beaver d6541cb740 MFH 2003-11-17 06:07:44 +00:00
Greg Beaver f0b9f4beca fix bug #248 MFH 2003-11-17 05:57:40 +00:00
Greg Beaver 7765e06ef7 fix bug #249 MFH 2003-11-17 05:47:51 +00:00
Frank M. Kromann 6e105b5751 MFH Fix win32 compilation. 2003-11-15 05:44:02 +00:00
Ard Biesheuvel 52e0410d8e Fix the fix [ibase_trans()] 2003-11-14 10:38:41 +00:00
Moriyoshi Koizumi c30dfcbd20 MFH(r-1.10): ctime (#10) may differ on several filesystems. 2003-11-14 09:01:47 +00:00
foobar 176f804d75 MFH 2003-11-14 03:21:15 +00:00
Ilia Alshanetsky 7d60c49e0e MFH: Fixed bug #26235 (yp_first/yp_next do not specify correct key length). 2003-11-14 00:32:40 +00:00
Marcus Boerger c4871a7329 MFH: Proto fixes (Friedhelm Betz <holliwell|gmx.net>) 2003-11-13 19:09:24 +00:00
foobar 0d260304dc MFH 2003-11-13 14:18:02 +00:00
Marcus Boerger 61a601cb12 BFN 2003-11-13 09:00:48 +00:00
Marcus Boerger 26d3d83a4d MFH Bugfix #25794: Cannot open existing hash db3 file with write 2003-11-13 08:59:17 +00:00
Marcus Boerger 6d124bfc5e BFN 2003-11-12 22:58:00 +00:00
Marcus Boerger 10a18840da MFH Bugfix #26216: ("getimagesize(): stream does not support seeking" when
using remote files)
2003-11-12 22:56:09 +00:00
Stefan Esser e58611c0c7 Fix odd increments to repair the boundary checks. 2003-11-12 22:34:34 +00:00
Sergey Kartashoff d71244b42b - A WORDINFO calculation in mnogosearch extension was fixed 2003-11-12 07:52:57 +00:00
Ilia Alshanetsky c26e78f88a Fixed bug #26201 (crash in ibase_trans() on invalid link handle). 2003-11-12 03:05:24 +00:00
Ilia Alshanetsky b5fb634af4 MFH: Fixed bug #26198 (strtotime() handling of M/F Y date format). 2003-11-12 02:58:38 +00:00
SVN Migration 5bc3f3656a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-12 02:55:04 +00:00
Rui Hirokawa 13a5ff7119 fixed compilation warning. (patched by Joe Orton) 2003-11-11 22:18:24 +00:00
Ilia Alshanetsky 8d9bd14c18 MFH: Compiler warning fix (patch by Joe Orton). 2003-11-11 20:04:19 +00:00
Moriyoshi Koizumi c47c73519e MFH(r-1.204): Compiler warning fix (patch by Joe Orton). 2003-11-11 19:57:48 +00:00
Ilia Alshanetsky 174f14c76b Fixed bug #26168 (shtool availability check in phpize). 2003-11-10 04:33:57 +00:00
Ilia Alshanetsky bafccc7dbf MFH: Fixed bug #26176 (Fixed handling of numeric keys in INI files). 2003-11-10 04:12:50 +00:00
Derick Rethans 7b1f6c319e - Expose the base64 functions to external extensions on windows. 2003-11-09 20:30:15 +00:00
Sergey Kartashoff a5a3d7b657 - Mnogosearch extension wsa updated to include mnogosearch-3.2.16 features. 2003-11-08 14:39:15 +00:00
Marcus Boerger 10b71e08e1 MFH (#26056: Warnings while compiling exif.c) 2003-11-08 14:16:14 +00:00
Moriyoshi Koizumi 869f61fcf8 touch 2003-11-08 04:45:18 +00:00
Wez Furlong fa90d82b27 Fix shared/pecl build for extensions that rely on mbstring... 2003-11-08 01:09:11 +00:00
Frank M. Kromann c3fd539306 Reverting. New features are not supposed to go into the 4.3 branch 2003-11-08 00:33:58 +00:00
Ilia Alshanetsky eae45bec5c Fixed bug #26003 (Make fgetcsv() binary safe). (Ilia) 2003-11-07 21:40:47 +00:00
Ilia Alshanetsky 812f7748a6 Bug fixing news. 2003-11-06 20:34:57 +00:00
Frank M. Kromann 58a2f7d6a9 Getting rid of c++ style comments 2003-11-06 16:49:53 +00:00
Rui Hirokawa 2dabb19a5a bug fixed: name parameter of multipart form was not converted into internal encoding when mbstring.encoding_translation is on. 2003-11-06 15:41:37 +00:00
Sascha Schumann e08feebfd5 WS 2003-11-06 14:31:14 +00:00
Sascha Schumann aa359d95e3 Fix a format string
Nuke a sprintf (slooow)

And embed the charset as part of the hashed details (persistent conn key),
because the function otherwise happily returns incompatible connections.
(e.g. US7ASCII vs. UTF8; the client-side charset is not alterable once a
 connection has been established.)
2003-11-06 14:27:34 +00:00
Frank M. Kromann 02b56d1709 Adding new features from ming 0.3a. 2003-11-06 07:29:02 +00:00
Uwe Schindler 202d0cb224 remove unix crap 2003-11-05 08:32:34 +00:00
Sascha Schumann 7aa8ca5e6f Forgot to add that.. 2003-11-05 08:05:31 +00:00
Moriyoshi Koizumi 95e990757d BFN 2003-11-05 04:32:15 +00:00
Moriyoshi Koizumi 9e1dd60032 Fixed bug #26128 (mbstring prints out wrong information on phpinfo()) 2003-11-05 04:28:00 +00:00
Moriyoshi Koizumi e2cce3325b *** empty log message *** 2003-11-05 04:24:54 +00:00
Ilia Alshanetsky 40ffe5ed82 MFH: Fixed bug #26113 (remove leftover local file when ftp_get/ftp_nb_get
fails).
2003-11-04 20:56:56 +00:00
Ilia Alshanetsky 5958582185 Bug fixing news. 2003-11-04 20:40:31 +00:00
foobar b564d1f137 BFN 2003-11-04 13:23:44 +00:00
Uwe Schindler b828a3c43c SunONE servers 2003-11-04 09:02:01 +00:00
foobar bd5b1ff74f MFH: - limit writing of field data to field len + 1
This fixed many memory overrun errors which appeared
       in several scripts when writing a record.

by: Uwe Steinmann <steinm@php.net>
2003-11-04 06:09:19 +00:00
foobar e246ca1ef6 MFH: Possible fix for bug #26103 2003-11-04 05:15:55 +00:00
SVN Migration b6752a1393 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-04 05:15:20 +00:00
Ilia Alshanetsky 00203d2968 MFH: Fixed bug #26097 (gdImageColorClosestAlpha() returns incorrect
results).
2003-11-04 01:56:07 +00:00
Ilia Alshanetsky 038e99660f Bug fixing news 2003-11-04 01:40:22 +00:00
Ilia Alshanetsky ed5212ca70 MFH: Fixed bug #25581 (getimagesize () return incorrect values on bitmap
(os2) files).
2003-11-04 01:38:33 +00:00
Ilia Alshanetsky 7dc3d8bd0e MFH: Fixed bug #26042 (memory leak if mcrypt_generic_deinit() is not called
after every mcrypt_generic_init() call).
2003-11-04 01:32:40 +00:00
foobar 701b075782 cosmetics 2003-11-03 23:16:28 +00:00
Edin Kadribasic 0fff37b01a Fix tsrm build 2003-11-02 23:14:18 +00:00
Ilia Alshanetsky 3af4920403 back to dev. 2003-11-02 23:12:02 +00:00
Ilia Alshanetsky d6bb1fd35a Go with 4.3.4 2003-11-02 22:15:05 +00:00
Ilia Alshanetsky 94f7723659 Prepare NEWS file for 4.3.4 release. 2003-11-02 21:56:26 +00:00
Uwe Schindler 571ca7f26e this is not needed 2003-11-01 23:56:58 +00:00
Sascha Schumann 3d08aea7da not really adequate here 2003-11-01 22:34:02 +00:00
Uwe Schindler 4c9381c538 news update 2003-11-01 12:50:48 +00:00
Greg Beaver bc087095be ack 2003-11-01 05:18:55 +00:00
Greg Beaver 61e6878898 might as well, someone will try it someday 2003-11-01 05:17:40 +00:00
Greg Beaver 43209b4bf6 rework some odd code 2003-11-01 05:16:04 +00:00
Greg Beaver ca763cac46 PATH_SEPARATOR is very handy 2003-11-01 05:14:11 +00:00
Greg Beaver 43cf3d6f66 MFH all fixes found by unit tests 2003-11-01 05:07:55 +00:00
Uwe Schindler 005dfa3c04 MFH 2003-10-31 17:32:04 +00:00
Uwe Schindler 112c1def73 Send correct default content type from php.ini not static text/html (important for other charsets than iso-8859-1) 2003-10-31 12:17:43 +00:00
Greg Beaver 9c1611188c MFH #171 2003-10-31 04:55:00 +00:00
foobar 1406239f9a Fix "bug" #26039 2003-10-31 01:28:11 +00:00
Uwe Schindler 0958e5a5cb Fix ZTS build #2 2003-10-30 01:05:25 +00:00
Moriyoshi Koizumi ac0a394ffa A bit pickier about platform. 2003-10-29 21:58:33 +00:00
Moriyoshi Koizumi d80b742e44 BFN 2003-10-29 21:56:16 +00:00
Moriyoshi Koizumi 227088c36b MFH(r-1.131): This check's always necessary. 2003-10-29 21:51:22 +00:00
Moriyoshi Koizumi 09529af3b0 A possible fix for bug #26026.
# Actually a revisit of the patch on 1.112, mysteriously backed out on 1.119.
2003-10-29 18:46:40 +00:00
Frank M. Kromann e8a8dac741 Adding missing TSRMLS_CC to fix zts build 2003-10-29 17:37:10 +00:00
Ilia Alshanetsky 0bf7c7781c Back to dev. 2003-10-29 14:03:29 +00:00
Ilia Alshanetsky f03caa7b35 Go with RC3 release. 2003-10-29 13:18:12 +00:00
Frank M. Kromann 84eb811be9 Fix typo in parameter 2003-10-29 05:34:21 +00:00
foobar 86da4546de MFH 2003-10-28 15:24:16 +00:00
Moriyoshi Koizumi 9006d8e97b Remove test because the problem won't be fixed for 4.x releases. 2003-10-27 18:14:04 +00:00
Moriyoshi Koizumi e189a15dbf Fix VPATH build (patch by Joe Orton <jorton at redhat dot com>) 2003-10-27 17:50:07 +00:00
Moriyoshi Koizumi 88ccac85f3 No need to have ze2 specific tests in this branch. 2003-10-26 16:27:40 +00:00
Moriyoshi Koizumi f22b3a19cf Prevent leaks in the overload extension that occur in some special cases. 2003-10-26 16:10:07 +00:00
Rui Hirokawa 78f795af80 revert my previous patch. 2003-10-26 07:47:42 +00:00
Moriyoshi Koizumi 4b18e8086a Remove just unnecessary leftovers 2003-10-26 03:42:27 +00:00
Moriyoshi Koizumi 73b34fff94 Backport some patch already in HEAD to assure backwards compatibility 2003-10-26 03:41:19 +00:00
Rui Hirokawa dc04255655 fixed windows build. 2003-10-25 12:41:54 +00:00
Rui Hirokawa c254e0f3ee mbfilter is replaced with libmbfl to maintain the licence compatibility. mbregex.[ch] is moved to mbregex/ for the same reason. 2003-10-25 11:58:46 +00:00
Rui Hirokawa dca5128c58 name/value in multipart/form-date will be converted into internal encoding when mbstring.encoding_translation is On. 2003-10-25 10:30:51 +00:00
Moriyoshi Koizumi 64ee4a850e Add test case for bug #25831 2003-10-25 04:43:47 +00:00
foobar 8ff5296643 hrm 2003-10-24 22:44:41 +00:00
Ilia Alshanetsky 9a24af562c MFH: Fixed bug #25955 (Compile failure on MacOSX 10.3 (Panther)). 2003-10-24 17:51:03 +00:00
Greg Beaver e943420bbb MFH 2003-10-24 05:35:42 +00:00
Greg Beaver 4608fd6e3f MFH #25174 2003-10-24 05:34:16 +00:00
Ilia Alshanetsky 370a9e6266 News & test regarding bug #25922 2003-10-22 23:48:48 +00:00
SVN Migration 59835d886b This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-22 23:42:56 +00:00
Moriyoshi Koizumi 17a411d422 typo 2003-10-21 02:22:55 +00:00
Moriyoshi Koizumi 393dfba684 Add regression test for bug #25900 2003-10-21 02:21:29 +00:00
Ilia Alshanetsky 6d369a51c8 Back to dev. 2003-10-20 16:58:56 +00:00
Moriyoshi Koizumi 9decf616c9 MFH(r-1.4): Fix typo 2003-10-20 16:10:00 +00:00
Ilia Alshanetsky f4d96cee48 RC2 is a go. 2003-10-20 16:08:17 +00:00
Tomas V.V.Cox afd5493707 MFH for 4.3.4RC2 2003-10-20 15:51:46 +00:00
Ilia Alshanetsky 7df5e203c6 Bug fixing news. 2003-10-20 15:45:56 +00:00
Rob Richards 36478058f4 Fix bug #25900 (document->get_elements_by_tag_name with default xmlns) 2003-10-20 15:43:02 +00:00
Moriyoshi Koizumi fe871be5ca MFH(r-1.108): Fix compiler warnings 2003-10-20 15:42:10 +00:00
Ilia Alshanetsky 25679a60c7 MFH: Fixed bug #25918 (Possible crash in mime_content_type()). 2003-10-20 14:37:02 +00:00
Ilia Alshanetsky afd9e80cb1 MFH: Fixed bug #25923 (mail() modifies the to & subject arguments). 2003-10-20 14:22:10 +00:00
Ilia Alshanetsky 2361e1e342 MFH: Fixed bug #25895 (Incorrect detection of safe_mode limited ini options) 2003-10-20 01:59:48 +00:00
Wez Furlong e41125d052 chech -> check 2003-10-18 09:44:12 +00:00
Uwe Schindler 5be79b203b new SunONE server 2003-10-17 21:57:45 +00:00
Rob Richards 9c4b602ee2 Fix bug #25888 (Crash of php.exe when xpath_eval of a namespace)
memleak fix in domxml_node_name
keep blanks loading document fix
2003-10-17 15:56:06 +00:00
Sascha Schumann 27879d0f0d Fix comment 2003-10-17 11:09:49 +00:00
Ilia Alshanetsky 800b1765ae MFH: Fixed formatting issues (patch by: Joe Orton) 2003-10-17 02:21:37 +00:00
foobar 0e93bfdbc3 - Fixed the real reason for build problems: dos eols 2003-10-16 14:24:59 +00:00
foobar 7b7543afad - Fixed ZTS build (Nuked extra TSRMLS_FETCH) 2003-10-16 09:08:42 +00:00
foobar 4bd822a180 - config.w32.h is in main/ not ext/standard.. 2003-10-16 04:50:03 +00:00
Ilia Alshanetsky 35e0567b62 MFH: Do not strip trailing spaces. 2003-10-16 04:24:13 +00:00
Ilia Alshanetsky 4191d2bde1 MFH: Fixed bug #25777 (Do not rtrim() of text fields fetched from mssql). 2003-10-15 03:32:18 +00:00
Wez Furlong ef14bdb691 Don't forget to check for tzset... 2003-10-15 00:19:30 +00:00
Wez Furlong 69cfb62619 Fix bug #25825. tzset() was not called when resetting the TZ env var.
In addition, fix a slight error (made by sniper!) which would trigger
tzset() to be called for any env var beginning with TZ, and not just
TZ itself.
2003-10-15 00:14:37 +00:00
Sascha Schumann adfb56c304 Embed date of last modification 2003-10-14 08:11:18 +00:00
Ilia Alshanetsky f335d5447e MFH: Fixed bug #25836 (last key of multi-dimensional array passed via GPC
not being escaped when magic_quotes_gpc is on).
2003-10-14 03:48:09 +00:00
Wez Furlong ef89c82c02 Unintialized variable fix from Joe Orton. 2003-10-13 11:47:05 +00:00
Wez Furlong 4c28ca442f Fix uninitialized value.
Patch from Joe Orton.
2003-10-13 11:42:22 +00:00
Derick Rethans 3a63f098bd - Email address change 2003-10-13 09:30:53 +00:00
Ilia Alshanetsky c0ddfe89e2 MFH: Fixed bug #25800 (parse_url() could not parse urls with empty port). 2003-10-13 04:28:34 +00:00
Ilia Alshanetsky da62e960e2 MFH: Remove sendmail patch check. 2003-10-13 04:15:25 +00:00
foobar d0d3b02de7 BFN 2003-10-12 23:49:34 +00:00
Vlad Krupin 2ce3e8cdec MFH fix for 25558 in case there is ever another 4.3 release. 2003-10-12 01:09:28 +00:00
Ilia Alshanetsky 2a1bfae434 Fixed bug #25814 (Make flock() return correct value when 3rd argument is
used).

# This bug is 4.3.X specific, no need to MFB into 5.X tree.
2003-10-10 01:38:02 +00:00
Ilia Alshanetsky ac534dbf37 MFH: Fixed bug #25746 (Do not bail out when unable to chdir original dir on
systems with broken getcwd()).
2003-10-09 02:59:03 +00:00
Wez Furlong 2aeb246874 Don't forget these EOF flags either... 2003-10-08 11:22:47 +00:00
foobar 18a2f7bab4 - Reverted the 'fix' for bug #25494
# Can we now get peace on internals@ about this stupid issue?
2003-10-08 11:16:22 +00:00
Wez Furlong 8b2def80d0 Backport from HEAD; set EOF marker after each read attempt to avoid it
being stuck in the on position.
Partial "fix" for #25649.
2003-10-08 10:58:28 +00:00
foobar f0ae93e466 - Fixed bug #25780 (MFH: ext/session: invalid session.cookie_lifetime causes crash in win32). 2003-10-08 10:25:39 +00:00
Moriyoshi Koizumi 21616c7854 MFH(r-1.174): Better fix for bug #25758 2003-10-08 01:52:07 +00:00
Ilia Alshanetsky 116956cc64 MFH: Fixed bug #25758 (var_export does not escape ' & \ inside array keys) 2003-10-08 01:17:12 +00:00
SVN Migration 2dd02323c0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-08 01:16:45 +00:00
Marcus Boerger a85a72e29a MFH: Bugfix #25770 Segfault with PHP and bison 1.875 2003-10-07 10:04:51 +00:00
foobar 7492d02cb2 BFN 2003-10-07 09:59:50 +00:00
Corne' Cornelius 52d5dd4da5 MFH: - Fixed bug #18534 (ifx_close() leaves open session)
MFH: - (ifx_do_close) Added
2003-10-07 09:36:41 +00:00
Ilia Alshanetsky 16ab834b5e MFH: Cleaned up previous patch. 2003-10-07 00:36:27 +00:00
Ard Biesheuvel 1b60fa245e Fix typo 2003-10-07 00:11:03 +00:00
foobar c057fc931a MFH: - Fixed bug #25764 (ldap_get_option() crashes with unbinded ldap link) 2003-10-06 23:34:16 +00:00
foobar 10243d019d MFH: ws fix 2003-10-06 23:31:03 +00:00
Ilia Alshanetsky a13710455c MFH: Fixed clobbering of the source array, when merging complex
multi-dimensional arrays. Bug reported by Lukas Smith.
2003-10-05 19:37:06 +00:00
Sergey Kartashoff cfac03af3c - README in mnogosearch extension is updated 2003-10-04 09:43:49 +00:00
Greg Beaver 39894c69cd MFH fix PHP notice in rare case 2003-10-04 03:58:53 +00:00
foobar 59d28ed4df MFH: - Fixed bug #25752 (ext/ncurses: ncurses.h instead of curses.h with BSD). 2003-10-04 01:04:54 +00:00
foobar e2cf657294 MFH: ws fix 2003-10-04 00:43:31 +00:00
Moriyoshi Koizumi d18b7a533a BFN 2003-10-03 23:30:14 +00:00
Ilia Alshanetsky 9308d262d0 MFH: More ZTS stuff. 2003-10-03 18:05:50 +00:00
Moriyoshi Koizumi ad791c135c MFH(r-1.5, r-1.5, r-1.4): Specify full path to cat for mb_send_mail() tests 2003-10-03 17:07:50 +00:00
Moriyoshi Koizumi 48900111a8 MFH(r-1.1): Add regression test for bug #25745 2003-10-03 17:01:45 +00:00
SVN Migration 61e4791abe This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-03 16:59:45 +00:00
Moriyoshi Koizumi 9b708216d5 BFN 2003-10-03 15:54:06 +00:00
Moriyoshi Koizumi f692aeb36b MFH(r-1.28): Fixed bug #25745 (ctype functions don't deal with non-ascii characters properly) 2003-10-03 15:53:47 +00:00
Ilia Alshanetsky 3a867aad64 MFH: Fixed bug #25744 (make ZTS build of ext/sybase compile) 2003-10-03 13:03:47 +00:00
foobar e4a63807a1 MFH 2003-10-03 05:48:17 +00:00
SVN Migration 1a92434b06 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-03 05:47:08 +00:00
foobar 2dfed48c99 MFH: Aligned configure help texts. 2003-10-03 05:26:30 +00:00
foobar 1c2b48e0ca MFH 2003-10-03 04:29:24 +00:00
Moriyoshi Koizumi fea1d6c1fb MFH: Alignment fix 2003-10-03 01:13:56 +00:00
Moriyoshi Koizumi a754abdc5f MFH(r-1.1): Add a test case for bug #25708 2003-10-02 22:50:46 +00:00
SVN Migration a56a817706 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-02 22:50:29 +00:00
Moriyoshi Koizumi e547d66316 MFH(r-1.252): Fixed bug #25708 (extract($GLOBALS, EXTR_REFS) mangles $GLOBALS) 2003-10-02 22:22:15 +00:00
Frank M. Kromann d6f18bd5f3 FrontBase uses ws2_win32 lib now 2003-10-02 18:48:47 +00:00
Frank M. Kromann 6d0d0172f3 Fixing type cast 2003-10-02 18:48:18 +00:00
foobar e2e0cfb6fa MFH 2003-10-02 14:55:58 +00:00
foobar ec1d763fd2 Removed extra [] 2003-10-02 14:09:12 +00:00
foobar d88229acba strawberry fields.. 2003-10-02 14:03:17 +00:00
Moriyoshi Koizumi eb00f1dd54 Add some description to the help text 2003-10-02 10:59:38 +00:00
Moriyoshi Koizumi adec65bea6 MFH(r-1.15): Alignment fix 2003-10-02 10:48:16 +00:00
Moriyoshi Koizumi a82bc1b50c MFH(r-1.55): Alignment fix 2003-10-02 10:48:02 +00:00
Moriyoshi Koizumi 7620efc274 Forgot to commit this one. 2003-10-02 10:10:52 +00:00
Moriyoshi Koizumi 45775e2029 Silly typo 2003-10-02 08:05:06 +00:00
Moriyoshi Koizumi 46eecba03b BFN 2003-10-02 08:04:11 +00:00
Moriyoshi Koizumi 6e6732ae6a Fix for a regex bug that leads into an infinite loop due to optimization
failure when the pattern is ".*" and both MULTILINE and SINGLELINE options are
specified.
# This bug was already squashed in HEAD, as it adopts an alternative
# implementation.
2003-10-02 08:01:14 +00:00
Moriyoshi Koizumi 9c33e3d3ce MFH(r-1.46): fix php_regex_encoding() so it can handle two additional encoding
names mbfilter supports by default. (Patch by Seiji Masugata)
2003-10-02 07:50:19 +00:00
Moriyoshi Koizumi fff1d6a533 BFN 2003-10-02 07:01:24 +00:00
Moriyoshi Koizumi ab2ba0f49f Fixed bug #25707 (html_entity_decode over-decodes &amp;lt;)
# note: not MFH stuff
2003-10-02 07:00:56 +00:00
SVN Migration bda27d167f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-02 06:57:22 +00:00
Ilia Alshanetsky edff9053e8 MFH: Fixed bug #25701 (On flush() set headers_sent in apache2handler) 2003-10-02 03:24:43 +00:00
foobar 60d11d734c MFH: fix for bug #25719 2003-10-02 00:35:31 +00:00
Andrei Zmievski 5e9a4ecc0e Make sure to clear out the refcount. 2003-10-01 23:13:04 +00:00
Andrei Zmievski 0d59c975a0 @- Made $argc and $argv always available as globals in CLI. No more
@  silliness. (Andrei)
2003-10-01 21:24:19 +00:00
foobar 6db270f8fc MFH 2003-10-01 02:54:39 +00:00
Ilia Alshanetsky a11f040979 MFH: Always prefer user specified paths over the default /usr /usr/local. 2003-09-30 22:38:29 +00:00
foobar e2a74cf344 MFH: Fixed bug #25703 (openssl checks failed) 2003-09-30 18:08:57 +00:00
Moriyoshi Koizumi 89dde23f32 Move entry to the right place 2003-09-30 04:24:18 +00:00
Greg Beaver a07e4ef2ff MFH better #45 fix 2003-09-30 02:57:28 +00:00
Moriyoshi Koizumi a60b5db89e BFN 2003-09-30 00:41:56 +00:00
Moriyoshi Koizumi 85bffe131e MFH: Fixed bug #25669 (eregi() with non-ascii characters) 2003-09-30 00:41:00 +00:00
Ilia Alshanetsky 361aa7dd32 Back to dev. 2003-09-30 00:35:52 +00:00
Ilia Alshanetsky e5b50cede5 4.3.4RC1 is a go. 2003-09-29 23:48:16 +00:00
Ilia Alshanetsky b5b29e267e MFH: More NaN & INF handling fixes. 2003-09-29 23:44:17 +00:00
Greg Beaver d632dba1ef MFH 2003-09-29 17:43:16 +00:00
Greg Beaver 4704bb7186 MFH #45, whitespace, bug in return of install() 2003-09-29 17:38:37 +00:00
Pierre Joye b1eafc6a75 - Upgrade DB to 1.5.0RC2 2003-09-29 14:49:18 +00:00
Pierre Joye c2a66c59c6 MFH 4.3.4RC1 2003-09-29 14:06:44 +00:00
Stanislav Malyshev cb9b99262e allow realpath() for win32 non-ZTS 2003-09-29 14:04:16 +00:00
Stanislav Malyshev 480e8dd7fc Have realpath now 2003-09-29 13:57:43 +00:00
Stanislav Malyshev f1b478c291 add realpath for Win32 non-ZTS 2003-09-29 13:57:03 +00:00
Moriyoshi Koizumi a23dfb3b11 MFH(r-1.399): simplification 2003-09-29 02:23:52 +00:00
Ilia Alshanetsky 5646e5f747 MFH: Fixed Bug #25665 (var_dump() hangs on Nan and INF). 2003-09-29 01:09:36 +00:00
Tal Peer ee9deb187a MFH 2003-09-28 13:37:59 +00:00
foobar 806c28b5c2 MFH 2003-09-27 20:54:00 +00:00
SVN Migration 8103e07a23 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-27 18:48:49 +00:00
Sara Golemon de85bccf03 MFH BugFix# 25671 subarray corruption in str_replace 2003-09-26 18:00:00 +00:00
Moriyoshi Koizumi 18557cba09 MFH(r-1.45): repatch fixes for the problem that was reported at php-dev@php.gr.jp (#884) 2003-09-26 17:47:10 +00:00
Moriyoshi Koizumi 2fb568e65e Fix typo 2003-09-26 16:33:58 +00:00
Moriyoshi Koizumi 94f05e60c2 Fix typo 2003-09-26 11:06:39 +00:00
Hartmut Holzgraefe 2bf4ba798f MFH 2003-09-26 10:13:35 +00:00
foobar 0d6bac093d MFH 2003-09-26 09:56:57 +00:00
SVN Migration f17845f9bd This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-26 09:56:25 +00:00
foobar 40a1c4b4f4 MFH 2003-09-25 14:53:58 +00:00
Ilia Alshanetsky 283476972f MFH: Fixed bug #25070 (Don't forget to unlock session files on win32 before
closing them).
2003-09-24 23:39:22 +00:00
Ilia Alshanetsky 8acd0a3835 MFH: Fixed bug #25293 (Output correct EOL to error_log) 2003-09-24 23:22:32 +00:00
foobar 925a3b6ba8 - Fixed bug #25648 (xslt_set_encoding() being not detected correctly) 2003-09-24 22:55:59 +00:00
foobar 149d034a81 MFH: use pkg-config if available for openssl setup 2003-09-24 14:31:18 +00:00
foobar b485c4f26c BEFH 2003-09-24 08:28:26 +00:00
Ilia Alshanetsky db8d5a7fb0 Bug fixing news. 2003-09-24 02:30:16 +00:00
Ilia Alshanetsky ee3c85162f MFH: Specify full path for the cat utility for mbstring e-mail tests.
MFH: Previously made fixes to tests that address bug #25635
2003-09-24 02:29:15 +00:00
foobar ccc0fb6122 MFH: Fixed bug #24402 (Compile failure with gettext 0.12.x) 2003-09-24 02:08:48 +00:00
foobar d18b757655 MFH: basic gettext test 2003-09-24 00:44:23 +00:00
Ilia Alshanetsky 08604e5d44 MFH: Fixed bug #25636 (SNMP Session not closed on success). 2003-09-23 18:26:10 +00:00
foobar ce2f1ce4bc MFH: Removed unnecessary ssl.h include 2003-09-23 16:04:55 +00:00
Wez Furlong 872948f21a "Fix" for bug #25614.
The openssl_pkey_get_public() doesn't work as advertized in the docs; it can't
get a public key from a private key (because a key is a key), but would return
the private key anyway.  The function was originally designed to get the public
key from a certificate.
2003-09-23 14:52:28 +00:00
SVN Migration 491cf63bab This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-23 10:06:20 +00:00
foobar 675a41bee2 MFH: - Fixed bug #25604 (HAVE_SNMP_PARSE_OID undefined with phpize build) 2003-09-23 08:16:47 +00:00
Rui Hirokawa 5714f48f4c removed unnessesary null byte (patched by komura). 2003-09-23 02:54:28 +00:00
Ilia Alshanetsky 05331829c6 MFH: string format stuff. 2003-09-22 23:28:09 +00:00
Ilia Alshanetsky 258d90d101 MFH: String formating. 2003-09-22 04:18:39 +00:00
Sascha Schumann 8d28cb5737 Major bug fix upgrade to the bundled libfcgi
A delta between libfcgi 2.2.2 and 2.4.1-SNAP has been applied to the
source.  Shane's impersonation, putenv and exit->return improvements
have been carried over.  One of Shane's changes caused the first process
to hang after one request.  The modification has been deactived (os_win32.c).

These changes together with a patch to mod_fastcgi, make Apache/mod_fastcgi
and PHP work under Win32.  It was basically unusable before that.
2003-09-21 22:08:17 +00:00
foobar c1a998a604 MFH: typo fix in error message 2003-09-21 15:40:28 +00:00
Sascha Schumann ca4d592e11 Avoid zero-length keys which result in a spinning process 2003-09-20 16:09:41 +00:00
Sascha Schumann 42d1578fb4 Fix potential buffer overrun 2003-09-20 12:44:13 +00:00
foobar 36e88551eb MFH 2003-09-20 03:22:54 +00:00
Ilia Alshanetsky fea99094df MFH: Fixed bug #25583 (Incorrect handling of paths starting with / on win32
inside glob() function).
2003-09-20 02:52:45 +00:00
Ilia Alshanetsky 5b3a654f07 Revert previous patch. 2003-09-20 02:08:12 +00:00
Ilia Alshanetsky 0e09bbae14 Bug fixing news. 2003-09-20 01:41:45 +00:00
Ilia Alshanetsky 3fcd022dc5 MFH: Fixed bug #25583 (Incorrect handling of absolute path without drive). 2003-09-20 01:41:18 +00:00
Derick Rethans 66ac209938 MFH: - Fixed typo 2003-09-19 12:24:48 +00:00
foobar bbbf1df01d Make sure phpize/php-config are build 2003-09-19 05:35:21 +00:00
Ilia Alshanetsky 3857aa4f7d MFH: Fixed bug #25570 (Possible crash in apache2handler when zend_bailout
called outside of zend_try {} block).
2003-09-19 00:44:58 +00:00
Rob Richards b4bed3fd88 fix some threading issues
fix mem leaks in append_child with attribute nodes
2003-09-17 19:34:42 +00:00
foobar 776587fdac --enable-track-vars does not exist 2003-09-17 05:28:42 +00:00
Ilia Alshanetsky d0d8c4a6a3 MFH: Fixed bug #25106 (Added more stringent checks on bzopen() mode). 2003-09-15 23:49:41 +00:00
Marcus Boerger 353dd2444a MFH: Test for bug #25547 2003-09-15 20:40:56 +00:00
SVN Migration 472aaf3f50 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-15 20:30:33 +00:00
foobar 186e6dc1ba crap removal 2003-09-15 04:13:41 +00:00
Ilia Alshanetsky 46afe5a792 MFH: Fixed bug #25530 (checkdate incorrectly handles floats) 2003-09-15 00:08:05 +00:00
Sara Golemon 99ab17375d MFH(r-1.147): Fix Bug #25525 ldap_explode_dn() crashes when passed invalid params 2003-09-13 17:31:25 +00:00
Ilia Alshanetsky 6d36221995 When opening file for write, it may not exist. 2003-09-12 04:53:39 +00:00
foobar 2dadbe3855 MFH: - Fixed bug #25504 (pcre_match_all() crashes when passed only 2 parameters) 2003-09-12 01:32:38 +00:00
foobar a11e7affc8 BFN 2003-09-11 23:51:27 +00:00
foobar fbed1b901c MFH: - Fixed bug #25483 (ext/informix: bogus -469 error from ifx_query()) 2003-09-11 23:51:14 +00:00
foobar 75d44d8c07 fff 2003-09-11 18:16:18 +00:00
Jay Smith 491347fba6 Fixed bug #25494 (array_merge allowing "false" as argument (silent when
non-array is passed))
# Now throws E_NOTICE for non-array args as per Ilia's suggestion.
2003-09-11 17:28:27 +00:00
foobar b2a44d9327 MFH: - Fixed bug #25463 (ext/cpdf: compile failure with bundled GD) 2003-09-11 15:26:53 +00:00
Ilia Alshanetsky 3e59eb2be9 MFH: Fixed bug #25316 (Possible infinite loop inside _php_stream_write()). 2003-09-11 05:07:47 +00:00
Ilia Alshanetsky 32f67e7664 MFH: Cleanup r1.76 patch 2003-09-11 04:46:31 +00:00
foobar 010213e4ca wtf is w/ZTS? (for users? :) 2003-09-11 02:00:52 +00:00
Hartmut Holzgraefe 6afa7b45ef MFH 2003-09-11 01:45:02 +00:00
Stefan Roehrich 6e1032c30d MFH: Fix for bug #23488 zlib.output_compression overrides vary header.
It was already fixed for ob_gzhandler (#24827).
2003-09-10 08:49:46 +00:00
foobar 70c3e3e95f buf -> bug 2003-09-10 01:28:34 +00:00
foobar c290f39e3b - Fixed bug #25385 (ob_gzhandler(): typo in sapi_add_header_ex() call) 2003-09-10 01:23:38 +00:00
Ilia Alshanetsky b0fe9422e4 #if -> #ifdef 2003-09-10 01:03:41 +00:00
Ilia Alshanetsky 2f695ba37d MFH: Fixed bug #25429 (fix copying of stdin using copy() function) 2003-09-10 00:59:46 +00:00
Ilia Alshanetsky 72e5f9d395 MFH: Fixed bug #14049 (realpath() w/ZTS returns invalid results for non-existent
paths)
2003-09-10 00:22:20 +00:00
foobar 1ba3c62c8b BFN 2003-09-09 21:47:20 +00:00
foobar e56b9397d9 MFH: runtime apache version 2003-09-09 21:42:57 +00:00
Melvyn Sopacua 4aacd42826 Fix testcases, failing with 'America/New_York' vs. 'US/Eastern' systems
and fallback to POSIX-style. The fallback is based on tzset(3)  manpage [1]
for these systems and may apply to past and future unknowns as well.

Affected systems:   4.4BSD

Possible problem:   OSF

Proposed solution:  leave testcase as is, and if OSF systems start
                    failing during next qa-cycle, always use POSIX style in
                    testcases and add portability note to docs.

# [1] If the TZ environment variable does not specify a tzfile(5)-format
#     file and cannot be interpreted as a direct specification, UTC is
#     used.
2003-09-09 21:31:51 +00:00
Sara Golemon ac848809b5 BFN 25294 2003-09-09 21:20:07 +00:00
Sara Golemon 3f585ac923 MFH(r-1.91) Fix Bug #25294 LIST/NLST can cause segfault because ftp->data not cleaned properly 2003-09-09 21:15:20 +00:00
foobar f7972bc8be BFN 2003-09-09 19:58:06 +00:00
Melvyn Sopacua cd8ba5af5b Fix #23326: Attributes via append_child not supported
Add testcase
2003-09-09 19:43:45 +00:00
foobar fc787ac20f BFN 2003-09-09 19:27:56 +00:00
foobar 72cafaaabf MFH: - Fixed bug #25211 (image.c compile failure with AIX) 2003-09-09 19:27:41 +00:00
foobar 968eb65b01 BFN 2003-09-08 22:51:53 +00:00
foobar c872775134 BFN 2003-09-08 22:44:58 +00:00
Sara Golemon 55ec6edbfb BFN Bug#25314 2003-09-08 22:43:08 +00:00
Ilia Alshanetsky 7a06046d74 MFH: Fixed bug #25333 (Possible body corruption & crash in win32 mail()). 2003-09-08 22:37:51 +00:00
Sara Golemon 9761587fc6 Bug #25314 ASCII mode transfers behaving like binary when initiated from windows. 2003-09-08 22:32:33 +00:00
foobar 65b33edeee MFH: revert JIS addition 2003-09-08 22:19:56 +00:00
Moriyoshi Koizumi 62b4710d9e MFH(r-1.66): fix build in VC++7. 2003-09-08 21:01:37 +00:00
Ilia Alshanetsky e60d220d5c MFH: Re-enable sendmail binary check, now with parameter detection. 2003-09-08 20:15:43 +00:00
foobar e8d32e9779 MFH: - Fixed bug #25424 (ext/informix: lvarchar not supported in win32 build) 2003-09-08 15:07:43 +00:00
foobar 32505ff927 - nuke warning about MSVCRT in debug build 2003-09-08 14:09:40 +00:00
foobar 5bda30d1bb - fix the mcve addition, removed unused project (gd_bundled) 2003-09-08 14:08:46 +00:00
foobar 40bc834210 MFH: Fix for bug #25295 2003-09-08 13:15:44 +00:00
foobar 24f458a004 - MFH: build problems fix with CLI 2003-09-08 13:10:34 +00:00
Marcus Boerger aa405f4114 MFH: Allow to search for section FILE with 2nd parameter (found by Derick) 2003-09-07 23:50:25 +00:00
foobar 13e0c93f0c BFN 2003-09-06 23:57:40 +00:00
Marcus Boerger 9ec1245550 MFH: Bugfix #25404 2003-09-06 15:31:14 +00:00
foobar aa1c8bdee5 really sync 2003-09-04 16:46:46 +00:00
Jon Parise 0934056575 MFH 1.176: Register the TYPEMODEL constant from c-client's mail.h. 2003-09-04 07:48:30 +00:00
foobar f59a6aceea MFH 2003-09-03 22:54:13 +00:00
Ard Biesheuvel 28dabfb7a6 MFH WS 2003-09-03 22:07:31 +00:00
foobar bd5f18bdf7 MFH 2003-09-03 16:41:12 +00:00
SVN Migration 95c6f3e8a0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-03 16:40:53 +00:00
foobar 1f2cc89995 sync 2003-09-03 16:26:50 +00:00
foobar d20b3d0ed5 MFH: - Fixed bug #25378 (Invalid data passed to unserialize() causes segfault) 2003-09-03 16:26:42 +00:00
Ard Biesheuvel 94e8d2ec62 MFH Test correct binding of 16-bit NUMERIC parameters 2003-09-03 15:25:03 +00:00
Ard Biesheuvel d5bb4753c8 MFH Fix binding of 16-bit NUMERIC parameters 2003-09-03 15:22:24 +00:00
Sascha Schumann 8ab1c72867 Fixed FastCGI being unable to bind to a specific IP 2003-09-03 14:56:11 +00:00
foobar bfb188eff5 MFH: - Fixed bug #25372 (sscanf() does not work with %X) 2003-09-03 11:55:30 +00:00
Sascha Schumann cbb59ee1b0 Update documentation, -b ip:port works 2003-09-03 08:24:17 +00:00
Sascha Schumann b02ce8bdc7 fix heuristic: if someone passed "-b IP:port", this check would
falsely recognize the parameter as defining only a port.
2003-09-03 08:14:14 +00:00
Sascha Schumann 4d98201217 centralize cflags 2003-09-03 08:07:51 +00:00
foobar 189fe6e665 - Added JISX0208=1 and USE_GD_JISX0208 defines 2003-09-03 05:28:10 +00:00
Sascha Schumann 20a35aa472 enable re2c check for self-contained extensions 2003-09-02 19:42:03 +00:00
Sascha Schumann 889eb2234e provide RE2C to external extensions 2003-09-02 19:33:52 +00:00
Sascha Schumann b4a6c9fe75 fetch fd correctly in fastcgi case 2003-09-02 16:16:12 +00:00
Ard Biesheuvel b1e3eaacaf MFH: Don't choke on repeated fetch() after result is exhausted 2003-09-02 15:35:11 +00:00
Sascha Schumann 2457ddb3ba implement get_fd/force_http_10 methods for CGI SAPI 2003-09-02 11:23:57 +00:00
Sascha Schumann e225eee248 nuke unused var 2003-09-02 11:15:14 +00:00
Stanislav Malyshev 1c65d69485 ws 2003-09-02 10:33:18 +00:00
Stanislav Malyshev 1eb9a119af fix typo 2003-09-02 10:21:02 +00:00
Stanislav Malyshev 7651ed0925 don't report errors if asked not to report 2003-09-02 09:17:09 +00:00
foobar 901af0e106 MFH: - Fixed bug #25348 ("make install" fails with --enable-short-tags). 2003-09-02 01:30:13 +00:00
foobar b485be88da MFH: - Fixed bug #25343 (is_dir() gives warning on FreeBSD). 2003-09-02 01:23:21 +00:00
foobar 7c728e6b9e BFNHR 2003-09-01 23:02:46 +00:00
Sara Golemon 049eaa886a BFN leak in gethostbynamel 2003-09-01 22:40:47 +00:00
Sara Golemon a2f21f3e8c Plug leak when invalid domain name provided. 2003-09-01 22:37:46 +00:00
foobar 4ac705885e MFH 2003-09-01 16:25:23 +00:00
Stanislav Malyshev 5f003af4d4 The sendmail_path executable check breaks setups that use parameters
for sendmail - including the default setup - so I'm disabling it for now.
2003-09-01 08:18:31 +00:00
Ilia Alshanetsky 6ce26891e8 MFH: Make sure that ftp->data is nulled after it's freed. This may fix bug
#25294 & bug #25296.
2003-08-31 21:09:14 +00:00
Sergey Kartashoff 3d9aed8039 - mnogosearch extension updated to compile with mnogosearch-3.2.15
- a new UDM_PARAM_SEARCH_RESULTS mnogosearch API command added to limit
  maximum number of search results
2003-08-31 06:58:58 +00:00
foobar c298c075f4 BFN 2003-08-30 22:01:49 +00:00
foobar 84c5c7da97 MFH 2003-08-30 11:01:46 +00:00
foobar 17d5386bb3 MFH 2003-08-30 10:57:59 +00:00
foobar 5fdef05cb0 stupid winblows 2003-08-30 10:50:52 +00:00
Sascha Schumann ce4fbe580d Never overwrite .c files when re2c does not exist. 2003-08-30 07:29:55 +00:00
Rob Richards 9f8be37c4e fix case for include 2003-08-29 20:50:52 +00:00
Rob Richards bf26b9a7e1 fix builds using libxml 2.5.10+ 2003-08-29 17:36:34 +00:00
Rob Richards c23ec177d5 workaround for bug #25268. libxslt issue with xsl:key 2003-08-29 15:29:24 +00:00
foobar 1a283a6c42 BFN 2003-08-29 14:41:08 +00:00
foobar ca64fae35d header sync 2003-08-29 14:22:13 +00:00
Sascha Schumann 485cba185b MFH
Fix a segfault which occured when using a storage format not capable
of expressing references (e.g. WDDX) and deserializing a session variable
whose name conflicted with an existing symbol in the global scope.

PR: #25307
Submitted by: Jani Taskinen
Speling fixes: me
2003-08-29 12:35:15 +00:00
foobar 43eddf7a58 MFH 2003-08-29 09:05:27 +00:00
foobar 5896ff7e80 fix build 2003-08-29 00:53:16 +00:00
Andrey Hristov 0767e6f1e2 MFH : str is string not a long 2003-08-28 21:09:21 +00:00
Andrey Hristov 4f2153fd14 format string fix and \n at the end of the message is not needed 2003-08-28 20:29:13 +00:00
Andrey Hristov 8edac7234d format string fixes 2003-08-28 20:27:55 +00:00
Andrey Hristov b767129303 \n at the end of the message is not needed 2003-08-28 20:26:32 +00:00
Andrey Hristov 6d57013b3e format string fix 2003-08-28 20:25:31 +00:00
Ilia Alshanetsky f137ee87f7 One more warning fix. 2003-08-28 20:05:24 +00:00
Ilia Alshanetsky fa55a5a826 Compiler warning fixes. 2003-08-28 20:01:37 +00:00
Ilia Alshanetsky 0be182e1ba MFH: Compiler warning fixes. 2003-08-28 19:18:57 +00:00
Ilia Alshanetsky c3757b1f05 MFH: Fixed format error. 2003-08-28 17:56:51 +00:00
Ilia Alshanetsky 21af3e8c4e Fixed format errors & warning. 2003-08-28 17:54:03 +00:00
Ilia Alshanetsky 4df567fe9d MFH: Fixed format bug 2003-08-28 17:49:08 +00:00
Sascha Schumann 1c662bee50 format string fix 2003-08-28 17:34:30 +00:00
Sascha Schumann e7f085d84b fix error message 2003-08-28 17:16:01 +00:00
Rasmus Lerdorf fc12da950c Fix the build
The DOS line endings in this file caused buildconf to build a broken
configure script on fbsd
2003-08-28 17:14:29 +00:00
foobar 1f27563128 sync with HEAD 2003-08-28 16:31:51 +00:00
foobar e2782d9e1d MFH: some emalloc() -> safe_emalloc() fixes 2003-08-28 16:28:27 +00:00
foobar 3782f21222 - Fixed bug #23682 (sybase_query() and multiple result sets: not returning first row set) 2003-08-28 16:16:59 +00:00
Stefan Roehrich bc24daedc3 MFH: Fixed bug #25218 ("deflate" compressed pages had a gzip header, which
should only be sent with "gzip" compressed pages).
2003-08-28 16:05:17 +00:00
Sascha Schumann 41c1ea1b05 fix format strings 2003-08-28 16:04:18 +00:00
Sascha Schumann 415df9168f fix format strings 2003-08-28 15:54:35 +00:00
Sascha Schumann e98926be3f add PHP_ATTRIBUTE_FORMAT to more functions
# uncovers a nice number of incorrect format strings
2003-08-28 15:52:15 +00:00
Sascha Schumann 488f26359a fix format (long port) 2003-08-28 15:15:35 +00:00
Sascha Schumann e5cc26627a Use ZEND_GCC_VERSION and ZEND_ATTRIBUTE_MALLOC 2003-08-28 14:48:34 +00:00
foobar 619d34b7f8 remove dos line feeds.. 2003-08-28 14:36:50 +00:00
foobar 58fa31451a - Made MCVE extension available on win32.
# requires libmcve 3.2.2 (http://www.mcve.com)
2003-08-28 14:34:15 +00:00
foobar 4942844edb missing entries 2003-08-28 14:25:12 +00:00
foobar f4d7971b7f missing .cvsignore 2003-08-28 14:08:44 +00:00
Stanislav Malyshev ab9ceb9526 Null dtor so that extensions won't be unloaded prematurely by list
destruction
2003-08-28 11:34:51 +00:00
Moriyoshi Koizumi 9e07fed96e MFH(r-1.25): add further check for "#include MACRO" style syntax 2003-08-28 06:05:13 +00:00
Sascha Schumann 0ea4d57d56 MFH automatic format checks 2003-08-28 05:25:26 +00:00
Ilia Alshanetsky 77005be687 MFH: Fixed bug #25109 (Possible crash when fetching field names in pgsql) 2003-08-28 00:33:48 +00:00
Ilia Alshanetsky aef886e34c MFH: mail.c r1.74 2003-08-27 23:53:31 +00:00
foobar b21f1582dd - Backported several improvements/cleanups for the build/configure stuff.
. PEAR dependancies checked during configure
  . OpenSSL config moved from configure.in to ext/openssl/config0.m4
    (and also improved the PHP_OPENSSL_SETUP macro a bit)
  + Some other minor issues
2003-08-27 17:57:32 +00:00
Sascha Schumann f8f72bd52e Use INSTALL to install build files 2003-08-27 13:55:24 +00:00
Ilia Alshanetsky 7cd06f5088 MFH: Prevent a crash when expand_filepath() fails. 2003-08-27 01:10:25 +00:00
foobar db7baa737f BFN 2003-08-26 02:52:39 +00:00
foobar bb83f93954 MFH: - Fixed bug #25166 (WDDX serializer handler missing in win32). (Jani) 2003-08-26 02:51:21 +00:00
foobar 008b424ee9 More crap from previous commits 2003-08-26 02:16:23 +00:00
foobar 720d3804fc Fix typo 2003-08-26 02:15:19 +00:00
foobar 9d61de0ec9 MFH: - Fixed crash bug when non-existing save/serializer handler is used 2003-08-26 02:05:53 +00:00
Sascha Schumann 16f3c4b7fb Use $(INSTALL_DATA) instead of cp 2003-08-26 00:03:33 +00:00
Ilia Alshanetsky 65c28b0cc6 zero-size BLOB fetch fix went into 4.3.3 2003-08-25 23:53:10 +00:00
foobar c0edbc5eee MFH 2003-08-25 23:24:42 +00:00
Sara Golemon a170be820e BFN 2003-08-25 22:28:31 +00:00
Sara Golemon 652147def5 MFH(r-1.61) Bugfix#25239 Closing control stream while data stream is open violates RFC959 section 2.3 2003-08-25 22:26:37 +00:00
Ilia Alshanetsky 343a1f081c Added place-holder for 4.3.4 2003-08-24 20:51:52 +00:00
Ilia Alshanetsky c82c3a41b4 No RC1 just yet :) 2003-08-24 20:46:36 +00:00
Ilia Alshanetsky e2ee8d0edb Back to dev 2003-08-24 20:43:19 +00:00
Ilia Alshanetsky d702e37902 Fixed typo. 2003-08-24 19:44:47 +00:00
Ilia Alshanetsky e0d22f195b Set 4.3.3 version bit. 2003-08-24 19:30:16 +00:00
Ilia Alshanetsky 88004a6208 Prepare NEWS file for 4.3.3 release. 2003-08-24 19:24:39 +00:00
Ilia Alshanetsky a2a30ca7d3 MFH: Fixed bug #25127 (reset memory_limit before terminating the request) 2003-08-22 20:02:11 +00:00
Jon Parise d7264e744d MFH configure.in:1.460, filestat.c:1.125:
Fix disk_total_space() and disk_free_space() under FreeBSD.
2003-08-22 05:11:31 +00:00
Ard Biesheuvel 7f04983ed3 MFH Fix false warning on zero-size BLOB fetch (introduced in RC3) 2003-08-20 23:01:32 +00:00
Brad House ac99c5ab03 allow destructor to clean up connection data 2003-08-20 19:43:07 +00:00
Ilia Alshanetsky 60097c2661 MFH: Fixed bug #25170 (Problem with generation of random numbers on solaris) 2003-08-20 16:40:46 +00:00
foobar 72f98037f4 MFH: - Fixed bug #25163 (OSX: phpize has to use glibtoolize instead) 2003-08-20 08:16:18 +00:00
foobar 6465017e05 MFH 2003-08-20 08:15:42 +00:00
Marcus Boerger f75ae95c8f MFH: Add test for #25145 2003-08-19 22:50:38 +00:00
SVN Migration 26ff74d670 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-19 22:47:31 +00:00
Moriyoshi Koizumi b34666a014 MFH(r-1.189): more accurate fix for bug #25140 2003-08-19 14:49:39 +00:00
Moriyoshi Koizumi d8bbff45c1 Revert the last patch. This patch should not be included in the forthcoming
release.
2003-08-19 14:32:10 +00:00
Derick Rethans 39a8fc274a - MFH: Fix for bug #25140 (mb_convert_encoding returns FALSE when it tries to
convert empty string)
2003-08-19 08:34:51 +00:00
SVN Migration b6006ed2fc This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-19 08:29:58 +00:00
Ilia Alshanetsky 4ceecd3e5e RC5 not RC4 2003-08-18 14:04:30 +00:00
Ilia Alshanetsky ab74b63ff2 Back to dev 2003-08-18 14:02:28 +00:00
Pierre Joye 3214d963ec - MFH 2003-08-18 13:28:38 +00:00
Ilia Alshanetsky 6bacb29c98 RC4 is a go 2003-08-18 12:27:01 +00:00
foobar 339427de12 fix typo 2003-08-17 21:27:55 +00:00
Ard Biesheuvel f1dd5c2406 MFH Fixed leak in _php_ibase_bind() 2003-08-17 16:43:49 +00:00
Ard Biesheuvel bb4ea41589 MFH 2003-08-17 16:40:26 +00:00
Ard Biesheuvel c5a669caa6 MFH 2003-08-17 15:01:07 +00:00
Ard Biesheuvel cee27dd710 MFH 2003-08-17 13:26:13 +00:00
foobar 879fb489f3 made some entries more meaningful for users.. 2003-08-17 05:57:10 +00:00
Ilia Alshanetsky 1ab01b470b BFN 2003-08-16 23:05:19 +00:00
Ard Biesheuvel e25d006476 MFH Fixed bug #24224 2003-08-16 20:12:43 +00:00
Ard Biesheuvel 2732fbadbe MFH 2003-08-16 20:10:51 +00:00
Ard Biesheuvel 418cada107 MFH 2003-08-16 20:05:36 +00:00
Ard Biesheuvel 850a158531 MFH Fixed bug #18744 2003-08-16 17:11:25 +00:00
foobar 4282e55dfe ws fix 2003-08-15 18:47:02 +00:00
foobar 05a0c36072 fix typo 2003-08-15 18:42:11 +00:00
Derick Rethans 05ae3f22ab - Fix library path problems 2003-08-14 20:12:51 +00:00
Ilia Alshanetsky 903275e887 MFH: Fixed bug #25093 (Various leaks due to non-freed queries) 2003-08-14 17:49:48 +00:00
Marcus Boerger 88b48b5376 MFH: Don't test other functionality than wddx here. 2003-08-14 17:25:17 +00:00
Ilia Alshanetsky 88e0b419f2 Set RC4 date 2003-08-14 14:38:50 +00:00
Ilia Alshanetsky 33d7423950 MFH: Fixed bug #25081 (odbc_fetch_array() may mangle numeric fields). 2003-08-14 14:37:33 +00:00
Ilia Alshanetsky 30c26df348 MFH: Fixed bug #25084 (Make refer check not dependant on register_globals) 2003-08-14 01:32:02 +00:00
Ilia Alshanetsky cadd668aac MFH: missing skip condition. 2003-08-14 00:54:42 +00:00
Ilia Alshanetsky b2c85181d0 MFH: Fixed a possible crash due to invalid handling of assert ini options. 2003-08-14 00:38:21 +00:00
Brian France 7da8651511 Reverted part of the last patch. It changed -prefer-pic to -prefer-non-pic.
Now back to -prefer-pic
2003-08-14 00:24:25 +00:00
foobar 22aab1e328 MFH: boolean (not long) 2003-08-13 23:39:03 +00:00
Edin Kadribasic 919f53ee51 Added standard location for the headers 2003-08-13 23:02:57 +00:00
Brian France 3b2cf9ddef Fixed two translit so they don't remove underscores 2003-08-13 22:50:34 +00:00
Tomas V.V.Cox 3f11a2a6a8 1.2b5 becomes 1.2 final, no more changes 2003-08-13 22:32:28 +00:00
Vlad Krupin 2725d3534f MFH adding win32 support 2003-08-13 20:59:44 +00:00
SVN Migration 48c975a333 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-13 18:57:20 +00:00
Moriyoshi Koizumi fe042a90b9 MFH(r-1.96): Slight improvement. Hope this will make some difference. 2003-08-13 18:22:17 +00:00
foobar fab70dea69 Be a bit more wordy.. 2003-08-13 18:16:00 +00:00
Ilia Alshanetsky 7b1548e798 BFN 2003-08-13 16:14:08 +00:00
Ard Biesheuvel e084903eab Fixed crash in _php_ibase_error() after request shutdown (also fixes #7014) 2003-08-13 13:27:36 +00:00
foobar 3f71921c58 MFH 2003-08-13 10:40:56 +00:00
foobar 806f9145de MFH 2003-08-13 09:48:32 +00:00
Ilia Alshanetsky bd3cb846c0 MFH: Don't forget to flush() buffers for -w -s 2003-08-13 02:01:59 +00:00
foobar 9356017daa MFH: revert previous commit 2003-08-13 01:37:58 +00:00
Ilia Alshanetsky 351a686a7c MFH: Fixed bug #20896 (-s -w modes with php-cli cause php to hang). 2003-08-13 01:30:39 +00:00
Ard Biesheuvel 61c05dfc9f Fixed bug #23936 (fail to select and fetch) MFH 2003-08-13 01:28:32 +00:00
foobar 553fb5a3be MFH 2003-08-13 01:24:48 +00:00
Ilia Alshanetsky 35f457c92e Fix compile warning (unused variable) 2003-08-12 15:04:52 +00:00
foobar b855ab0dd4 MFH: fix test results (negative indices are not strings anymore) 2003-08-11 23:56:18 +00:00
Marcus Boerger 238aa7baee BFN 2003-08-11 20:24:58 +00:00
Marcus Boerger 46174f8ac8 BFN 2003-08-11 20:19:50 +00:00
Marcus Boerger 379040771d MFH: Bugfix 21918 2003-08-11 20:19:19 +00:00
SVN Migration 37a02a3984 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-11 20:14:26 +00:00
Marcus Boerger 575b38ee2f MFH: Bugfix #25044 2003-08-11 19:40:52 +00:00
Ilia Alshanetsky 977ec5eb4a MFH: Fixed bug #22245 (References inside $_SESSION not being handled). 2003-08-11 19:21:22 +00:00
Marcus Boerger 064cab8ac8 Add Ard as interbase maintainer 2003-08-11 18:54:57 +00:00
Ilia Alshanetsky d5fe19eb92 MFH: Fixed bug #22947 (Ack() inside win32/sendmail.c may stall in certain
situations). (Ilia)
2003-08-11 18:08:35 +00:00
Ilia Alshanetsky c2eb068c8a MFH: Fixed bug #25037 (Possible infinite loop inside SendText()) 2003-08-11 16:38:08 +00:00
Ilia Alshanetsky efc550eea3 MFH: Fixed bug #21957 (serialize() mangles objects with __sleep). 2003-08-11 04:57:55 +00:00
SVN Migration 3f54dd40b6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-11 03:22:25 +00:00
foobar 7c0dd1251c MFH: fix compile warning 2003-08-11 02:08:32 +00:00
foobar 0d8beb77f6 MFH: nuked unused variable 2003-08-11 01:57:10 +00:00
foobar 1cab24458b MFH: fix compile warnings about unused variables 2003-08-11 01:55:14 +00:00
foobar cfc97c7d71 MFH: moved RINIT(crypt) stuff to crypt() itself. 2003-08-11 00:53:26 +00:00
foobar 30f1001553 MFH: - Fixed bug #25007 (rand() & mt_rand() seed RNG every call). 2003-08-11 00:43:32 +00:00
Ilia Alshanetsky 92d3c2a08e MFH: timeout fix 2003-08-09 23:15:19 +00:00
Ilia Alshanetsky 9cfcbd137b MFH: fixed test 2003-08-09 21:00:53 +00:00
Ilia Alshanetsky b74daafbcd MFH: Fixed bug #24897 (inconsistent behavior of shuffle() &
array_multisort())
2003-08-09 20:50:25 +00:00
SVN Migration af01cf787d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-09 20:49:01 +00:00
foobar 6da25bdae8 MFH 2003-08-09 18:43:58 +00:00
Ilia Alshanetsky 6ffa3e1780 MFH: test correction 2003-08-09 18:40:53 +00:00
Ilia Alshanetsky ff35f925b7 BFN 2003-08-09 16:49:08 +00:00
Ilia Alshanetsky 6b0aaabc98 MFH: Added/improved tests for bugs 24142, 24063, 24951, 24980 2003-08-09 16:48:30 +00:00
Ilia Alshanetsky e60da236ae MFH: Do not assume array contains numeric values. 2003-08-09 16:47:21 +00:00
SVN Migration d58f597885 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-09 16:44:34 +00:00
Ilia Alshanetsky a25742e18f MFH: Detection of buggy compiler (gcc) 2003-08-09 16:13:47 +00:00
foobar b75c57e521 MFH 2003-08-09 15:46:48 +00:00
foobar 77a22a2835 BFN 2003-08-09 15:41:09 +00:00
foobar 0690aff6b5 - Fix possible crashes if PHP is linked with external libexpat and also
the bundled one is compiled in.
2003-08-09 14:26:40 +00:00
Derick Rethans f877a76a0e - MFH: Memleak fix 2003-08-09 11:22:40 +00:00
Moriyoshi Koizumi 605563c0a8 Test updates. 2003-08-09 06:14:51 +00:00
Moriyoshi Koizumi b2a7d2ed4e MFH(r-1.186): fix wrong behaviour under ZTS that was inconsistent with the
behaviour under non-ZTS
2003-08-09 06:12:41 +00:00
Ilia Alshanetsky b2bd6e465c MFH: Fixed bug #24980 (array_reduce() uses first element as default running
total).
2003-08-08 23:54:25 +00:00
Ilia Alshanetsky ceb065f9eb MFH: Fixed bug #24951 (ob_flush() needlessly destroys output handler). 2003-08-08 23:44:04 +00:00
Ilia Alshanetsky c2302046dd MFH: Avoid a round() bug that occurs due to over optimization of C code by
gcc.
2003-08-08 23:42:10 +00:00
Marcus Boerger bd6bd53646 Bugfix #24063 2003-08-08 20:23:07 +00:00
Ilia Alshanetsky c95bd4ad87 BFN 2003-08-08 13:55:06 +00:00
Ilia Alshanetsky 1167e85cf3 MFH: Fixed bug #24977 (Revert mysql_select_db optimization) 2003-08-08 13:36:44 +00:00
Ilia Alshanetsky 77225b912f MFH: Fixed bug #24909 (Bad random numbers with ZTS builds on Solaris) 2003-08-08 13:34:52 +00:00
foobar aa3a1426e8 correct version 2003-08-08 12:39:11 +00:00
Masaki Fujimoto 0072a36646 BFN 2003-08-08 11:44:25 +00:00
SVN Migration cecfd0ace4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-08 10:52:51 +00:00
Ilia Alshanetsky d7409a9797 RC4 (hopefully it'll actually be the final) 2003-08-07 18:42:40 +00:00
Moriyoshi Koizumi 1560aabbaf MFH(r-1.10): Tru64 requires TZ values be POSIX styled 2003-08-07 17:46:40 +00:00
Ilia Alshanetsky 6ff7c1cedf RC3 is a go. 2003-08-07 17:42:02 +00:00
Zeev Suraski 6c7394101b Remove 'proto' from internal functions 2003-08-07 16:44:11 +00:00
Zeev Suraski c4845a8b65 Another broken prototype 2003-08-07 16:03:05 +00:00
Zeev Suraski 728ca44dff Fix prototype 2003-08-07 16:02:04 +00:00
Zeev Suraski 1af7f512bc That's slightly more accurate 2003-08-07 15:50:18 +00:00
Ilia Alshanetsky 07ff7f16c7 MFH: Fixed bug #24839 (& -> &amp; in php credits) 2003-08-07 15:41:43 +00:00
Ilia Alshanetsky bfcbf4bc19 BFN 2003-08-07 15:37:54 +00:00
Ilia Alshanetsky 69322ae43b MFH: Fixed bug #21958 (workaround for unusual realpath() on AIX & Tru64). 2003-08-07 15:32:37 +00:00
foobar 2dea730e08 MFH: dlfcn.h not found in solaris when using forte cc 2003-08-07 12:05:00 +00:00
Ilia Alshanetsky 84cc58d013 MFH: Fixed bug #24958 (Incorrect handling of 404s) 2003-08-06 22:34:20 +00:00
Moriyoshi Koizumi 165a1d62c8 Add missing NLS entry for German. 2003-08-06 21:59:42 +00:00
Vlad Krupin d5fba05f61 Fix for bug 23463. Dbase2 is not supported.
AFAICT, no newer versions of dbase, even those use
version byte as a bitmask will ever have it <3.
2003-08-06 19:01:08 +00:00
Pierre Joye 9868377fa0 - HTTP 1.2.1 2003-08-06 07:59:09 +00:00
Pierre Joye c25ed56914 - Remove old http 2003-08-06 07:58:16 +00:00
Tomas V.V.Cox a6aef8844f Added Mirror.php to PHP_4_3 branch 2003-08-06 02:13:05 +00:00
Tomas V.V.Cox 7d96d95a5e MFH for RC3 2003-08-06 01:58:30 +00:00
SVN Migration 79ff9f2fa3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-05 23:22:09 +00:00
Brian France 79f338488e added include config.h so shared extensions builds work correctly 2003-08-05 20:54:43 +00:00
Ilia Alshanetsky 7c70a8f8c2 MFH: Fixed bug #18291 (escapeshellcmd() can now handle quoted arguments) 2003-08-05 20:16:47 +00:00
Ilia Alshanetsky 1e76a63719 MFH: Fixed bug #17414 (pthreads bug workaround). 2003-08-05 20:05:17 +00:00
foobar 29c92b6d91 MFH: fixed typos 2003-08-05 16:02:41 +00:00
Ilia Alshanetsky 7ec8b0bcba MFH: memory leak fix 2003-08-05 13:34:20 +00:00
foobar 370eecd336 correct blame :) 2003-08-05 12:36:57 +00:00
foobar f89eae47f2 BFN 2003-08-05 12:35:14 +00:00
foobar 3d598476ec MFH: - Fixed bug #21611 (version_compare() does not support "p" suffix) 2003-08-05 12:34:49 +00:00
Moriyoshi Koizumi b7d673db52 MFH(r-1.2): putenv() should be put here as well. 2003-08-05 12:29:41 +00:00
foobar e3d9b17e53 BFN 2003-08-05 11:22:24 +00:00
foobar dfba9a0ab0 MFH 2003-08-05 11:19:35 +00:00
foobar 47e16d8ad6 MFH: - Fixed bug #24936 (ext/fdf is not linked properly when compiled as shared extension). (Jani) 2003-08-05 11:17:25 +00:00
Ilia Alshanetsky f3618527a6 MFH: remove useless variable when mbstring is not used. 2003-08-05 01:01:40 +00:00
Edin Kadribasic ad2fa621bd Sync to LICENSE file in the distro 2003-08-04 22:30:04 +00:00
Sascha Schumann f2565109ea don't overwrite script_path_translated if no PATH_TRANSLATED was received 2003-08-04 19:05:05 +00:00
Ilia Alshanetsky b1a7a8d572 BFN 2003-08-04 17:15:06 +00:00
Ilia Alshanetsky 519c152527 MFH: Fixed bug #23104 (hash position of static arrays not being reset) 2003-08-04 17:14:16 +00:00
foobar 2e783c4dac MFH: Typo fixes 2003-08-04 14:36:52 +00:00
Uwe Schindler e95fbd1f2c MFH 2003-08-04 12:46:38 +00:00
Uwe Schindler fa40ecfec1 MFH 2003-08-03 19:31:13 +00:00
Moriyoshi Koizumi be27697628 MFH(r-1.3): disable the test temporarily because "-d" flags in the command
line doesn't take effect under CGI mode. (See the relevant portion of
cgi_main.c that begins at line 996)
2003-08-03 13:59:48 +00:00
Uwe Schindler 86842904be MFH 2003-08-03 11:23:25 +00:00
Ilia Alshanetsky 2556aa7b2a MFH: Fixed bug #24177 (Status not set correctly after flush() in Apache 2) 2003-08-02 18:30:22 +00:00
Ilia Alshanetsky 9f7f4f5bb8 MFH: Fixed bug #22072 (Apache2 sapis do not detect aborted connections) 2003-08-01 20:21:21 +00:00
Ilia Alshanetsky 85f4e2b191 MFH: Preserve exit status for non-php execution modes. 2003-08-01 16:53:03 +00:00
Ilia Alshanetsky e945608fa4 MFH: Fixed bug #23509 (exit code lost when exit() called from
register_shutdown_function())
2003-08-01 12:29:48 +00:00
foobar d892bf5333 MFH 2003-08-01 11:24:20 +00:00
foobar d3b271d04f hothothot 2003-08-01 10:08:57 +00:00
Ilia Alshanetsky 498c4ce19d Fixed bug #24871 (methods misidentified as constructors) 2003-08-01 02:17:31 +00:00
Ilia Alshanetsky 6f53bb90e4 Added skip condition 2003-08-01 02:15:56 +00:00
Ilia Alshanetsky e57d86daef MFH: Fixed bug #24883 (variables created through register_globals, ignore
gpc_order and variables_order).
2003-07-31 23:00:21 +00:00
Ilia Alshanetsky b050f6e430 MFH: Fixed bug #22154 (Possible crash when memory_limit is reached and
output buffering in addition to session.use_trans_sid is used).
2003-07-31 19:48:05 +00:00
foobar 8caea61bd3 MFH 2003-07-30 21:57:02 +00:00
Ilia Alshanetsky 8b2dc6853a BFN 2003-07-30 17:57:19 +00:00
Ilia Alshanetsky 02a1624d22 MFH: Fixed bug #24873 (incorrect handling of / inside open_basedir) 2003-07-30 17:55:21 +00:00
Ilia Alshanetsky c09cdb4a07 MFH: Fixed bug #23792 (8 bit graphics don't rotate properly) 2003-07-30 17:34:23 +00:00
Ilia Alshanetsky 2e870b76c6 Revert fix for bug #22836 2003-07-30 16:12:32 +00:00
foobar 687e73c7af MFH 2003-07-30 14:09:52 +00:00
Ilia Alshanetsky 71be643056 Set proper php4 sources tag 2003-07-30 13:21:15 +00:00
Ilia Alshanetsky e975382a82 Restore version. 2003-07-30 13:20:50 +00:00
Ilia Alshanetsky 35a8ad18a9 4.3.3RC2 is a go 2003-07-30 13:01:59 +00:00
Ilia Alshanetsky 349a98d388 MFH: persistent streams patch 2003-07-29 18:26:59 +00:00
Ilia Alshanetsky c65fd57a24 Test case & news for bug #22836. 2003-07-29 17:54:15 +00:00
foobar b459ec5cdb BFN 2003-07-29 11:20:39 +00:00
foobar e187fad2d1 MFZE2: made each() binary safe for keys 2003-07-29 11:19:47 +00:00
foobar 8182575647 past tense plus full name :) 2003-07-29 11:05:17 +00:00
Stefan Roehrich f9938a3e9a # Forgot NEWS entry for openssl change (rev. 1.52.2.15). 2003-07-29 09:40:04 +00:00
Ilia Alshanetsky ca50da933e MFH: Fixed a double free bug when freeing persistent streams. 2003-07-28 18:57:49 +00:00
Ilia Alshanetsky f43b7faec5 Backport virtual_realpath() from PHP5. This fixes a memory leak that would
occur inside every virtual_realpath() call.
2003-07-28 18:35:34 +00:00
Ilia Alshanetsky ba533a91c4 MFH: Make pclose() respect references. 2003-07-28 14:42:56 +00:00
foobar ae171ce2d2 MFH 2003-07-28 10:44:59 +00:00
Zeev Suraski 97662dc30e Fix nameclash with NSAPI API 2003-07-28 07:28:55 +00:00
Ilia Alshanetsky fc8b10cf71 MFH: Fixed bug #13142 (strtotime not handling "M d H:i:s Y" format) 2003-07-28 04:02:55 +00:00
SVN Migration a6901dc7ba This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-28 04:01:33 +00:00
Ilia Alshanetsky 7297a2b02e MFH: Fixed bug #24557 (make fclose() respect refcount on the resource). 2003-07-27 18:46:03 +00:00
Ilia Alshanetsky a4d484b478 MFH: Fixed bug #24827 (ob_gzhandler overrides Vary header) 2003-07-27 18:16:47 +00:00
Marcus Boerger d3399f8f25 MFH: Do show skipif's info 2003-07-27 16:59:04 +00:00
foobar 5b1dd1818c some missing static with internal funcs. 2003-07-25 12:45:05 +00:00
foobar 04e9bdd516 MFH 2003-07-25 12:16:04 +00:00
Edin Kadribasic f5c49771df Export symbols needed for shared extensions. 2003-07-25 11:27:39 +00:00
foobar 7759a36327 Fix BFN, this was really MY patch that fixed it. :-p 2003-07-25 09:47:06 +00:00
Harrie Hazewinkel fb51a889f4 Adding bugfix. 2003-07-25 07:36:42 +00:00
Harrie Hazewinkel facd6c20c8 Bug 24760 fix, in which the port number when non-default is not handled
correctly and ends up as the default port. This seems to be caused by
some buffer overflow where the port number is assign zero, even though
it it is not assigned to the port variable.
Fix was reported and a fix proposed by "chuck+php at 2003 dot snew dot com"

(Bugfixing branch)
2003-07-25 07:32:39 +00:00
Moriyoshi Koizumi 5e0da82b7f MFH(r-1.168): fix run-test.php so it can correctly handle skip conditions. 2003-07-25 05:52:26 +00:00
Jason Greene 9dbbc057c5 MFH: fix for #24629 2003-07-25 01:50:09 +00:00
foobar 886184c38e keep the style.. 2003-07-24 19:58:30 +00:00
Uwe Schindler 3da82597bb revert the shitty whitespace patch... 2003-07-24 19:16:25 +00:00
Uwe Schindler c2de8f4282 put $Id:...$ in readme 2003-07-24 17:46:57 +00:00
Ilia Alshanetsky 0ea41bf2b1 MFH:
When encountering a test that users GET/POST make run-tests.php
  use CGI sapi if it is avaliable.
  If CLI sapi is not avaliable print a clear error when make test
  is executed.
2003-07-24 17:45:15 +00:00
Uwe Schindler 7e3fa7bd59 MFH: Possibility to use php4_execute to display server error pages or directory listing pages 2003-07-24 17:42:40 +00:00
Wez Furlong cf9cec3562 BFN 2003-07-24 15:25:14 +00:00
Wez Furlong e680c28694 MFH: Fix for #24629 2003-07-24 15:23:14 +00:00
foobar 8db0c60f58 BFN 2003-07-24 10:50:49 +00:00
foobar fba6b0da53 MFH 2003-07-24 10:42:17 +00:00
foobar 916627208c MFH 2003-07-24 10:25:34 +00:00
SVN Migration 8da6929e93 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-24 10:25:16 +00:00
foobar 385db5abbd MFH 2003-07-24 10:13:44 +00:00
SVN Migration fd4d2df3e6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-24 10:13:18 +00:00
foobar 7076a84b83 - No OnUpdateLong in this branch. 2003-07-24 09:15:05 +00:00
Zeev Suraski 957fcfac4b MFH fix for bug #19613 2003-07-24 08:04:20 +00:00
foobar 77ec263329 MFH: missing cvs Id tags, proto fixes 2003-07-24 02:53:46 +00:00
foobar d496c5f4a5 - MFH: Sync to HEAD (TSRMLS_FETCH() nukes, pval -> zval, php_error_docref) 2003-07-24 02:47:11 +00:00
foobar 372fe3128c nitpicking again :) 2003-07-24 01:56:06 +00:00
Ilia Alshanetsky ff8670e601 MFH: zlib fix 2003-07-24 00:03:51 +00:00
Wez Furlong 451deb0101 Fix this test, at least for Tru 64 where 1 second it just too small an
interval for the test to succeed.
2003-07-23 21:48:50 +00:00
Ilia Alshanetsky b278b99605 MFH: Fixed GLOB_ONLYDIR to work on GNU libc based system. 2003-07-23 21:41:53 +00:00
Ilia Alshanetsky 1d5ca2f45e BFN 2003-07-23 16:56:05 +00:00
Ilia Alshanetsky fc0799f0ca MFH: Removed unused variables. 2003-07-23 16:54:54 +00:00
Ilia Alshanetsky 3a43c4124f MFH: Fixed bug #24752 (Unhandled "uniqueidentifier" field type) 2003-07-23 16:53:38 +00:00
Ilia Alshanetsky d197a131db MFH: Fixed #24609 (segfault when using replace node across different docs)
Patch by: Rob Richards

# This patch somehow did not make it into 4.3.X, so on Rob's request in am
# MFHing it in.
2003-07-23 16:44:27 +00:00
Ilia Alshanetsky 7be9dcd263 BFN 2003-07-23 16:07:00 +00:00
Ilia Alshanetsky 117395ed23 MFH:
Fixed bug #23798 (Spaces were not being stripped from Bcc header)
Fixed bug #24663 (\n. sequences were not being escaped)
2003-07-23 16:03:27 +00:00
Pierre Joye 7d40544703 MFH (test #24594) 2003-07-23 15:37:47 +00:00
Pierre Joye 064e743014 MFH (#24594) 2003-07-23 15:37:14 +00:00
SVN Migration 701da1fa4d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-23 00:17:30 +00:00
Marcus Boerger 224e070c74 MFH: The value might be a null pointer 2003-07-22 22:06:05 +00:00
Ilia Alshanetsky c1dc317791 BFN 2003-07-22 16:07:01 +00:00
Ilia Alshanetsky add133a4c6 MFH: r1.196: mysql_fixes 2003-07-22 16:06:09 +00:00
Zeev Suraski 383d813dd9 Fix potential crash (zend_hash_get_current_key_ex() doesn't touch the string arguments if
the key is not a string!)
2003-07-22 15:46:48 +00:00
Edin Kadribasic 9a53d1b4fe New curl lib needs additional libs to link (#24725) 2003-07-22 12:34:38 +00:00
Sascha Schumann 2fe43e8af8 fix typo, shorten line 2003-07-22 01:39:52 +00:00
Ilia Alshanetsky f55e1330d5 BFN + proper credit for session bug fix. 2003-07-22 01:35:02 +00:00
Ilia Alshanetsky 9e09a7c02b MFH: r1.165 safe_mode patch 2003-07-22 01:32:21 +00:00
Sascha Schumann 07b9f0c1d5 Proper fix for #24592
The core issue is that undefined variables are refcounted (refcount != 0)
while is_ref is still set to 0.  I don't know whether this is a bug in
the engine, but is it not the first time this irregularity has caused
problems for the session extension.

The irregularity confused ZEND_SET_SYMBOL_WITH_LENGTH which then did
the wrong thing WRT null values.

Fortunately, nulls can simply be ignored in this case, thus the old
code is restored and a new condition is added.
2003-07-22 01:10:30 +00:00
Ilia Alshanetsky 61fc0ba6b2 MFH: Fixed bug #24592 (Possible crash in session extnsion, with NULL values). 2003-07-21 21:49:52 +00:00
SVN Migration 10bb058051 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-21 21:47:53 +00:00
Uwe Schindler 7ba06d0145 some code cleanups 2003-07-21 14:20:30 +00:00
foobar 1b48b07ee4 nitpicking right from the start.. :) 2003-07-21 14:03:42 +00:00
Ilia Alshanetsky e941298e55 MFH: Fixed bug #24560 (parse_url() incorrectly handling certain file://
based schemas).
2003-07-21 13:37:10 +00:00
foobar be2763d13d expat upgrade news 2003-07-21 08:43:27 +00:00
foobar ef440f1b4e - Upgraded bundled Expat library to 1.95.6 (Jani)
# Fixes bug #20442 (and possibly others not reported to us)
2003-07-21 08:42:49 +00:00
foobar d990e2881b MFH 2003-07-21 08:27:47 +00:00
foobar 0c4cf5aff2 - CURLOPT_ENCODING is always defined, check the version instead. 2003-07-20 15:19:39 +00:00
foobar 38b3ef790b MFH: missing CVS Id tags and license headers 2003-07-20 10:54:03 +00:00
foobar fd7bb0b3da extra period :) 2003-07-19 15:37:08 +00:00
Moriyoshi Koizumi 2298aaef75 BFN 2003-07-19 15:11:12 +00:00
foobar 123a5c20d8 MFH 2003-07-18 12:29:54 +00:00
foobar d60fc0981b MFH: test case for bug #24573 2003-07-18 12:25:09 +00:00
SVN Migration 70491a7ea0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-18 12:24:50 +00:00
foobar 0b49f0bea0 BFN 2003-07-18 12:19:17 +00:00
foobar 33108da1d0 BFN 2003-07-18 09:28:53 +00:00
Sergey Kartashoff 1674a79e11 - UDM_PARAM_SORT_ORDER has been added in Udm_Set_Agent_Param while
using with mnogosearch-3.2.14+ to set order of search results.
2003-07-18 09:15:09 +00:00
Sergey Kartashoff 6f581e803c - Coredump in Udm_Find was fixed. 2003-07-18 08:48:34 +00:00
foobar 9c7d125108 removed the extra CVS Id tag. 2003-07-18 01:40:50 +00:00
foobar 5fc1090dbe MFH: Fixed bug #24640 (var_export and var_dump can not output large float). (Marcus) 2003-07-18 01:37:44 +00:00
Marcus Boerger 2057041621 BFN 2003-07-17 22:23:16 +00:00
Marcus Boerger 3cadadee34 MFH 2003-07-17 22:14:44 +00:00
SVN Migration 660d1fe292 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-17 21:02:45 +00:00
Marcus Boerger d3cc1a3186 MFH: Fix handling of empty settings 2003-07-16 20:56:06 +00:00
Sebastian Bergmann 274237f4d2 MFH: /libpath directives for zlib 2003-07-16 14:50:26 +00:00
foobar 602241f936 bfn 2003-07-16 08:47:49 +00:00
foobar 7880b84ba7 MFH: Fixed bug #22690 (ob_start() broken with create_function() callbacks). (Marcus) 2003-07-16 08:45:31 +00:00
foobar e9c4ca1b61 MFH 2003-07-16 06:04:01 +00:00
foobar c0bc7b6c80 MFH: this is internal function -> static 2003-07-16 05:47:56 +00:00
foobar 0934f19c69 MFH 2003-07-16 05:46:46 +00:00
foobar 41441e017a MFH 2003-07-16 05:16:49 +00:00
foobar 1277a79544 Update credits. 2003-07-16 05:15:07 +00:00
foobar ce527f42cd Fix the credits (partial MFH) 2003-07-16 05:14:35 +00:00
foobar edb801394b MFH 2003-07-16 04:54:55 +00:00
foobar c40e1cbbfc MFH 2003-07-16 00:39:33 +00:00
SVN Migration faff0dbd45 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-16 00:38:55 +00:00
Uwe Schindler dff2f35098 MFH: safe mode fix 2003-07-15 22:19:23 +00:00
Uwe Schindler 261429dc52 MFH: Make virtual() an alias for nsapi_virtual() -- better for docs/naming in future 2003-07-15 17:31:03 +00:00
Hartmut Holzgraefe 2db6b7e8f1 MFH 2003-07-15 17:28:54 +00:00
Hartmut Holzgraefe 9aa1cce146 MFH 2003-07-15 17:05:03 +00:00
foobar 8c766b9670 MFH 2003-07-15 07:06:52 +00:00
Edin Kadribasic 0777e6062c BFN 2003-07-14 23:25:24 +00:00
Edin Kadribasic 8d4a2eabb8 Fixed bug #24949. 2003-07-14 23:20:01 +00:00
foobar 2a836845c8 MFH 2003-07-14 16:23:28 +00:00
foobar 5c4f19b7c5 - Sync with HEAD. (php_error -> php_error_docref, proto fixes, code cleanup) 2003-07-14 16:13:30 +00:00
foobar 63a8f46dda Bump year to 2003 2003-07-14 16:02:32 +00:00
foobar 3d972fcc0e Year update 2003-07-14 15:59:18 +00:00
Rui Hirokawa d69e7b6d04 fixed a typo. 2003-07-14 13:31:44 +00:00
Wez Furlong f0623f78eb less WTF factor 2003-07-14 10:43:51 +00:00
foobar 2891206718 MFH 2003-07-14 03:58:59 +00:00
Moriyoshi Koizumi c4ab6c2cad MFH: fixed leaks that occurs if the third parameter already contains a valid
value.
2003-07-13 19:46:39 +00:00
Stefan Roehrich 56b4205f38 MFH: fixed certificate version, serial number not always 0. 2003-07-13 10:13:24 +00:00
SVN Migration 35b40bdb2a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-13 08:03:47 +00:00
Rui Hirokawa 63289837ae added strict detection mode in mb_detect_encoding to detect corrupted byte sequence. 2003-07-13 07:34:28 +00:00
Martin Jansen 439596bce5 * MFH 2003-07-12 15:18:02 +00:00
Moriyoshi Koizumi f725d7b180 MFH(r-1.393): fixed bug #24556 2003-07-12 09:33:58 +00:00
foobar 933ef3298a MFH 2003-07-11 07:49:10 +00:00
Frank M. Kromann 16b3e1e406 Sync protos with HEAD 2003-07-11 06:04:43 +00:00
Frank M. Kromann d560e58711 Allow the use of both ming 0.2a and 0.3a (API\s changed) 2003-07-11 05:54:45 +00:00
foobar 29a8e606f3 BFN 2003-07-11 04:32:31 +00:00
foobar b4f086b52a BFN 2003-07-11 04:30:40 +00:00
foobar cf33623715 BFN 2003-07-11 04:24:37 +00:00
foobar 894e2f15f0 MFH: Fixed bug #21074 (Apache2: "ErrorDocument xxx /error.php" broken). 2003-07-11 04:24:11 +00:00
foobar e7175cbecf MFH: Fixed bug #17291 (mssql_query does not update get_last_message) (patch by: mgruetzner at rw3 dot com) 2003-07-11 02:08:38 +00:00
foobar 241945e11f MFH: sync 2003-07-11 01:57:39 +00:00
foobar 1aecd0f1ff MFH: Use the proper way to get the max requests per child. 2003-07-10 22:45:34 +00:00
foobar 9cb84b6351 MFH: Fixed bug #24563 (preg_match() crashes PHP under Apache2) 2003-07-10 16:09:43 +00:00
Frank M. Kromann cc68ee790e Adding missing compression paramters to output functions 2003-07-10 05:07:46 +00:00
foobar e786476701 MFH: revert previous patch, it was not correct. 2003-07-10 01:40:10 +00:00
foobar a48ac52a7d MFH: Fix crash bug 2003-07-10 01:17:46 +00:00
foobar 9e33cdb499 MFH: Fixed bug #11924 (ibase_query() and ibase_execute() mangled passed parameters) 2003-07-10 00:17:40 +00:00
Pierre Joye 5de9ca91cb - MFH 2003-07-10 00:11:11 +00:00
foobar f2d8bb4c38 Fixed bug #24519 (aggregate_methods_by_list() does not increment refcount) 2003-07-09 23:16:21 +00:00
Frank M. Kromann bd719279db oops. fix spelling 2003-07-09 22:38:36 +00:00
Frank M. Kromann 4f16113988 Adding missing MSSQL Server ini settings 2003-07-09 22:36:28 +00:00
Jay Smith fb79cfb853 MFH: - fixed bug #24548 (get_browser() does not return platform) 2003-07-09 18:51:18 +00:00
Brad House 1a0e3b62e2 bugfixes: typecasting issues. don't assume long and int are the same size, as they are not on 64bit architectures. New CONSTANTS were not cast at all yet. MC_TTID was cast as a long, when it should have been a MCVE_int64 (normally long long). 2003-07-09 13:48:33 +00:00
Edin Kadribasic af30033599 How did this get uppercased ;) 2003-07-09 11:08:51 +00:00
Edin Kadribasic b6c6a8db3a For Pierre-Alain Joye. 2003-07-09 11:07:27 +00:00
Pierre Joye 07b70c743c - MFH 2003-07-09 10:43:01 +00:00
Pierre Joye ca7ad2ff2c - MFH 2003-07-09 10:38:22 +00:00
Pierre Joye 79e4f5a47f - MFH 2003-07-08 20:39:46 +00:00
foobar 2be22abf64 MFH 2003-07-08 14:13:10 +00:00
Sergey Kartashoff 2fafe59ed2 - Output of UDM_PARAM_WORDINFO_ALL was fixed 2003-07-08 14:00:58 +00:00
foobar 3687e5e953 MFH: - Fixed bug #24537 (apache2 compile missed include directories) 2003-07-08 13:54:14 +00:00
Sergey Kartashoff 4c1c759343 - Udm_Find function is fixed to be compatible with mnogosearch-3.2.13 2003-07-08 13:27:30 +00:00
Derick Rethans ef32b131ce - MFH: Fixed email addresses 2003-07-08 09:44:34 +00:00
Wez Furlong 792645aa6f update activescript info 2003-07-08 09:12:00 +00:00
Wez Furlong 8055bab946 Fix leak when loading constants from a type-library. 2003-07-08 09:10:42 +00:00
Sascha Schumann 19928d2509 grep -E -> egrep 2003-07-08 05:35:48 +00:00
Brad House c0f72d9fac update mcve ext from HEAD. Sync with libmcve-3.2 functionality 2003-07-08 03:16:39 +00:00
foobar 77b6cdb7dd Missing entries 2003-07-07 22:51:27 +00:00
foobar f71e66e50d MFH 2003-07-07 22:51:16 +00:00
Moriyoshi Koizumi 71461f74b2 MFH(r-1.9): updated test so it won't fail if the extension has been built with
libiconv
2003-07-06 21:45:00 +00:00
Moriyoshi Koizumi dfbeb6b786 oops again.. 2003-07-06 21:12:59 +00:00
Moriyoshi Koizumi 3e1affd647 MFH(r-1.22, r-1.90, r-1.18): avoid miscellaneous conflicts between glibc's
iconv and libiconv.
2003-07-06 21:11:51 +00:00
Moriyoshi Koizumi 1ba9226cb5 MFH(r-1.17): added missing includes 2003-07-06 18:09:21 +00:00
Jon Parise 7f2c03ed0e Upgrade the bundled Mail package to 1.1.1 (1.1.0 was a bit broken). 2003-07-05 21:47:09 +00:00
Hartmut Holzgraefe 251b1ad96b MFH 2003-07-04 15:07:56 +00:00
Hartmut Holzgraefe c8e7bc0542 MFH 2003-07-04 14:40:22 +00:00
SVN Migration ab3957bda7 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-04 14:38:08 +00:00
Pierre Joye 5320379dc0 - Fix broken installer 2003-07-04 11:04:07 +00:00
Sascha Schumann f6b36353a6 Quote all instances of ) when used in case..esac constructs
Some m4 versions appear to drop these when certain macros are used
recursively.
2003-07-03 22:54:07 +00:00
Frank M. Kromann e5523b4954 Change fetch functions and protos so they make more sense.
fetch_row or fetch_assoc should  not take the optional parameter
2003-07-03 16:47:10 +00:00
Moriyoshi Koizumi de9f401877 MFH(r-1.56): added missing protos 2003-07-03 15:39:51 +00:00
Marcus Boerger 46fd530566 MFH: Fix open mode (noticed by FutureQuest, Inc.) 2003-07-03 11:23:27 +00:00
Uwe Schindler b6b4369972 fix typo 2003-07-02 22:40:13 +00:00
Moriyoshi Koizumi 3aeaad418f MFH(r-1.4, r-1.2): s/cvs/csv/ 2003-07-02 17:09:26 +00:00
foobar b2bedbf40e BFN 2003-07-02 14:05:44 +00:00
Uwe Schindler 62ef1e2857 Prevent user from making nested PHP requests with virtual() 2003-07-02 13:37:39 +00:00
Pierre Joye 0d03073c89 - tabs... 2003-07-02 11:33:35 +00:00
Pierre Joye 1ebbe4d551 - MFH 2003-07-02 11:24:52 +00:00
Pierre Joye 1d14341231 - MFH 2003-07-02 10:38:09 +00:00
Sascha Schumann b4c03fb0a9 Always store temporary information in LDFLAGS
This also avoids use of PHP_RUN_ONCE which caused some config.m4s to fail.
2003-07-02 03:03:41 +00:00
foobar 9eeb62c4a3 MFH: Be more verbose about what is installed (and in CGI case, WHERE) 2003-07-02 02:48:16 +00:00
Ilia Alshanetsky 116f2fa00a MFH: crash fix 2003-07-02 02:04:22 +00:00
Sascha Schumann d6fbae0c27 Fix install-sapi dependency - it should depend on OVERALL_TARGET, of course. 2003-07-02 01:06:29 +00:00
Sascha Schumann 6c37499531 Make PHP_CHECK_LIBRARY use PHP_EVAL_LIBLINE which automatically
eliminates /usr/lib references
2003-07-01 23:54:44 +00:00
foobar 7a92fe4c4c MFH: Separate CGI install from install-sapi. 2003-07-01 17:03:55 +00:00
foobar 986b654098 MFH 2003-07-01 16:20:53 +00:00
foobar ef7c1af78d MFH: Added --help to phpize 2003-07-01 15:55:27 +00:00
foobar 2a8c1bb255 MFH 2003-07-01 13:34:04 +00:00
Corne' Cornelius ef2d599f45 - Removed unlink() from php_intifx_create_blob() and replaced with a php_copy_file() 2003-07-01 12:37:12 +00:00
Corne' Cornelius 627c9515b1 - Fxied bug in php_intifx_init_blob_infile() where blob.loc_loctype wasn't set 2003-07-01 10:56:17 +00:00
Edin Kadribasic fc846109ba Some more cvs cleanup 2003-07-01 08:10:33 +00:00
Edin Kadribasic 5775569f18 Touch 2003-07-01 08:08:43 +00:00
Sascha Schumann 55b41157cf properly restart syscalls 2003-07-01 05:28:53 +00:00
Sascha Schumann 5ba98ed5d3 MFH
(jason) Prevent lines following the version output from confusing
the version test
2003-07-01 04:25:32 +00:00
foobar 69e0f3bf48 MFH: Fixed bug #24025 (Can not build with shared ldap support) 2003-07-01 00:02:29 +00:00
Shane Caraveo 97422095ed MFH 2003-06-30 21:10:33 +00:00
Marcus Boerger 40acbc1ea5 MFH: Do not test postgres settings 2003-06-30 18:00:55 +00:00
Sergey Kartashoff 94a9447396 - A memory leaks at UdmCatPath and UdmCatList functions have been fixed. 2003-06-30 17:44:20 +00:00
foobar 8229beefa4 MFH 2003-06-30 17:30:47 +00:00
SVN Migration 6a62b9d5b7 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-30 17:30:17 +00:00
foobar bf6c5ff7c1 minor correction. :) 2003-06-30 13:37:43 +00:00
Andrei Zmievski e6177356ec *** empty log message *** 2003-06-30 13:28:20 +00:00
Ilia Alshanetsky 53b384c01d MFH: fix for bug #24063 2003-06-30 01:05:02 +00:00
SVN Migration b66f3b08bb This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-30 01:03:22 +00:00
Edin Kadribasic 92e30ad3df Fixed win32 build 2003-06-30 00:44:03 +00:00
Edin Kadribasic 17e89935c4 Winsock2 doesn't seem to work in PHP_4_3 2003-06-29 23:59:20 +00:00
Edin Kadribasic 04ced9d63d Fixed CVS screw-up leftovers 2003-06-29 23:49:39 +00:00
Edin Kadribasic 555173a263 MFH: extensions like imap need this exported 2003-06-29 23:29:49 +00:00
foobar 54391bb2ca reorder 2003-06-29 23:02:33 +00:00
Shane Caraveo ea0f710586 stuff 2003-06-29 21:37:11 +00:00
Shane Caraveo 5a2899b78e MFH
renable -b option (removed when longopts were added)
dissable -b on windows due to fastcgi lib bug
close stdin on linux when using socket server (bug 23664)
2003-06-29 20:45:53 +00:00
Shane Caraveo f26cc7bcd4 MFH
fix bug http://bugs.php.net/bug.php?id=24009
also do not use APPL_PHYSICAL_PATH as DOCUMENT_ROOT under IIS, it's
different depending on IIS configuration.  Code works fine without it, that
was just an attempt at a shortcut.
2003-06-29 20:09:56 +00:00
Pierre Joye 08bc2cde18 - Sync from head (DB 1.5RC1) 2003-06-29 19:42:57 +00:00
SVN Migration a5d361d9c4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-29 19:40:14 +00:00
Ilia Alshanetsky 96d4171df7 Fixed bug #24340 (basename failure win32 with containing both \ and /) 2003-06-29 15:36:10 +00:00
foobar fd2aaa768a MFH: Fixed bug #24363 (plain "./configure && make install" failed) 2003-06-29 06:04:04 +00:00
foobar 24f73838f2 Note about PCRE upgrade 2003-06-29 02:08:16 +00:00
Andrei Zmievski 2b97f7ce7b - Added a new parameter to preg_match_* functions that can be used to
specify the offset to start matching from.
- Added support for named subpatterns.
2003-06-29 00:08:30 +00:00
Martin Jansen e7e577e05d * MFH: Silence warning 2003-06-28 18:15:35 +00:00
Sascha Schumann 52bdfd3dca Fix snprintf test.
C99 allows for the Single Unix Spec semantics which prescribe a return
value of -1 for n == 0 which is treated as an encoding error.
This reenables use of snprintf on Solaris at least.

Relevant excerpts from ection 7.19.6.5:

    Description

    [..] If n is zero, nothing is written, and s may be a null pointer. [..]

    Returns

    The snprintf function returns the number of characters that would have been
    written had n been sufficiently large, not counting the terminating null
    character, or a negative value if an encoding error occurred.

Single Unix Spec:

http://www.opengroup.org/onlinepubs/007908799/xsh/fprintf.html
2003-06-28 12:29:07 +00:00
Rui Hirokawa 0e29833fc7 deleted code for debuging. 2003-06-28 11:00:37 +00:00
Rui Hirokawa 92c07fbccc Fixed corruption of multibyte character including 0x5c as second
byte in multipart/form-data.
2003-06-28 08:51:05 +00:00
Ilia Alshanetsky bc3d6e90fa MFH: Added missing handling of dateTime 2003-06-28 06:59:31 +00:00
SVN Migration 056e268cb3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-28 06:55:48 +00:00
Sascha Schumann 50eb9f576a Serialize headers for systems with low IOV_MAX (e.g. Solaris) 2003-06-27 18:40:55 +00:00
foobar 0db5048d6a MFH 2003-06-27 16:42:51 +00:00
Sebastian Bergmann eed604dce5 libpcre 4.X needs POSIX_MALLOC_THRESHOLD to be defined. 2003-06-27 16:42:49 +00:00
Sara Golemon 97b55a966d Plug the last (hopefully) of the PHP4 context leaks. This one regarding notifier->ptr 2003-06-27 16:16:46 +00:00
Andrei Zmievski 8d5a034c9d Upgrading PCRE library to version 4.3 2003-06-27 14:47:55 +00:00
Sascha Schumann de6e5e315d undefine macros before defining them 2003-06-27 07:43:05 +00:00
Sascha Schumann 8a44b6f251 Try to link the getaddrinfo test, so that one can disable it using
-Dgetaddrinfo=NO_getaddrinfo.
2003-06-27 07:07:03 +00:00
Sara Golemon e6770d6361 Plug *half* a leak in context notifiers.
We still need a check and zval_ptr_dtor(&context->notifier->ptr); in the
php_stream_context_free function, but since ptr is supposed to be a general
purpose container we need to define how that will be done.
2003-06-27 03:40:55 +00:00
Sara Golemon e5d8e11306 MFH: Plug memory leaks when freeing contexts (particularly options) 2003-06-27 01:46:30 +00:00
Sara Golemon 821b603ec2 MFH streamsfuncs.c r-1.22 2003-06-27 01:32:26 +00:00
Sascha Schumann 34363d77db MFH Don't add -L/usr/lib 2003-06-27 00:37:53 +00:00
Sascha Schumann 7a8260d5e0 Eliminate need for automake/aclocal 2003-06-27 00:19:26 +00:00
foobar 1f1d49bbd6 Fixed bug #24261 2003-06-26 18:06:46 +00:00
Pierre Joye 0e82616ea6 - reapply the fix about binary safe write mode (fix multiple sapi bug) 2003-06-26 14:38:04 +00:00
Pierre Joye 9a68a887f0 - MFH 2003-06-26 08:45:51 +00:00
foobar f2b405924d - Crap removal. 2003-06-25 23:09:12 +00:00
Ilia Alshanetsky eee7417f1f Missing bit of the previous patch. 2003-06-25 18:06:56 +00:00
Ilia Alshanetsky db48c076a6 Added sqlite_single_query() function
Fixed a typo in sqlite_array_query() that prevented the acceptance of the
decode_binary parameter.
2003-06-25 17:02:56 +00:00
SVN Migration 5a15aee0e0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-25 16:59:25 +00:00
Edin Kadribasic d67afcc9c1 Fixed win32 build 2003-06-25 13:21:54 +00:00
Sascha Schumann b09f475602 make ze1/ze2 coexist 2003-06-25 13:00:46 +00:00
foobar c4e6c0aa83 BFN 2003-06-24 18:00:13 +00:00
Ilia Alshanetsky e459214613 MFH: Fixed bug #24312 (base64_decode() does not skip 0xF0-0xFF characters) 2003-06-24 15:26:10 +00:00
SVN Migration 3dbe3deb64 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-24 15:23:18 +00:00
Ilia Alshanetsky 701c81c7d1 MFH: typo fix. 2003-06-24 14:36:18 +00:00
Ilia Alshanetsky 557fd9b7a3 MFH: Fixed bug #24313 (file_exist() warning on non-existent files when
open_basedir is used).
2003-06-24 13:44:57 +00:00
Sascha Schumann ae3de7f0c0 Test commit 2003-06-24 01:03:07 +00:00
Ilia Alshanetsky 43b0c8adea Fixed a crash inside sqlite_array_query() when invalid query
is specified.
2003-06-23 19:30:42 +00:00
Pierre Joye c70f036024 - MFH packages 2003-06-22 20:11:27 +00:00
Ilia Alshanetsky d74a72d580 MFH: Fixed bug #24284 (Fixed memory leak inside pg_ping()) 2003-06-22 16:48:16 +00:00
Marcus Boerger 40d758b019 MFH: Fix possible SEGV 2003-06-22 15:55:31 +00:00
Wez Furlong b390e0ebf1 Don't raise two warnings when connection attempt failed. 2003-06-22 10:07:20 +00:00
Harrie Hazewinkel ab2ea18cb5 Applying the contributed patch of Johan hanne.
The patch enables control on the way the values are returned
into the PHP script, instaed of always strings. Also the type
of the value is now returned when configured to do so.
This enables better management scripts to do more automatic
processing and value calculations.
2003-06-21 21:50:01 +00:00
SVN Migration ea33b2824e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-21 13:50:44 +00:00
Derick Rethans 140e562446 - MFH: Test for bug #17115 2003-06-21 12:05:45 +00:00
Ilia Alshanetsky 9209328fd3 Fixed bug #24253 (missing variables when register_globals is on)
Fixed a memory leak when more then 1 E|S flag is passed to gpc_order.
Fixed a memory leak when variables_order is not set and gpc_order has S|s
flag.
Optimized out duplicate parsing of the variables order string.
2003-06-20 17:00:16 +00:00
Sara Golemon 35938e4d90 MFH (r-1.391) When skipping blank searchvals we should advance the corresponding replace hash as well 2003-06-20 15:44:48 +00:00
Ilia Alshanetsky 316d124ec4 Added missing safe_mode checks 2003-06-19 22:18:58 +00:00
Wez Furlong b1f59b4703 Tidy up getaddrinfo() code so that it can handle broken ipv6 stacks and only
returns TCP addresses for TCP and UDP addresses for UDP requests respectively.

Also, when a connect call "returns" EINPROGRESS and the full timeout limit
has not yet been reached, retry the select with the remaining time interval.
This is a potential fix for Bug #21653.

# Note: atm, the fix is Linux specific; will do some more work to make this
# portable at the weekend.
2003-06-19 22:11:39 +00:00
Ilia Alshanetsky 08ce3d0ed5 MFH (possible streams crash) 2003-06-19 16:43:41 +00:00
Ilia Alshanetsky e39472c606 MFH: Fixed memory leak, when invalid context is specified. 2003-06-19 16:35:29 +00:00
Ilia Alshanetsky 3924c1eabf Fixed a possible crash in parse_context_options() 2003-06-19 16:10:37 +00:00
Marcus Boerger 929ab8b529 MFH: Allow the extension to reside elsewhere 2003-06-19 15:48:18 +00:00
Ilia Alshanetsky da55120b84 MFH: Fixed a crash inside php_imagettftext_common(); 2003-06-19 15:48:09 +00:00
foobar b1c0e42d00 - Added the 'header'. These 4.3.3RCx sections will be combined for the
final release, 4.3.3. just added them now to keep better track on changes
  between the RCs.
2003-06-18 23:24:13 +00:00
Pierre Joye b694edc23d MFH 2003-06-18 22:32:04 +00:00
foobar 0fe951a702 - Go to RC2-dev. 2003-06-18 22:04:41 +00:00
foobar 4cf62ff62c Correct version info. 2003-06-18 22:02:28 +00:00
foobar c6647fc0bf - Go with PHP 4.3.3RC1 2003-06-18 21:59:59 +00:00
foobar 50b17c0f7d This broke more than fixed. Fixes e.g. max_input_time. 2003-06-18 21:58:07 +00:00
foobar a0853a17ed MFH: Fixed bug #24231: ext/sybase_ct could not be build as shared 2003-06-18 18:29:04 +00:00
Rob Richards 35888b62f4 Fix for bug #24219 segfault during resource destruction
Used bug fix to optimize free_doc routine
2003-06-18 17:43:34 +00:00
Ilia Alshanetsky 6b74250915 MFH 2003-06-18 15:19:28 +00:00
Rasmus Lerdorf 1269ac0661 variables_order needs to include S for both of these to work 2003-06-17 22:32:51 +00:00
Ilia Alshanetsky a2f0a9c380 MFH: Handle numeric keys passed via GPC 2003-06-17 17:15:16 +00:00
Pierre Joye 434926a39e MFH,(4.3.3RC1) 2003-06-17 17:13:19 +00:00
foobar 4ccbb1b867 BFN 2003-06-17 15:53:33 +00:00
Ilia Alshanetsky 02af1ac144 MFH 2003-06-17 14:13:25 +00:00
Ilia Alshanetsky 1b747da374 MFH 2003-06-17 13:59:56 +00:00
Ilia Alshanetsky f82e06d4f8 MFH 2003-06-17 13:38:38 +00:00
Ilia Alshanetsky 7812b45b36 MFH: Fixed bug #24223 (missing variable initialization in bundled gd) 2003-06-17 13:37:57 +00:00
Ilia Alshanetsky 09c034c096 BFN 2003-06-17 13:20:54 +00:00
Ilia Alshanetsky 7473ff4698 Fixed bug #24220 (range() didn't handle numeric strings correctly) 2003-06-17 13:20:18 +00:00
SVN Migration 03468f3079 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-17 13:19:21 +00:00
foobar 138a1157ee MFH: Fixed bug #24207: phpize wrong exit code 2003-06-16 21:44:54 +00:00
foobar a63c981d70 broken caps-lock/shift key 2003-06-16 21:38:07 +00:00
Sara Golemon 9888224208 BFN 24210 2003-06-16 20:22:23 +00:00
Sara Golemon 33ba2503c6 MFH (r-1.14) Bug #24210 : assume misspelled (and thereby not found during configure) 2003-06-16 20:17:13 +00:00
foobar a9eea29b84 MFH 2003-06-16 20:00:11 +00:00
Ilia Alshanetsky c21de1dbe5 MFH: Fixed bug #24208 2003-06-16 19:25:06 +00:00
Sascha Schumann 6b8d3f6b01 Simplify/fix logging 2003-06-16 19:11:44 +00:00
Moriyoshi Koizumi e2ff71d2dd MFH(r-1.1): added test case for bug #24208 2003-06-16 19:10:48 +00:00
SVN Migration 36097f68a0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-16 19:10:13 +00:00
Sascha Schumann 20088e34b5 Remove cast which hides a bug in the code. 2003-06-16 19:05:37 +00:00
Derick Rethans ad24ef01de - MFH: Added test for bug #24142 2003-06-16 17:50:49 +00:00
SVN Migration 304a39c793 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-16 17:50:08 +00:00
Ilia Alshanetsky 338ad09a44 Bug fixing news. 2003-06-16 17:43:11 +00:00
Ilia Alshanetsky 015712b9f1 MFH: Fixed bug #24150 (crash in imap_fetch_overview() &
imap_rfc822_write_address())
2003-06-16 17:42:04 +00:00
Ilia Alshanetsky 11cb016d39 MFH: Fixed bug #24198 (Invalid recursion detection in array_merge_recurcive()) 2003-06-16 17:37:15 +00:00
SVN Migration 327e5834d5 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-16 17:35:17 +00:00
Ilia Alshanetsky c984c80a7d Hopefully fix win32 build 2003-06-16 12:33:52 +00:00
Daniela Mariaschi fe43729707 proto fixes ibase_rollback and ibase_commit 2003-06-16 10:47:35 +00:00
Ilia Alshanetsky 54cee9cd1f MFH: compiler warnings 2003-06-16 03:07:08 +00:00
foobar ad98994e4a missing entries, cleanup 2003-06-15 21:59:03 +00:00
Marcus Boerger 87c57062c4 Remove that old thing 2003-06-14 19:27:01 +00:00
Edin Kadribasic 180e604534 Fixed win32 build 2003-06-14 18:51:17 +00:00
Sergey Kartashoff 47f2fb1832 @- Mnogosearch extension updated. Now can compile with mnogosearch-3.2.11+
- Mnogosearch extension updated. Now can compile with mnogosearch-3.2.11+
2003-06-14 18:45:26 +00:00
Daniela Mariaschi 96d9102630 MFH: Added IBASE_REC_VERSION/IBASE_REC_NO_VERSION transaction constants 2003-06-14 17:46:33 +00:00
Ilia Alshanetsky f6f08969d1 Bug fixing news 2003-06-14 15:09:26 +00:00
Ilia Alshanetsky 676b4c0362 MFH: Fixed bug #24007 (Problem with register_globals & arrays) 2003-06-14 15:08:37 +00:00
foobar a789f6bb85 MFH 2003-06-14 14:33:11 +00:00
foobar 1e71ec7613 MFH 2003-06-14 12:58:18 +00:00
Frank M. Kromann b3af6c9da5 Updating email address 2003-06-14 03:37:30 +00:00
foobar 0ce220d77a it rains here.. 2003-06-13 14:56:37 +00:00
Ilia Alshanetsky dc1f25d6fb proto 2003-06-13 14:56:23 +00:00
Andrey Hristov e8c057e33f proto fixes 2003-06-13 14:53:13 +00:00
Ilia Alshanetsky 80c568bb30 Bug fixing news. 2003-06-13 14:47:11 +00:00
Ilia Alshanetsky e6b637cd72 MFH:
Fixed bug #24161 (No timeout value for imap functions)
	Fixed bug #22505 (Allow imap_sort() and imap_search() to specify a charset)
2003-06-13 14:45:36 +00:00
Andrey Hristov 10228f3bb8 proto fix
and ws
2003-06-13 14:40:01 +00:00
Sascha Schumann e783c0b5a1 Fix test 2003-06-13 09:17:52 +00:00
foobar 626f3de608 MFH, fixed the test (second session init produces a notices) 2003-06-13 09:16:49 +00:00
Marcus Boerger 4cc45a7ba9 MFH: Bugfix #2397: dba_open locking error with db3 2003-06-12 19:55:16 +00:00
Ilia Alshanetsky 1c7f16c742 MFH: Fixed bug #24155 (gdImageRotate270 incorrectly use x parameter for y axis) 2003-06-12 19:33:19 +00:00
SVN Migration 60211ee3b3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-12 19:31:45 +00:00
Andrei Zmievski 68accfe5c1 test 2003-06-12 13:56:03 +00:00
Andrey Hristov 3f824c7e1e proto fixes 2003-06-12 12:51:53 +00:00
Andrey Hristov ab037ed242 proto fixes 2003-06-12 12:37:03 +00:00
Andrey Hristov 4aec010451 proto fixes 2003-06-12 12:28:30 +00:00
Andrey Hristov 9f97891939 proto fixes 2003-06-12 12:23:10 +00:00
Andrey Hristov 9c9b10f047 proto fixes 2003-06-12 11:55:01 +00:00
Andrey Hristov 5f4e664e8b proto fixes 2003-06-12 11:34:31 +00:00
Andrey Hristov 220a5cb89f proto fixes 2003-06-12 10:24:43 +00:00
Andrey Hristov 2cf200c493 proto fixes 2003-06-12 10:03:39 +00:00
Derick Rethans d042cecbd9 - HTTP Request Types are case-sensitive 2003-06-12 08:33:45 +00:00
Ilia Alshanetsky cfc8c7a95e MFH: Added missing safe_mode/open_basedir checks. 2003-06-12 01:47:28 +00:00
Ilia Alshanetsky 6c7e5d9c18 MFH: proto fix 2003-06-11 02:16:49 +00:00
Andrey Hristov 3fdf998703 proto fixes 2003-06-10 14:46:00 +00:00
Sascha Schumann babbbb048b MFH E_NOTICE 2003-06-10 03:57:16 +00:00
Wez Furlong 36c9f3116e BFN 2003-06-09 17:04:57 +00:00
Moriyoshi Koizumi 451f0b2d07 MFH(r-1.137): fixed trivial typo 2003-06-09 08:12:03 +00:00
Edin Kadribasic da10d61faa Fix for #24022 2003-06-09 00:59:08 +00:00
foobar b4aeccba6d the blame..:) 2003-06-09 00:25:26 +00:00
Ilia Alshanetsky c60c1258e2 Fixed compile warnings. 2003-06-08 23:42:47 +00:00
Georg Richter cef32b1e2f fixed a bug in libmysql 2003-06-07 16:14:04 +00:00
Georg Richter 06d67f822b fixed mysql bug #564
(see http://bugs.mysql.com/bug.php?id=564)
2003-06-07 16:12:09 +00:00
foobar 97da8ca6bb hrm.. 2003-06-06 19:30:46 +00:00
Georg Richter 11a765e77d fixed bug 24060 2003-06-06 19:13:10 +00:00
Georg Richter 52dbb39ecd fixed #24060 2003-06-06 18:50:46 +00:00
Sascha Schumann 92b1fecc92 Refine error description 2003-06-06 12:21:26 +00:00
foobar 18c269209d BFN 2003-06-06 12:18:30 +00:00
foobar 808fc0a0bf MFH 2003-06-06 11:10:14 +00:00
SVN Migration 5e852417dd This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-06 11:09:56 +00:00
foobar 677375c0d1 ws 2003-06-06 08:11:38 +00:00
foobar 33a47baa0f MFH 2003-06-06 06:17:11 +00:00
Ilia Alshanetsky a788378ce2 Fix compile warnings (mostly MFH from 5.0 branch) 2003-06-05 23:48:17 +00:00
foobar d3728b5fff WS 2003-06-05 05:07:15 +00:00
foobar 79dc4f7a0c BFN 2003-06-05 05:06:57 +00:00
foobar a32672c1c5 Hopefully this list grows.. 2003-06-05 04:47:07 +00:00
foobar a384966f76 MFH: fix regex issues with apache2handler 2003-06-05 04:15:03 +00:00
Andrei Zmievski fd5d1094d3 Fix a couple of aggregation bugs:
- Needed to add a reference to a function when copying (#23574)
- Due to pecularity of ZE1 object zvals could be re-used, so we always
  set the new class entry explicitly.
2003-06-04 18:57:53 +00:00
Ilia Alshanetsky a4ff44794c Updated the todo to reflect the current situation. 2003-06-04 15:03:29 +00:00
Ilia Alshanetsky e2d057bd2c MFH (dupe macro) 2003-06-04 14:58:33 +00:00
Moriyoshi Koizumi 90eb73bb9d BFN updates 2003-06-04 14:53:31 +00:00
Moriyoshi Koizumi d6245c9e69 MFH(r-1.38): fixed base64_encode() integer overflow issue pointed out in TODO_SEGFAULTS 2003-06-04 14:42:04 +00:00
Moriyoshi Koizumi e99d47a3aa MFH(r-1.87): fixed ob_iconv_handler() type mismatch issue on 64bit platforms. 2003-06-04 14:29:53 +00:00
foobar 89e4c87e57 cleanup + BFN 2003-06-04 05:54:18 +00:00
foobar 8f50a67b87 MFH: no c++ comments and extra tabs. 2003-06-04 05:46:18 +00:00
foobar 269a3ad5ad Fix build 2003-06-04 05:30:45 +00:00
Sascha Schumann 533c499b44 Don't corrupt data during request body handling 2003-06-04 05:28:00 +00:00
Sascha Schumann 39f801b957 Don't return CRLF from broken clients 2003-06-04 05:13:41 +00:00
Ilia Alshanetsky 17d28abb62 MFH 2003-06-04 00:22:30 +00:00
Sascha Schumann 9fbee0b347 clean up macros 2003-06-04 00:01:00 +00:00
Ilia Alshanetsky e83404fea2 GD stuff 2003-06-03 23:57:59 +00:00
Ilia Alshanetsky 1a65bf61a8 MFH (Syncronize bunbled GD with gd 2.0.14) 2003-06-03 23:55:15 +00:00
Ilia Alshanetsky 6443fb2581 MFH (Last set of integer overflow checks.) 2003-06-03 23:42:49 +00:00
Ilia Alshanetsky 2112f46885 MFH: Integer overflow checks. 2003-06-03 23:23:25 +00:00
Edin Kadribasic 074aa05880 BFN: Make Jani happy 2003-06-03 14:47:03 +00:00
Edin Kadribasic 9afa0f3249 Fixed bug #23733.
#HAVE_OCI8_SHARED_MODE is more trouble than its worth.
2003-06-03 12:46:47 +00:00
Hartmut Holzgraefe 3b8f0741cb MFH 2003-06-03 11:07:40 +00:00
Edin Kadribasic 4f75f3bef1 MFH (bugfix #23902 by Shane). 2003-06-03 10:08:17 +00:00
Rasmus Lerdorf 28f4501f0a Fix a couple of closing folding tags 2003-06-03 05:41:49 +00:00
Ilia Alshanetsky 47acdced4c Bug fixing news. 2003-06-03 00:07:20 +00:00
Ilia Alshanetsky b2cf9fe953 MFH: Fixed bug #23912 (Invalid CSS in phpinfo() output) 2003-06-03 00:06:14 +00:00
Rob Richards 1505f6af03 Fix for 64 bit platforms (by Joe Orton) 2003-06-02 18:58:48 +00:00
Holger Zimmermann 35659b625f Merged with main trunk 1.53/1.5. 2003-06-02 17:14:10 +00:00
Daniela Mariaschi 5482637876 MFH: Fixed numeric/decimal +/-(x,y) +/-(x,0)
for all platforms
2003-06-02 12:59:20 +00:00
Derick Rethans 24e91108ba - MFH: Test for bug #23951 2003-06-02 11:13:00 +00:00
SVN Migration b130f77b94 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-02 11:12:26 +00:00
Uwe Schindler 84ebb3ae39 MFH: Messages for newer servers. 2003-06-01 21:45:26 +00:00
Uwe Schindler aa9d7d766e MFH: Update of README for newer servers; apache-similar functions nsapi_request_headers and nsapi_response_headers with apache_* aliases; hide authorization-header in save mode. 2003-06-01 21:15:52 +00:00
Rasmus Lerdorf 0718a54934 A very minor thing, but we should still make a note of this change. 2003-05-31 17:37:55 +00:00
Moriyoshi Koizumi b0884491ae MFH(r-1.231): CGI SAPI should honour this setting (arg_separator.input) 2003-05-31 17:02:01 +00:00
Uwe Schindler 2da81fefb8 zend_alter_ini_entry now with PHP_INI_USER 2003-05-31 15:32:38 +00:00
Marcus Boerger 651d262d43 Fix the fix 2003-05-31 15:10:03 +00:00
Marcus Boerger 22a9c4d448 Use ZE1 notation as expected result 2003-05-31 14:50:10 +00:00
Marcus Boerger b44ea85296 MFH: Synch latest fixes 2003-05-31 12:59:20 +00:00
Marcus Boerger 951e64a4bc This is needed though 2003-05-31 12:37:44 +00:00
Marcus Boerger 19081305e1 Showing info/warning once is enough 2003-05-31 12:13:15 +00:00
Marcus Boerger f189957991 MFH: make use of safe_estrdup 2003-05-31 10:24:15 +00:00
Georg Richter fb7f9eb420 suggestion by Wez :) 2003-05-31 06:54:53 +00:00
foobar 9085f883ad Re-add this entry 2003-05-31 03:03:00 +00:00
Marcus Boerger fe95410380 Reapply this one, too. 2003-05-31 02:31:10 +00:00
foobar 7ccfa69750 missed this one.. 2003-05-31 02:20:25 +00:00
Marcus Boerger 0b0a331e63 Reapply long opts 2003-05-31 02:20:08 +00:00
foobar 5a28c6dd94 BFN 2003-05-31 02:10:14 +00:00
foobar 8506ee1bfe - Re-added the FD lexer patch.
# Marcus is going to add the long-opts patches back in after this.
2003-05-31 01:37:45 +00:00
Ilia Alshanetsky 7cd254b070 Bug fixing news. 2003-05-31 00:34:14 +00:00
Ilia Alshanetsky 931f3abe4e MFH: Fixed bug #23913 (make rename() work across partitions on *nix) 2003-05-31 00:33:06 +00:00
Uwe Schindler 873f321cf7 Disable virtual() if zlib.output_compression is turned on. Better detection of ns-httpdXX.dll 2003-05-30 23:39:04 +00:00
Moriyoshi Koizumi 24a42bb761 Sync with head (r-1.153) 2003-05-30 22:33:43 +00:00
foobar 4168763049 Info about the improved NSAPI module 2003-05-30 21:40:13 +00:00
foobar 84707a7504 Cleanup, missing entries, BFN 2003-05-30 20:31:37 +00:00
Georg Richter 881414e0af better to test next time with the right version :) 2003-05-30 19:16:58 +00:00
Marcus Boerger d1cbbf62c9 MFH: Fix handling of ini settings 2003-05-30 17:50:06 +00:00
Derick Rethans 59b59d2651 - Added a "DEBUG" qualifier to 'php -v's version output, and made the CGI
version statement look the same as the CLI version. (Derick)
2003-05-30 17:03:10 +00:00
Moriyoshi Koizumi 1447af9522 MFH(r-1.152): refined the bz2 section as per Sascha's suggestion 2003-05-30 16:15:38 +00:00
Moriyoshi Koizumi 376c94c239 MFH(r-1.151): fixed a little typo. No germany.. 2003-05-30 15:33:06 +00:00
Ilia Alshanetsky b617f54d34 Bug fixing news. 2003-05-30 14:46:19 +00:00
Ilia Alshanetsky 4e38d42183 MFH (fix for bug #23898) 2003-05-30 14:45:20 +00:00
Moriyoshi Koizumi 5966ec08a9 I love dots too 2003-05-30 14:17:16 +00:00
Ilia Alshanetsky f7f36b4f37 MFH 2003-05-30 14:09:21 +00:00
Moriyoshi Koizumi 05e3f11ac5 BFN 2003-05-30 13:57:20 +00:00
Moriyoshi Koizumi be18fcec6b MFH(r-1.67): fixed bug #23894 (sprintf() decimal specifiers problem) 2003-05-30 13:50:09 +00:00
Moriyoshi Koizumi 0bf1fb6f19 MFH(r-1.1): added test case for bug #23894 2003-05-30 13:48:26 +00:00
SVN Migration 7bef1c1f2a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-30 13:48:15 +00:00
Ilia Alshanetsky 77763cee25 Bug fixing news. 2003-05-30 13:20:55 +00:00
Ilia Alshanetsky 01d848075a MFH 2003-05-30 13:20:17 +00:00
Uwe Schindler f9f0c83b30 virtual() now works under windows, too 2003-05-30 13:15:04 +00:00
Georg Richter 90952aae2d fixed #23779 (CLIENT_LOCAL_FILES with open_basedir) 2003-05-30 13:00:17 +00:00
Marcus Boerger fab2534381 MFH: Add php_uname() to output 2003-05-30 12:42:17 +00:00
Adam Dickmeiss ea8eefdf72 Prevent yaz from logging unless yaz.log_file is set 2003-05-30 09:46:01 +00:00
Edin Kadribasic ae7fadf900 Nuke the rest of headers-sent code 2003-05-29 23:57:27 +00:00
Uwe Schindler c97e3bac2a fix of incomplete windows fix 2003-05-29 21:05:06 +00:00
Hartmut Holzgraefe 63130ca782 MFH 2003-05-29 20:24:00 +00:00
Uwe Schindler b653dfe7ba Changes for compilation on windows 2003-05-29 20:13:15 +00:00
Sascha Schumann 33d844496f fix prototype 2003-05-29 17:39:00 +00:00
Sascha Schumann 39267c2bf9 Always send a new session cookie upon regenerating id 2003-05-29 16:19:56 +00:00
Marcus Boerger 5430f7efa9 MFH-Update 2003-05-29 15:42:45 +00:00
Marcus Boerger f01b062a06 MFH: --style switches 2003-05-29 15:41:52 +00:00
Marcus Boerger db81c3d979 MFH: new switches and --style switches 2003-05-29 15:28:01 +00:00
Sascha Schumann 092b805de5 Fix VPATH builds 2003-05-29 14:55:07 +00:00
Marcus Boerger 2ab7673bb0 MFH ini file support 2003-05-29 14:24:10 +00:00
Marcus Boerger ee11982bcb MFH: ini file support 2003-05-29 14:16:25 +00:00
Marcus Boerger e0c3093711 MFH
@Changed exif extension to consider php.ini option magic_quotes_runtime. (Marcus)
2003-05-29 14:12:08 +00:00
Dan Kalowsky 7de28bdc6a ODBC standards compliance is a good thing.
# Should be MFB'd, but my PHP5 is drastically different right now..
2003-05-29 12:34:38 +00:00
Uwe Schindler c5ec799b2d MFH. 2003-05-29 12:29:50 +00:00
Uwe Schindler 3ae99689f7 MFH: php.ini values in magnus/obj.conf; virtual() similar to apache;... 2003-05-29 12:27:39 +00:00
foobar 210ce6796f Added the header for 4.3.3 2003-05-29 01:28:14 +00:00
Rasmus Lerdorf 9a9b55e60b I see no reason not to allow people to set the timeout on a mysql_connect
from inside a script with ini_set().  We allow user-settable timeouts on
other socket connections so having this as a system-settable only
directive doesn't make much sense to me.
2003-05-28 16:18:14 +00:00
foobar 2dc7873362 MFH 2003-05-28 14:12:04 +00:00
Wez Furlong 1ebb0b0785 On win32, always open in binary mode unless they asked for text mode using 't'.
This solves a number of apparent BC breaks that resulted from the move from
fopen() to open().
2003-05-28 10:15:00 +00:00
Hartmut Holzgraefe 01fa930e6b MFH 2003-05-28 09:45:22 +00:00
Hartmut Holzgraefe 28ce738ce7 MFH
@fdf crash with ZTS builds fixed (see Bug #14877)
2003-05-28 09:42:48 +00:00
SVN Migration c49dfb1007 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-28 09:35:46 +00:00
Pierre Joye 96559baede MFH 2003-05-28 01:52:45 +00:00
foobar 858c75805f There is no point using php_error_docref in MINIT. 2003-05-27 17:24:09 +00:00
Adam Dickmeiss f5b3d65f07 Fix close of log file. 2003-05-27 09:50:49 +00:00
foobar b5c6ea479d Nuke the php_header() call here. Fixes the rest of #14409. 2003-05-26 23:21:08 +00:00
Marcus Boerger 9990a0a301 MFH: In CLI log errors always 2003-05-26 23:07:09 +00:00
Moriyoshi Koizumi 43eda262be MFH(r-1.8): changed the test so it would not fail on some old platforms. 2003-05-26 22:16:40 +00:00
Melvyn Sopacua 9bc15253ad Make LC_MESSAGES available, for platforms that don't have it natively,
when gettext is compiled in.
2003-05-26 20:56:01 +00:00
Wez Furlong 5303587494 Plug a leak - noticed by Ilia. 2003-05-26 19:01:45 +00:00
Derick Rethans 33bed67b99 - Fixed a bug in reporting start-up errors with the CLI: No HTTP header shall
be shown.
2003-05-26 18:33:20 +00:00
Derick Rethans 3d3416d10e MFH: Typo 2003-05-26 09:46:34 +00:00
foobar 02c184dce8 MFH 2003-05-26 04:01:12 +00:00
SVN Migration 89f2c54773 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-26 03:55:09 +00:00
foobar 36e9a1582f BFN 2003-05-26 03:48:22 +00:00
Ilia Alshanetsky bd955dcb81 MFB 2003-05-26 02:00:37 +00:00
Shane Caraveo 653717b72c http://bugs.php.net/bug.php?id=14409
in the shell, if we get a filename on the commandline, never use stdin.
This fixes '\>php nonexistent.php'
will MTH once I get 5 building properly
2003-05-25 19:22:25 +00:00
Shane Caraveo 67ebb942b6 http://bugs.php.net/bug.php?id=23800
change the default for those who cannot
this was actually done a long time ago, but got reverted along the way
2003-05-25 18:35:18 +00:00
Marcus Boerger d9cf9e37fb MFH: speling 2003-05-24 12:00:59 +00:00
Wez Furlong 976f0d8303 Adjust error message to encourage people with apparently broken IPV6 systems to
build PHP without IPV6 support.
2003-05-24 03:15:53 +00:00
Marcus Boerger 7b514da372 Executing tests once is enough 2003-05-23 22:36:20 +00:00
Sara Golemon a0a3b47001 BFN 23765 2003-05-23 21:42:35 +00:00
Sara Golemon 97dd56a974 Bug#23765 File upload handler should not care about case sensitivity of header values. 2003-05-23 21:37:16 +00:00
Marcus Boerger 14fc7fa96c MFH: Make this a warning 2003-05-23 20:56:33 +00:00
Marcus Boerger 1a7e7165a7 MFH: Add warning level for tests. 2003-05-23 20:55:57 +00:00
Wez Furlong bdcd417ad6 Avoid greedy reads on FIFOs 2003-05-23 15:27:09 +00:00
Wez Furlong b3171064fd Fix Bug #23770: Odd output from file_get_contents().
php_stream_copy_to_mem couldn't handle the case when the read returned less
than chunk_size/4 bytes (except when it was the last chunk read).
2003-05-23 11:10:34 +00:00
Ilia Alshanetsky 31fe8c5c16 MFH 2003-05-23 02:42:22 +00:00
foobar 1c0ff3c97e MFH 2003-05-23 00:00:11 +00:00
SVN Migration 2e48996c64 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-22 23:59:38 +00:00
foobar 0ae1d743e6 fix the generated file. 2003-05-22 22:35:37 +00:00
Wez Furlong befce57664 Add --force so release package building works 2003-05-22 00:26:02 +00:00
foobar db082e4215 - This branch is now PHP 4.3.3-dev. (no more RCs!) 2003-05-21 23:31:20 +00:00
foobar a7290240a2 Go with PHP 4.3.2RC4 2003-05-21 23:22:01 +00:00
Jay Smith 6fee33722d MFH 2003-05-21 23:08:27 +00:00
Ilia Alshanetsky cb87994fcd Fixed bug #23744 2003-05-21 22:54:38 +00:00
foobar 961b1151c0 BFN 2003-05-21 22:37:01 +00:00
foobar a335bb813d MFH: Fixed bug #23738 (ifx_copy_blob() crash). (Jani) 2003-05-21 22:36:46 +00:00
foobar 0840b0ccf0 BFN 2003-05-21 21:57:58 +00:00
Ilia Alshanetsky 237bf7a69c MFH 2003-05-21 17:04:19 +00:00
Rasmus Lerdorf 022d058ce1 Revert bogus commit 2003-05-21 17:00:57 +00:00
Sander Roobol 5aaa0bcf64 MFH (ob_gzhandler and zlib.output_compression should send a Content-Length
header if the length of the complete compressed output is known)
2003-05-21 16:07:33 +00:00
Wez Furlong f41f376213 Allow win32 people to fopen($filename, 'rt') to explicitly chose text-mode
files again.

The functionality was accidentally dropped when we introduced our own fopen
mode string parser.
2003-05-21 12:02:55 +00:00
Zeev Suraski cbd712e8c9 Fix typo 2003-05-21 10:23:31 +00:00
Zeev Suraski b831413ba7 Remove php_stream_open_wrapper_as_file_handle, it was fd-patch specific 2003-05-21 10:19:03 +00:00
Zeev Suraski 2127840893 Revert PHP part of the fd patch 2003-05-21 09:34:21 +00:00
Marcus Boerger 2e34a6a9a6 MFH: This depends on libc and CPU used 2003-05-21 07:24:28 +00:00
Sascha Schumann f851db2531 readd essential line for multiple sessions inside one request 2003-05-21 02:33:13 +00:00
Ilia Alshanetsky 5d900b5171 MFH 2003-05-21 00:57:48 +00:00
foobar 25fcdb4304 BFN 2003-05-21 00:36:50 +00:00
Marcus Boerger b92cc3d806 MFH 2003-05-21 00:35:29 +00:00
Frank M. Kromann 09ddabb35e Fix for bug 23402. Crash when mssql?bind was used incorrectly 2003-05-21 00:06:41 +00:00
Marcus Boerger 4cb2b8e1fe MFH: Fix test (ssen by Dan Torop) 2003-05-20 22:28:29 +00:00
Wez Furlong 8eb3233f82 Implement socket liveness checking for SSL streams when recycling via
pfsockopen.
2003-05-20 22:14:47 +00:00
Sascha Schumann 8b4ff89345 Make error messages less ambiguous 2003-05-20 21:01:42 +00:00
Wez Furlong abd2b78275 Make fread() non-greedy for socket based streams 2003-05-20 20:47:39 +00:00
Sascha Schumann 67631ea57c Defensive programming 2003-05-20 20:01:54 +00:00
Andrei Zmievski 12ce650f03 MFH 2003-05-20 18:12:07 +00:00
Wez Furlong 549625a4c7 Touch and remove WS added by last touch.... 2003-05-20 16:53:58 +00:00
Wez Furlong 5ce5b396f7 Touch files 2003-05-20 16:53:24 +00:00
Sascha Schumann bddbce404f Better reinitialize session_status unconditionally 2003-05-20 14:20:14 +00:00
Sascha Schumann 4557989eff initialize err 2003-05-20 12:45:35 +00:00
Sascha Schumann 0f4b4c82de Fix use of ZEND_EXTERN_MODULE_GLOBALS which mysteriously includes a
trailing semicolon.

Also add a do {} while (0) construct in php_session.h
2003-05-20 12:38:04 +00:00
Moriyoshi Koizumi a9a7057448 Revisit the braindead patch only for this branch
# this behaviour is fixed in the php5 branch
2003-05-20 07:34:08 +00:00
Ilia Alshanetsky 5defe2dd7c MFH 2003-05-20 00:37:13 +00:00
Wez Furlong 1a6d970f7e Much better fix for refcount issues with contexts, and fix a leak in context
value storage.
2003-05-20 00:21:57 +00:00
Marcus Boerger 75144252c0 MFH: Fix Test (2nd time) 2003-05-20 00:10:01 +00:00
Wez Furlong cedd7ef4bf Fix refcounting problem with contexts.
Also, potentially fix stream_set_timeout issues on SSL streams.
2003-05-19 23:27:49 +00:00
Wez Furlong 9efa05b7c7 Fix persistent stream recycling within the same request.
function foo()
{
	$s = pfsockopen("localhost", "80");
	var_dump($s);
}
foo(); foo();
2003-05-19 22:55:56 +00:00
Marcus Boerger c00b313bee MFH: Fix protos 2003-05-19 22:53:35 +00:00
Marcus Boerger 8725a3147d MFH: Fix Test 2003-05-19 22:17:05 +00:00
Marcus Boerger d66fa199b4 MFH 2003-05-19 21:50:06 +00:00
Derick Rethans b3251de43f - Add alias for easier transition 2003-05-19 17:45:50 +00:00
foobar 2cab62fdc4 BFN 2003-05-19 14:20:28 +00:00
foobar 596b08b9a1 MFH: Fixed bug #23539 (curl_exec() produces strange results). (daniel@haxx.se) 2003-05-19 14:19:33 +00:00
Moriyoshi Koizumi 52c6a66274 MFH(r-1.86): fixed bug #23683 2003-05-19 13:27:05 +00:00
foobar ebfb3cb678 MFH 2003-05-19 13:14:06 +00:00
Wez Furlong 60434f91bd Add sanity check to buildconf to prevent it from being run in our released
packages.
2003-05-19 11:45:02 +00:00
foobar 396e830e72 BFN 2003-05-19 07:18:40 +00:00
Shane Caraveo 331f905e8a MFH
continuation on bugfix #13757
make argv/argc *and* query_string work correctly when running cgi in shell
2003-05-19 06:46:50 +00:00
Ilia Alshanetsky 3987509ac3 MFH 2003-05-19 04:57:08 +00:00
Shane Caraveo 818412a4a9 MFH
bugfix #13757 - passing query string on command line when run from shell
2003-05-19 03:40:53 +00:00
Sascha Schumann 45a703d3f1 Move awk detection before config.m4 inclusion 2003-05-19 01:42:13 +00:00
Sascha Schumann 55a52eb920 Use $AWK instead of awk, fixes build issue on Solaris with old-style ext 2003-05-19 01:33:29 +00:00
foobar e53ca2b5dd mfh 2003-05-18 14:55:56 +00:00
Marcus Boerger 86ce37ce21 MFH: Enable bundled submodules when enabling module 2003-05-18 12:36:34 +00:00
Marcus Boerger 68eef6b9f4 Update 2003-05-18 12:13:53 +00:00
Marcus Boerger dd866fdd82 MFH: Fix test (for now - need EXPECTF/EXPECTREGEX) 2003-05-18 12:10:15 +00:00
Marcus Boerger f53160138e Fix unserialize (commit later) 2003-05-18 12:04:52 +00:00
Marcus Boerger 9719a22ff8 Fix unserialize 2003-05-18 12:04:34 +00:00
Zeev Suraski 6a966b79d7 binary compat for 64-bit platforms shouldn't matter much as they were
fairly broken to begin with
2003-05-18 10:22:16 +00:00
Zeev Suraski 8dfb69ebca Restore binary compatibility with 4.3.0 2003-05-18 10:16:57 +00:00
Moriyoshi Koizumi ae30c7f4ab And this is needed indeed 2003-05-17 20:07:00 +00:00
Moriyoshi Koizumi eeb43eb1eb oops 2003-05-17 20:04:35 +00:00
Moriyoshi Koizumi c2660ef64a Fixed the test so it won't fail under safe mode 2003-05-17 20:00:46 +00:00
Moriyoshi Koizumi 41278da02f MFH(r-1.225): fixed bug #23669
# When the script is launched with the "Action" directive,
# PATH_TRANSLATED is then populated to indicate the virtual location of
# the script, and both REDIRECT_URL / PATH_INFO are set to the virtual URI.
# Otherwise, REDIRECT_URL may take an arbitrary value instead of the actual
# URI, which cannot be relied upon at all.
2003-05-17 18:55:23 +00:00
Georg Richter d76c684cef move to pecl 2003-05-17 15:11:17 +00:00
Georg Richter cf43cddba9 move to pecl 2003-05-17 15:06:02 +00:00
Georg Richter ac88c9cabd added ext/mysqli for PHP4. This version doesn't support OO-function calls 2003-05-17 14:15:58 +00:00
Marcus Boerger 444959cd81 Mail too 2003-05-17 11:32:22 +00:00
Wez Furlong 0ee4b1dd48 Fix segfault 2003-05-17 09:34:12 +00:00
Sascha Schumann 8053881211 protect against further surprises by initializing all zend_file_handle's 2003-05-17 08:06:53 +00:00
Sascha Schumann 0c376684c7 Initialize all zend_file_handle instances properly 2003-05-17 07:55:18 +00:00
Sara Golemon bab2866e21 Bug #14369. ftp extension allows circumvention of safe_mode restrictions 2003-05-17 04:20:12 +00:00
Sara Golemon f026645177 Bugfix 23654. If subject is an array and it contains other arrays, we want to pass those subarrays through unchanged rather than attempt to convert them to string. 2003-05-16 23:24:55 +00:00
Moriyoshi Koizumi d36a62dd0e MFH(r-1.43): fixed a syntax highlighter problem that happens when output buffering is turned on 2003-05-16 23:08:47 +00:00
Sascha Schumann a9930145fe MFH 2003-05-16 22:33:15 +00:00
Masaki Fujimoto 98e4c9aef4 - mbstring.h is no more needed 2003-05-16 20:33:18 +00:00
foobar eaeff2e939 typo fixing 2003-05-16 20:20:06 +00:00
Wez Furlong 67391df6f0 No typo... its tmpnam in one place, tempnam in another...
/home/wez/packages/imap-2002b/c-client/osdep.c:287:
the use of `tmpnam' is dangerous, better use `mkstemp'
2003-05-16 20:12:46 +00:00
Moriyoshi Koizumi b484bc253a Moved initialisation code to the proper place. 2003-05-16 19:28:17 +00:00
Wez Furlong 54c83ce7a3 Fix memory leak in the COM extension.
Patch from Michael Sisolak <msisolak at yahoo dot com>
2003-05-16 19:20:18 +00:00
Derick Rethans 37142b284f - Fixed bug #23661: mysql_fetch_array gives no warning on an invalid
result_type
2003-05-16 19:07:57 +00:00
Wez Furlong 217a213a5d Stronger validation of parameters to ob_start(). 2003-05-16 19:06:37 +00:00
foobar 9233c937ae We do not have to add entries for bugs that are introcuded between RCs.. 2003-05-16 15:30:57 +00:00
Ilia Alshanetsky c4690101a3 Bug fixing news. 2003-05-16 15:15:29 +00:00
Ilia Alshanetsky 129d6e940f MFH 2003-05-16 15:13:57 +00:00
Derick Rethans c8c6b2141e - Fix speling:
/dat/dev/php/php-4.3.2RC3/ext/mysql/libmysql/my_tempnam.c:115: the use of
  `tempnam' is dangerous, better use `mkstemp'
2003-05-16 15:03:45 +00:00
Moriyoshi Koizumi 97a0b51739 MFH(r-1.2): copy'n'paste failure 2003-05-16 06:25:12 +00:00
Moriyoshi Koizumi ee135e463c MFH(r-1.1): added test case for bug #23650 2003-05-16 06:21:57 +00:00
Moriyoshi Koizumi a5c040170c MFH(r-1.381): fixed bug #23650 2003-05-16 06:21:39 +00:00
SVN Migration 8e2ddfb9df This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-16 06:20:24 +00:00
Sascha Schumann 2c84b8acb8 forgot that 2003-05-16 06:16:16 +00:00
Ilia Alshanetsky 1fdb920299 Fixed proto 2003-05-16 01:09:10 +00:00
Moriyoshi Koizumi c1a6b4530b MFH(r-1.6): fixed test so it won't fail with the output_handler enabled 2003-05-15 19:20:55 +00:00
foobar daacfa367b - Now this is 4.3.2RC4-dev..hopefully we won't need it. :) 2003-05-15 18:50:48 +00:00
foobar 73d041e231 Bumb version. 2003-05-15 18:46:20 +00:00
foobar 5faf455502 fix this test for release.. 2003-05-15 18:36:59 +00:00
foobar 35fb4f2c20 better not confuse people with this test.. 2003-05-15 17:50:29 +00:00
Sascha Schumann 6c3f316db8 MFH 2003-05-15 16:55:21 +00:00
Sascha Schumann 3837327f43 MFH 2003-05-15 16:43:29 +00:00
foobar d568d3877a Added missing bracket. 2003-05-15 14:47:00 +00:00
Sascha Schumann 99515d905c MFH 2003-05-15 13:33:52 +00:00
foobar e06424afc7 wrapped the lines to be max. 80 chars as some people still use antique.. 2003-05-15 12:48:15 +00:00
foobar 1a5e210004 my back hurts.. 2003-05-15 12:28:46 +00:00
Sascha Schumann e1818aae0a Avoid using a stream which has already been freed 2003-05-15 12:01:01 +00:00
Ilia Alshanetsky 01aef58899 Bug fixing news. 2003-05-15 02:27:11 +00:00
Ilia Alshanetsky 670d72a64b MFH 2003-05-15 02:25:59 +00:00
Wez Furlong 0a837f8064 Better be sure to spell it out... 2003-05-14 19:10:27 +00:00
Wez Furlong 8307e2c329 4, not 3 :) 2003-05-14 19:10:02 +00:00
Wez Furlong 5c48a21bcc Avoid warning about casting as FD when including. This fixes the
fopencookie/userstream/include test.

Add label for new selectable descriptor cast mode.
2003-05-14 18:38:01 +00:00
foobar 39d03d8ab6 MFH 2003-05-14 18:23:41 +00:00
Moriyoshi Koizumi e674b5c6a4 MFH: reverted the patch for the PATH_TRANSLATE issue 2003-05-14 18:19:57 +00:00
foobar 395123dcc8 Added test case for bug #23624 2003-05-14 15:01:31 +00:00
Edin Kadribasic b484523d7f Credits update 2003-05-14 13:40:49 +00:00
Daniela Mariaschi 22e9844842 MFH: better fix bug #20641.
Overflow numeric/deciaml datatype on NT
2003-05-14 08:26:34 +00:00
Marcus Boerger 6dfca30ec9 Update 2003-05-14 06:42:21 +00:00
Marcus Boerger fd0b71760e MFH: Enable db<n> builds configured with --with-uniquename 2003-05-14 06:22:58 +00:00
Sascha Schumann 862edc6aae Fix file_get_contents segfault on empty file 2003-05-14 01:08:47 +00:00
Moriyoshi Koizumi fcffe5b582 MFH(r-1.4, r-1.4, r-1.5, r-1.4, r-1.4, r-1.4): fixed tests so they won't fail
in correct situations
2003-05-14 00:37:45 +00:00
Ilia Alshanetsky 32131681f7 Fixed a memory leak when -h flag is used. 2003-05-14 00:11:01 +00:00
foobar 2cd08683c8 - Fixed bug #23584 (error line numbers off by one when using #!php).
# already fixed in php5
2003-05-14 00:05:12 +00:00
Sascha Schumann 0e47b9242d Readd fd 0-2 protection, so that users cannot close them 2003-05-13 23:51:57 +00:00
Sascha Schumann 4066bd0a17 Supply STDIN/OUT/ERR_FILENO directly, instead of opening them through
stdio's fdopen.
2003-05-13 23:44:35 +00:00
Sascha Schumann bbf39825e1 Use POSIX IO here, mainly to fix interactive mode.
This also fixes a possible cpu-time hog bug where a file would consist
of "#" and nothing else.
2003-05-13 23:36:38 +00:00
Sascha Schumann 7017cc588c Use and supply zend_open func 2003-05-13 23:09:27 +00:00
foobar 057d36b789 MFH 2003-05-13 22:10:27 +00:00
Ilia Alshanetsky b811d30a74 MFH 2003-05-13 22:09:30 +00:00
foobar 8530516f40 reorder 2003-05-13 22:05:34 +00:00
Marcus Boerger 987d9aff6c MFH: Fix this test 2003-05-13 20:39:08 +00:00
Moriyoshi Koizumi 1a241fc6f6 made it slightly descriptive 2003-05-13 19:41:46 +00:00
Moriyoshi Koizumi a0a0ff10a4 BFN 2003-05-13 19:40:29 +00:00
Moriyoshi Koizumi ecf62dc44e MFH(r-1.112, r-1.18): fixed bug #23610 2003-05-13 19:38:04 +00:00
Sascha Schumann cfeebdf8c5 MFH 2003-05-13 18:48:18 +00:00
Christian Stocker cd1def8074 fix possible segfault 2003-05-13 14:42:23 +00:00
Adam Dickmeiss 99af37d2c8 Fix problem with yaz_record in array mode, when record is unavailable. 2003-05-13 11:05:59 +00:00
Sascha Schumann 10f2defb04 Ensure that we don't close a random fd
fchdir(0)                                       Err#20 ENOTDIR
close(0)                                        = 0
2003-05-13 02:25:29 +00:00
Ilia Alshanetsky d80e0fc48c MFH 2003-05-13 01:58:16 +00:00
Wez Furlong a159c212c4 BFN! 2003-05-13 00:21:50 +00:00
Wez Furlong 3b2f0b8ac4 Fix erroneous error status when attempting to use stream_select() on an SSL
stream.  As a by-product, this also fixes Bug #22238, stream_select() clobbers
read buffer for pipes.
2003-05-13 00:18:27 +00:00
Wez Furlong 6c0ee68f07 Probable fix for #23567 - pfsockopen returns dead connection.
# Just need to verify under win32
2003-05-12 23:44:48 +00:00
Moriyoshi Koizumi 46756f8caa MFH(r-1.175, r-1.53): applied the right fix for bug #23016 2003-05-12 13:31:16 +00:00
Ilia Alshanetsky 38beab8a1e ifdef away win32 only variables. 2003-05-12 04:05:54 +00:00
Sascha Schumann c53c056477 MFH 2003-05-12 01:29:41 +00:00
Sascha Schumann 6db735215a MFH 2003-05-12 01:03:47 +00:00
Moriyoshi Koizumi 52c52c1c3d MFH(r-1.228): fixed bug #22463 and bug #23581 2003-05-11 06:39:42 +00:00
Moriyoshi Koizumi 7d4a198992 MFH(r-1.1, r-1.1): added test cases for bug #22463 and bug #23581 2003-05-11 06:35:11 +00:00
SVN Migration 794994bfb5 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-11 06:33:36 +00:00
Moriyoshi Koizumi 1df318632d Fixed bug #23016 2003-05-10 20:55:44 +00:00
Rasmus Lerdorf b8af95533a Need to add the kerberos include dir here (fixes compile problem on RH9) 2003-05-10 17:11:33 +00:00
Sascha Schumann f695e50683 MFH 2003-05-10 16:49:53 +00:00
Hartmut Holzgraefe 4b3a23efa9 removing the crashbug on windows 2003-05-09 13:55:44 +00:00
Pierre Joye ad07d32fc7 MFH 2003-05-09 12:17:07 +00:00
Hartmut Holzgraefe 48ef3a2f55 MFH 2003-05-09 09:56:51 +00:00
Edin Kadribasic eafad14638 Reverting my last patch because user reports it does not help
solve the problem. (bug #23504)

# I cannot reproduce this myself so reverting the patch
# is probably the best thing to do at this point.
2003-05-09 09:08:09 +00:00
Ilia Alshanetsky 6503178113 MFH 2003-05-09 01:10:24 +00:00
Moriyoshi Koizumi a678dd0832 MFH(r-1.84): added "&euro;" support for htmlentities() and html_entity_decode() 2003-05-08 15:44:32 +00:00
Edin Kadribasic f601dff0c2 Fix for bug #23504. Read per_dir configuration before trying to open the
the php file for execution.
2003-05-08 09:19:44 +00:00
Ilia Alshanetsky 9acdb6b6c8 MFH 2003-05-08 01:23:36 +00:00
Sara Golemon e29c2b0872 MFH(r-1.72) 2003-05-07 20:32:28 +00:00
Moriyoshi Koizumi 96d9074817 MFH(r-1.16): possible fix for bug #23455 (patch by rrichards@digarc.com) 2003-05-07 14:12:57 +00:00
Sascha Schumann c959028440 update 2003-05-06 23:53:33 +00:00
foobar 8902f7fc3f update 2003-05-06 23:43:13 +00:00
Sascha Schumann b0fdf62d3c update 2003-05-06 23:26:09 +00:00
Rasmus Lerdorf c03591bbc0 Remind people that sending in their qa info may contain sensitive data. 2003-05-06 20:22:17 +00:00
Sascha Schumann 2b2187ea33 MFH 2003-05-06 19:18:07 +00:00
Marcus Boerger ee1f22f64e Change of roles 2003-05-06 15:07:09 +00:00
Sascha Schumann b790692180 Eliminate fsync calls which apply to files, not sockets.
Also disable the Win32 socket shutdown procedure for non-Win32 systems.

closesocket has quite different semantics on Win32 which requires
a certain shutdown procedure as outlined here:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/shutdown_2.asp
2003-05-06 14:39:31 +00:00
Sascha Schumann 62f0ea7954 Real fix for open() issue on Solaris 2003-05-06 13:18:38 +00:00
Sascha Schumann 648355a4cb When HAVE_BROKEN_GETCWD is in effect, open() will be called, so we need
to include unistd.h.
2003-05-06 13:06:53 +00:00
Sascha Schumann cf6352e82f Move persistent into ZEND_DEBUG section 2003-05-06 11:53:33 +00:00
Sascha Schumann b70f5ce50c Drop some TSRMLS_FETCH which are not used according to gcc 2003-05-06 11:52:11 +00:00
Sascha Schumann 09d0f92e05 Fix URL reading 2003-05-06 11:04:42 +00:00
Sascha Schumann 4e340d5e6c fix typo 2003-05-06 10:15:59 +00:00
Sascha Schumann 5696b0327f improve portability 2003-05-06 10:14:39 +00:00
Marcus Boerger ea7f0f7314 MFH 2003-05-06 09:34:20 +00:00
Marcus Boerger 97807d68e9 MFH new test layout 2003-05-06 01:26:21 +00:00
Daniela Mariaschi 908f56d375 MFH 2003-05-05 22:45:32 +00:00
Marcus Boerger decda2cb0e Bugfix #22367 2003-05-05 22:36:16 +00:00
Ilia Alshanetsky 83dbc17647 MFH 2003-05-05 22:21:37 +00:00
Ilia Alshanetsky 70369b3888 MFH 2003-05-05 19:57:40 +00:00
Moriyoshi Koizumi 314d0c288f MFH(r-1.81): added links to HTML entity resources 2003-05-05 19:51:16 +00:00
Wez Furlong 246300a60c Avoid potential segfault when preparing an SSL stream. 2003-05-05 16:30:04 +00:00
Christian Stocker 98baae88df xmlInitParser() at MINIT for better thread-safety (by Rob) 2003-05-05 14:46:49 +00:00
Christian Stocker 1e6865b38e Set the doc property to NULL if no parent is available (by Rob Richards) 2003-05-05 12:55:23 +00:00
Thies C. Arntzen 42e19bdbd7 fixed FMR 2003-05-05 12:17:03 +00:00
Sebastian Bergmann 44049a7e62 MFH: Add test case for bug #23489. 2003-05-05 10:17:14 +00:00
SVN Migration cbab7fcfea This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-05 10:16:05 +00:00
Moriyoshi Koizumi 727d97a95e Credit Jay's name 2003-05-04 19:34:52 +00:00
Ilia Alshanetsky ae6840dc31 MFH 2003-05-04 19:10:07 +00:00
Ilia Alshanetsky eef36a86dc Bug fixing news. 2003-05-04 18:42:19 +00:00
Ilia Alshanetsky 8eac6854f5 MFH 2003-05-04 18:41:37 +00:00
SVN Migration 2645704e4d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-04 18:41:03 +00:00
Marcus Boerger de8c0e5070 BFN: #23162 2003-05-04 18:29:05 +00:00
Moriyoshi Koizumi c52b97c89f MFH(r-1.174): fixed an issue that zend-multibyte's behaviour doesn't reflect the change to mbstring.internal_encoding ini setting. 2003-05-04 13:12:26 +00:00
Moriyoshi Koizumi f63177b075 MFH(r-1.379,r-1.1): real fix and a test case for bug #22008 2003-05-04 12:45:12 +00:00
SVN Migration d1ae16818e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-04 12:44:37 +00:00
Moriyoshi Koizumi 50e6fc68f4 BFN 2003-05-04 11:52:44 +00:00
Moriyoshi Koizumi ef2bc94ac4 MFH(r-1.378): a quick fix for bug #22008 2003-05-04 11:46:23 +00:00
Moriyoshi Koizumi 7a80b64960 MFH(r-1.109): added missing sanity check 2003-05-04 11:22:00 +00:00
Marcus Boerger 825c107f2b Fix test 2003-05-02 23:27:46 +00:00
Sascha Schumann 89cd013bd6 Rework text 2003-05-02 18:25:39 +00:00
Moriyoshi Koizumi 9d0951f2d7 MFH(r-1.80): fixed bug #23449 2003-05-02 11:01:00 +00:00
Thies C. Arntzen 8a5297e61c @ - Fixed bug #23376 OCINewDescriptor 2003-05-02 08:43:25 +00:00
Sara Golemon 631112ec2f MFH(r-1.227) 2003-05-02 01:05:16 +00:00
foobar c0b58291d2 MFH: - Fixed bug #22580 (ext/odbc compile failure with dbmaker) 2003-05-02 00:40:35 +00:00
foobar 6d9c0036b7 MFH: - Fixed bug #23427 (compile failure with GD 1.8.3) 2003-05-01 23:50:25 +00:00
Ilia Alshanetsky f4a30e483c MFH 2003-05-01 21:08:47 +00:00
Sascha Schumann 19e8346959 cleanup 2003-05-01 20:50:26 +00:00
Wez Furlong c3d353867a Really fix dll linkage, and fix TSRMLS usage. 2003-05-01 10:44:18 +00:00
Wez Furlong 8062aa164a MFH: Fix odbc_fetch_(array|object) for UnixODBC. 2003-04-30 23:33:18 +00:00
Ilia Alshanetsky 79577fadf9 MFH 2003-04-30 21:54:04 +00:00
Frank M. Kromann 458bcdc77e Fixing bit support. Bug #23324 2003-04-30 21:52:06 +00:00
Moriyoshi Koizumi d99e16a9be another oops. (sync with HEAD) 2003-04-30 16:32:15 +00:00
Moriyoshi Koizumi 2c1983f352 MFH(r-1.5): really fix the test 2003-04-30 16:31:01 +00:00
Rasmus Lerdorf f183abfd6a Fix gdCacheDelete() crashes in the bundled gd library 2003-04-30 16:23:59 +00:00
Wez Furlong c3a1a51f83 Fix leak in "php -m". 2003-04-30 13:07:18 +00:00
Wez Furlong c4e23fff2b Really fix the leak in the branch... 2003-04-30 11:12:03 +00:00
Wez Furlong 6454f5c3f2 MFH: Fix memory leak and enable for IBM DB2. 2003-04-30 10:46:43 +00:00
foobar 08a657f8fa MFH 2003-04-30 10:42:37 +00:00
foobar fb950ce0d5 BFN 2003-04-30 10:40:08 +00:00
foobar 034d61dbaa MFH: - Fixed bug #23371 (configure falsely detects c-client using SSL) 2003-04-30 10:35:06 +00:00
foobar 5edbe423b7 MFH 2003-04-30 10:23:06 +00:00
foobar 3220d2d769 MFH: compile fixes for < 9.2 oracle 2003-04-30 10:20:14 +00:00
Sascha Schumann 2bc6223a5f MFH fix for solaris find breakage 2003-04-30 07:08:32 +00:00
Ilia Alshanetsky 63693db502 MFH 2003-04-30 00:47:20 +00:00
Ilia Alshanetsky a2c87335ea MFH 2003-04-30 00:37:40 +00:00
Wez Furlong 87eaeb5363 Fix win32 build of shared openssl extension. 2003-04-29 13:48:06 +00:00
Moriyoshi Koizumi c7ae114bdf MFH(r-1.4): fixed typo 2003-04-29 13:06:12 +00:00
Moriyoshi Koizumi 968ed87454 MFH(r-1.3): fixed bogus skip condition 2003-04-29 13:04:57 +00:00
Moriyoshi Koizumi 886f9faaf3 dot 2003-04-28 23:39:15 +00:00
Ilia Alshanetsky f15b229e55 MFH 2003-04-28 22:42:36 +00:00
Wez Furlong 2878b23b14 BFN 2003-04-28 22:38:50 +00:00
Sascha Schumann d6302ef69d Fix Content-Encoding header lacking CRLF 2003-04-28 22:06:54 +00:00
foobar 1823f4748c - Change the version to 4.3.2-RC3-dev
# This should have been RC2-dev before..
# (if it was plain RC, we could not so easily know what versions people
# are testing from snapshots, for example)
2003-04-28 21:19:03 +00:00
foobar 7c495e9250 - Bumb the version to 4.3.2-RC2 2003-04-28 21:11:47 +00:00
foobar fcc7633bd0 MFH 2003-04-28 21:00:41 +00:00
Sascha Schumann 77d490c8fa usage fix 2003-04-28 19:42:30 +00:00
Derick Rethans 3005a78fbf - MFH 2003-04-28 18:53:46 +00:00
Moriyoshi Koizumi 7be8abe541 Removed bizarre tests for disgusting bugs which have kept annoying us.
- bug #22367 (http://bugs.php.net/22367)
 - bug #22510 (http://bugs.php.net/22510)
 - bug #22592 (http://bugs.php.net/22592)
2003-04-28 18:51:47 +00:00
Derick Rethans 427e27cc74 - MFH 2003-04-28 18:47:57 +00:00
Sascha Schumann f007536147 # on working disk again
reverting code, moving to correct branch
2003-04-28 16:18:34 +00:00
Sascha Schumann cf0b1ab2e3 # disk going bad, rescuing data
improve php_url_encode a bit
2003-04-28 15:17:00 +00:00
Moriyoshi Koizumi 302dc219c1 MFH(r-1.336): added missing sanity check in fgetcsv()
Partly synchronised indents with HEAD
# please merge CS fixes to branches too, or leave them as is :(
2003-04-28 15:11:14 +00:00
Wez Furlong 7aef25bc38 MFH: Fix for #23340; fopen on multiple urls from the same server crashes. 2003-04-28 14:41:54 +00:00
foobar 12e61e2ac4 MFH 2003-04-28 07:31:00 +00:00
Marcus Boerger 0371773312 MFH fix 2003-04-27 17:20:12 +00:00
Zeev Suraski fd913127ab This caused more mess than good, revert to the way it was in 4.3.0... 2003-04-27 16:35:53 +00:00
Stanislav Malyshev bb56953b8d fix TSRM 2003-04-27 16:18:01 +00:00
Stanislav Malyshev 5762d24683 Fix very nasty bug - session cookie kills one of the cookies
set before it on certain non-Apache SAPIs.
# for example, this code:
# <?
# setcookie("abc", 1);
# setcookie("def", 2);
# session_start();
# ?>
# would output only 'def' cookie on CGI and ISAPI
2003-04-27 16:02:44 +00:00
Wez Furlong 71a63bc126 Fix the lack of SSL certificate verification support for ssl:// sockets and
https:// streams.

This code is essential for people writing secure applications in order to avoid
man-in-the-middle attacks, and is thus regarded as a bug fix.

It is, however, optional; you need to explicitly turn on the verification
functionality, as it depends on you to specify your trusted certificate chain.

This sample demonstrates a secured https:// request, making use of the CA
bundle provided by curl:

<?php
$ctx = stream_context_create();
// Turn on verification
stream_context_set_option($ctx, "ssl", "verify_peer", true);
// Set the CA bundle (trusted certificate chain)
stream_context_set_option($ctx, "ssl", "cafile",
	"/usr/local/share/curl/curl-ca-bundle.crt");
$fp = fopen("https://www.zend.com", "rb", false, $ctx);
?>

This sample demonstrates how to roll your own https:// request, and specify a
certificate to use for authentication; the local_cert and passphrase options
will also work for fopen().

<?php
$ctx = stream_context_create();
stream_context_set_option($ctx, "ssl", "verify_peer", true);
stream_context_set_option($ctx, "ssl", "cafile",
	"/usr/local/share/curl/curl-ca-bundle.crt");

// set local cert.  it MUST be a PEM encoded file containing the certificate
// AND your private key.  It can also contain the certificate chain of issuers.
stream_context_set_option($ctx, "ssl", "local_cert", "/path/to/my/cert.pem");
stream_context_set_option($ctx, "ssl", "passphrase", "secret!");

// Set the common name that we are expecting; PHP will perform limited wildcard
// matching.  If the CN does not match this, the connection attempt will fail.
// The value to specify will always be the same as the Host: header you specify.
stream_context_set_option($ctx, "ssl", "CN_match", "secure.sample.domain");

$ssl = fsockopen("ssl://secure.sample.domain", 443, $errno, $errstr, 10, $ctx);

if ($ssl) {
	fwrite($ssl, "GET / HTTP/1.0\r\nHost: secure.sample.domain\r\n\r\n");
	fpassthru($ssl);
}

?>
2003-04-26 21:34:49 +00:00
Ilia Alshanetsky 582c2462ad MFH 2003-04-25 22:00:17 +00:00
foobar fd55fc78f4 MFH: compile fixes for AIX/HPUX 2003-04-25 21:31:49 +00:00
foobar 0fe880b867 MFH 2003-04-25 18:11:42 +00:00
Moriyoshi Koizumi 95c2ba883a MFH(r-1.172): moved copyright notice to the better place 2003-04-25 17:40:28 +00:00
Moriyoshi Koizumi fb743a3e27 MFH(r-1.171): added a bogus copyright notice 2003-04-25 17:35:30 +00:00
foobar 56fa94a6c0 MFH 2003-04-25 15:43:35 +00:00
SVN Migration 7756f1b7f2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-04-25 15:43:29 +00:00
foobar be525968af MFH 2003-04-25 10:53:31 +00:00
foobar 2e3222d165 BFN 2003-04-25 10:15:17 +00:00
foobar 973651ae3b BFN 2003-04-25 09:00:00 +00:00
foobar 071b885744 MFH: Fixed bug #23099 (ext/interbase: "libgds.so: undefined reference to 'crypt'") 2003-04-25 08:59:00 +00:00
foobar bedd024310 MFH 2003-04-25 08:54:09 +00:00
foobar dd14eb51d4 MFH 2003-04-25 08:33:59 +00:00
SVN Migration caf1b545b8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-04-25 08:33:26 +00:00
foobar bf0d23f985 MFH 2003-04-25 08:10:23 +00:00
Ilia Alshanetsky 1f433956b0 emalloc -> safe_emalloc 2003-04-25 00:59:03 +00:00
Ilia Alshanetsky d949f9d912 emalloc -> safe_emalloc 2003-04-25 00:50:31 +00:00
David Hill 8f7009f7f2 minor compiler incompatability fixes 2003-04-24 18:25:47 +00:00
Wez Furlong 2e4f176a6d Potential fix for problems during registration 2003-04-24 13:52:16 +00:00
Ilia Alshanetsky 694f5ed4de emalloc -> safe_emalloc 2003-04-24 01:42:09 +00:00
Marcus Boerger b882dbf5b9 MFH Synch: shutdown and ini defaults 2003-04-23 22:53:17 +00:00
foobar 982458f908 MFH 2003-04-23 08:55:09 +00:00
Ilia Alshanetsky 48e938368e emalloc -> safe_emalloc 2003-04-23 02:37:29 +00:00
Rasmus Lerdorf 9a57fc8cab &039; which is a single-quote may also come in as &39; I see no reason
not to handle both in html_entity_decode()
2003-04-22 20:44:55 +00:00
Sascha Schumann 0117c206d6 Drop php_info_print_table_row_ex from the 4.3 branch 2003-04-22 03:27:01 +00:00
Ilia Alshanetsky 0be78cd2b4 emalloc -> safe_emalloc. 2003-04-22 01:38:36 +00:00
Moriyoshi Koizumi 304409e520 MFH(r-1.136): the feature is less relevant to encoding conversion indeed 2003-04-21 19:07:50 +00:00
foobar 545b4cff3b MFH: Fixed bug #23198 2003-04-21 17:53:59 +00:00
Sascha Schumann 1719d0062c MFH 2003-04-21 01:09:33 +00:00
Sascha Schumann 1dafae56b9 MFH 2003-04-19 18:35:51 +00:00
Ilia Alshanetsky 720d8fdddc MFH (pcre sanity check) 2003-04-19 18:12:07 +00:00
Ilia Alshanetsky 2fa3048632 MFH 2003-04-19 18:10:58 +00:00
Ilia Alshanetsky 8b02b1eb7e MFH 2003-04-19 17:45:55 +00:00
Sascha Schumann c34c7433eb MFH 2003-04-19 17:41:12 +00:00
Marcus Boerger 2eb11eae36 MFH: The env-var TEST_PHP_EXECUTABLE is needed in tests 2003-04-19 17:23:11 +00:00
Moriyoshi Koizumi c629ac4600 MFH(r-1.135, r-1.268): made phpinfo() / gd_info() indicate availability of
JIS feature
2003-04-19 07:45:45 +00:00
Moriyoshi Koizumi a743a6dee6 MFH(r-1.134): fixed help text alignment 2003-04-19 07:16:06 +00:00
Sascha Schumann 460aba89f8 Don't spill our (PHP) HAVE_PGSQL/MYSQL into the mnogo header(s) 2003-04-19 05:10:35 +00:00
Sascha Schumann c465c5a3eb remove useless prototype 2003-04-19 05:09:52 +00:00
Rui Hirokawa 18144dffe9 added an option to support japanese encoding conversion in bundled gd. 2003-04-19 04:13:01 +00:00
Ilia Alshanetsky f896c7eeae MFH 2003-04-18 00:20:36 +00:00
foobar 74348caba2 MFH 2003-04-17 23:20:58 +00:00
Jay Smith bd62bcf18b MFH: fix some segfaults in some pg_lo_* functions 2003-04-17 16:55:56 +00:00
foobar 42c98ab6c8 touch 2003-04-17 02:46:02 +00:00
Ilia Alshanetsky 0ec69ef808 Integer overflow stuff. 2003-04-16 23:57:56 +00:00
Ilia Alshanetsky 59a1c7dcf5 safe_emalloc() and few other integer overflow fixes. 2003-04-16 23:49:45 +00:00
foobar c8e2b9ebfe BFN 2003-04-16 23:45:11 +00:00
Ilia Alshanetsky aac21de8ae Bug fixing news. 2003-04-16 23:32:20 +00:00
Ilia Alshanetsky db59a7414e MFH 2003-04-16 23:31:39 +00:00
Moriyoshi Koizumi dd6c7bb240 MFH(r-1.226, r-1.24, r-1.99, r-1.68): fixed implicit cast issue 2003-04-16 22:57:15 +00:00
Moriyoshi Koizumi e486cb60bc BFN 2003-04-16 21:13:28 +00:00
Moriyoshi Koizumi 9500c0c776 MFH(r-1.9): fixed bug #19795 2003-04-16 21:11:04 +00:00
Moriyoshi Koizumi 68cde46c9f MFH(r-1.10): fixed typo 2003-04-16 20:03:43 +00:00
Moriyoshi Koizumi 4c37bb0be8 MFH(r-1.137): compiler warning fix & possible 64bit fix 2003-04-16 19:19:13 +00:00
Marcus Boerger 3859a66d14 update 2003-04-16 19:17:27 +00:00
Marcus Boerger 486af716be safe_emalloc() 2003-04-16 19:14:29 +00:00
Marcus Boerger c0bffe6dcf MFH: prepare for safe_emalloc 2003-04-16 19:12:10 +00:00
Marcus Boerger b4b0bd3a69 Correcting fix for safe_emalloc 2003-04-16 18:25:35 +00:00
Marcus Boerger ae8c6a816a Use safe_emalloc but as macro until the function is fixed 2003-04-16 18:20:27 +00:00
Moriyoshi Koizumi e8713cc150 MFH(r-1.136): fixed bug #23080 2003-04-16 17:32:41 +00:00
Sascha Schumann e533fe138b fix two uninitialized reads 2003-04-16 13:44:05 +00:00
Sascha Schumann aa6e7433bc MFH 2003-04-16 13:37:54 +00:00
Sascha Schumann 90bb834ed1 Accessing "stream" after freeing it is not a good idea
==32692== Invalid read of size 4
==32692==    at 0x80CAFB3: _php_stream_free (/home/sas/src/php4/main/streams.c:395)
==32692==    by 0x80CE096: _php_stream_cast (/home/sas/src/php4/main/streams.c:2244)
==32692==    by 0x80CEDD4: _php_stream_open_wrapper_as_file (/home/sas/src/php4/main/streams.c:2684)
==32692==    by 0x80C1C6E: php_fopen_wrapper_for_zend (/home/sas/src/php4/main/main.c:761)
==32692==    Address 0x414487EC is 44 bytes inside a block of size 116 free'd
==32692==    at 0x401622FB: free (vg_clientfuncs.c:182)
==32692==    by 0x80DB337: _efree (/home/sas/src/php4/Zend/zend_alloc.c:265)
==32692==    by 0x80CAFAF: _php_stream_free (/home/sas/src/php4/main/streams.c:393)
==32692==    by 0x80CE096: _php_stream_cast (/home/sas/src/php4/main/streams.c:2244)
2003-04-16 12:55:21 +00:00
Sascha Schumann 86f292bc00 MFH 2003-04-16 12:44:54 +00:00
Jan Lehnardt f251532caa - MFH 2003-04-16 12:05:43 +00:00
Sascha Schumann 72a2ec5d85 MFH 2003-04-16 09:21:45 +00:00
Sascha Schumann 9ba9ff7b17 Simplify use of this header in external apps 2003-04-16 09:12:37 +00:00
Sascha Schumann 856b482bab add missing check 2003-04-16 05:23:21 +00:00
foobar 38cb520533 MFH 2003-04-16 02:24:53 +00:00
foobar 8e9b151720 MFH 2003-04-16 02:19:25 +00:00
foobar d720b0c631 missing dot. :) 2003-04-16 01:52:47 +00:00
Ilia Alshanetsky ee957ac447 Bug fixing news. 2003-04-16 01:08:11 +00:00
Ilia Alshanetsky b6972e5890 MFH 2003-04-16 01:07:20 +00:00
Ilia Alshanetsky e25f73df9c Bug fixes. 2003-04-16 00:59:44 +00:00
Ilia Alshanetsky e28bc16c5b MFH 2003-04-16 00:58:53 +00:00
foobar f95c4cb8bb BFN 2003-04-15 04:27:24 +00:00
Shane Caraveo 1ee0cac2d9 fix http://bugs.php.net/bug.php?id=22004
use Sascha's suggestion, works the same, likely better :)
2003-04-15 04:14:21 +00:00
Shane Caraveo 5c19a5499b fix http://bugs.php.net/bug.php?id=22004 2003-04-15 04:01:48 +00:00
Ilia Alshanetsky fb9e0bb965 Bug fixing news. 2003-04-15 01:34:54 +00:00
Ilia Alshanetsky 1a97d39a61 Fixed bug #23201 (set_file_buffer() crashes with stdio streams).
#Already in PHP 5.0 no need for MFH
2003-04-15 01:30:59 +00:00
Ilia Alshanetsky 9e37e7adfb MFH 2003-04-15 01:00:00 +00:00
Marcus Boerger 5c4dca7424 MFH: Fixed Bug #23188 CDB databases created with 'c' mode do not work. 2003-04-14 21:53:42 +00:00
Ilia Alshanetsky 5e0efd3caa bug fixing news. 2003-04-14 13:56:30 +00:00
Ilia Alshanetsky d346b4ba9b MFH 2003-04-14 13:55:53 +00:00
Jesus M. Castagnetto 31071bdd6c Updating the PHP_4_3 branch with the fix for bug #2306. 2003-04-14 12:37:59 +00:00
Masaki Fujimoto 12e8ae3adb - fixed bug-id 2003-04-14 05:29:22 +00:00
foobar 49f3b54810 style 2003-04-14 01:52:45 +00:00
Marcus Boerger e2fdfb6c19 MFH: make it static 2003-04-13 20:31:16 +00:00
Marcus Boerger dcdaf1e9a0 Inform abot.. 2003-04-13 20:27:45 +00:00
Marcus Boerger 7f5ff80c86 MFH: reenable dba_popen 2003-04-13 20:16:14 +00:00
Sascha Schumann 171aaf4e8d MFH 2003-04-13 20:14:08 +00:00
Marcus Boerger 9cc234e979 MFH: persistent stream closing 2003-04-13 20:13:34 +00:00
Sascha Schumann 500cf0a542 MFH bison 1.875b patch 2003-04-13 20:10:32 +00:00
SVN Migration b724a873e9 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-04-13 19:50:29 +00:00
Moriyoshi Koizumi c77c03b751 MFH 2003-04-12 22:29:14 +00:00
Moriyoshi Koizumi bbd9c931b0 MFH(r-1.141): strip_tags() is also binary-safe now.
# the change was already MFHed.
2003-04-12 21:30:47 +00:00
Stig Bakken 7bfabbae52 MFH 2003-04-11 23:48:39 +00:00
Wez Furlong c6db0221c4 BFN. 2003-04-11 11:12:14 +00:00
Wez Furlong e1a54c8d10 MFH: Fix for Bug #23069 2003-04-11 11:10:39 +00:00
Derick Rethans 3cba4261fa - MFH: proto fix 2003-04-11 09:54:39 +00:00
Ilia Alshanetsky 39c03bc2c5 segv fix. 2003-04-11 02:41:26 +00:00
Ilia Alshanetsky 22e0811f2c MFH 2003-04-11 02:40:28 +00:00
Christian Stocker d7a3529ead comment xmlMemoryDump() out (only needed for debugging) 2003-04-10 13:11:00 +00:00
Christian Stocker 7241d18de1 MFH.
- Fixed memleaks in domxml_doc_add_root, domxml_xslt_stylesheet
  and domxml_xslt_stylesheet_doc
- Completed implementation of domxml_doc_imported_node.
2003-04-10 12:46:11 +00:00
Stanislav Malyshev bf5d11b44e MFH path_translated 2003-04-10 11:35:07 +00:00
Ilia Alshanetsky 9ee32440ad MFH 2003-04-10 04:35:51 +00:00
Ilia Alshanetsky 729d43f733 More integer overflows. 2003-04-10 03:27:34 +00:00
Ilia Alshanetsky 0c0482d59c MFH (fix of Win32 build by Sebastian Bergmann) 2003-04-10 02:11:20 +00:00
Marcus Boerger 00366c63fc MFH 2003-04-09 20:36:44 +00:00
Marcus Boerger d8d9e16711 MFH: cli/ini/html_errors/info (they are related) 2003-04-09 20:27:55 +00:00
Rasmus Lerdorf a86c9bbd24 Oops, there is no _FORM auto-global. We changed this to _REQUEST ages ago. 2003-04-09 17:45:38 +00:00
Derick Rethans cb9a33bc14 - MFH: html output for Zend Extension version strings 2003-04-09 15:22:45 +00:00
Edin Kadribasic 9b0239178c Fixed bug #22521.
HAVE_OCI8_SHARED_MODE causes segfaults on startup on many configurations.
2003-04-09 12:00:54 +00:00
Christian Stocker 1a3e5a816b fixed some memleaks when using attribute nodes (Rob Richards) 2003-04-09 07:33:19 +00:00
Ilia Alshanetsky ff21c392f3 MFH 2003-04-09 01:55:56 +00:00
Marcus Boerger 99637508f9 MFH: erroneous newline at start 2003-04-08 23:04:36 +00:00
Christian Stocker c48e8e5116 MFH (fixes memleaks in element->get_elements_by_tagname & document->get_elements_by_tagname) 2003-04-08 19:30:46 +00:00
Christian Stocker 9b9ec7ad1e Fixes/Additions done for domxml 2003-04-08 18:41:38 +00:00
Christian Stocker d7f0682135 Big Patch with a lot of mem-leak fixes
- Attribute nodes are freed/generated correctly
- xsltstylesheets are freed correctly
- xpathregister doesn't leak anymore
- parser/xsltglobals cleanup at MSHUTDOWN
- Added DomDocument->free() for removing documents during script-time
2003-04-08 18:26:50 +00:00
Ilia Alshanetsky aa6810479e exif reminder 2003-04-08 00:22:37 +00:00
Ilia Alshanetsky 84e44e9759 Bug fixing news. 2003-04-08 00:20:08 +00:00
Ilia Alshanetsky e49440bb73 MFH 2003-04-08 00:19:29 +00:00
foobar 4f45925b23 BFN 2003-04-07 22:52:46 +00:00
foobar be8da1111e BFN 2003-04-06 22:42:38 +00:00
foobar 2527cce052 MFH: Fixed bug #23071 (when DST in effect, date("T") crashed PHP) 2003-04-06 22:37:58 +00:00
Moriyoshi Koizumi 18939dd676 MFH(r-1.5): improved zmemcheck macro so it displays the size of each memory
block too.
2003-04-06 18:40:46 +00:00
Moriyoshi Koizumi 1a645aa637 MFH(r-1.4): improved readability of zmemcheck output 2003-04-06 18:12:36 +00:00
Moriyoshi Koizumi 8b67ff4348 MFH(r-1.2) 2003-04-06 17:54:31 +00:00
SVN Migration 3a9322c32a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-04-06 17:53:18 +00:00
Marcus Boerger c8ff4f2262 MFH: version collating 2003-04-05 20:49:09 +00:00
foobar d9fe90785e MFH 2003-04-05 17:47:17 +00:00
foobar a4fe7b11ee MFH 2003-04-05 17:34:04 +00:00
Ilia Alshanetsky 863a441fba GD news. 2003-04-05 17:24:48 +00:00
Ilia Alshanetsky edea55ecd7 MFH (gd upgrade). 2003-04-05 17:24:16 +00:00
Marcus Boerger bdd3fbf67a MFH: Include ldd output 2003-04-05 12:19:56 +00:00
Sascha Schumann 55c86cbdb9 MFH 2003-04-05 11:40:40 +00:00
Sascha Schumann 4bfdbfb167 MFH 2003-04-05 11:22:44 +00:00
Moriyoshi Koizumi 6ccaefd48d MFH: added check for struct cmsghdr. now sockets extension can be built
under cygwin
2003-04-04 18:40:38 +00:00
foobar fdee9fe213 MFH: Fixed bug #22944 (--with-java "make install" fails) 2003-04-04 17:43:13 +00:00
foobar 8e6f5fe353 Fix bug #23048, CURLOPT_ENCODING is not always available 2003-04-04 16:18:15 +00:00
Moriyoshi Koizumi aa00851aa4 MFH(r-1.135): fixed memleak in socket_select() 2003-04-04 14:18:31 +00:00
Moriyoshi Koizumi 2b85acd861 Sorry, forgot these ones 2003-04-04 09:15:18 +00:00
Moriyoshi Koizumi 004746d842 renumbering 2003-04-04 09:13:28 +00:00
Moriyoshi Koizumi 216784bcc3 segfault busting news
replacing one tab to 4 spaces
2003-04-04 09:11:28 +00:00
Moriyoshi Koizumi 1cdedb63bd MFH(r-1.55): added missing sanity check, which was causing segfault. 2003-04-04 09:07:02 +00:00
Ilia Alshanetsky 49f0382490 MFH 2003-04-04 01:34:08 +00:00
Ilia Alshanetsky 50f76f501c Notes about various possible integer overflows in bundled gd library. 2003-04-04 01:17:35 +00:00
Ilia Alshanetsky 1525ff177f More gd stuff. 2003-04-04 00:44:34 +00:00
Ilia Alshanetsky 2ea7d06455 Fixed segv as well as info about new segvs in gd. 2003-04-04 00:29:37 +00:00
Ilia Alshanetsky f5ea07ce61 MFH 2003-04-04 00:16:54 +00:00
foobar ce99003ae1 MFH 2003-04-03 23:10:17 +00:00
Sascha Schumann 0200c77d7e one in socket_select 2003-04-03 20:07:40 +00:00
Sascha Schumann 4033fe903d augment summary with fixes which predate the list 2003-04-03 19:46:26 +00:00
Sascha Schumann 4849145b66 add chunk_split 2003-04-03 19:33:55 +00:00
Sascha Schumann bfaf2a8f36 another one fixed, a new one found 2003-04-03 19:21:50 +00:00
Sascha Schumann f8b07fbbac MFH 2003-04-03 19:19:25 +00:00
Sascha Schumann 08abb7213c fix 2003-04-03 18:55:54 +00:00
Sascha Schumann f31d157ce7 update regarding dbase extension 2003-04-03 18:52:35 +00:00
Sascha Schumann 868602b5ab Update - we purged the full list\! 2003-04-03 18:22:14 +00:00
Sascha Schumann 5d420d7bb7 MFH 2003-04-03 18:19:52 +00:00
Sascha Schumann 50d2474660 MFH 2003-04-03 18:10:41 +00:00
Rasmus Lerdorf 92cc078907 Clean up the parameter handling here 2003-04-03 15:57:30 +00:00
Derick Rethans fe93cf1b9a - CS 2003-04-03 06:21:21 +00:00
Moriyoshi Koizumi 7333bc8f82 Unable to reproduce.. 2003-04-03 01:04:13 +00:00
Moriyoshi Koizumi 9f8701ac58 segfault busting news 2003-04-03 01:01:35 +00:00
Moriyoshi Koizumi 55c5c4b362 MFH(r-1.117): fixed segfault in xml_parser_create() 2003-04-03 01:01:09 +00:00
Ilia Alshanetsky 51f2ad15f4 Bug fixing news. 2003-04-03 00:56:45 +00:00
Ilia Alshanetsky f4dd99e8b8 Fixed bug #23004 (When ftp_close() is called, sent QUIT to the ftp server) 2003-04-03 00:55:45 +00:00
Moriyoshi Koizumi 485c71abf7 MFH(r-1.152): fixed memleak in output buffering facility 2003-04-03 00:51:14 +00:00
Moriyoshi Koizumi c8948bf677 Removed i18n_convert() from the entries because that is an alias for
mb_convert_encoding()
2003-04-03 00:20:15 +00:00
Rasmus Lerdorf 77102efc79 Update 2003-04-03 00:16:51 +00:00
Moriyoshi Koizumi e64002e9ef MFH(r-1.38): fixed segfault in mb_ereg_match() 2003-04-03 00:15:58 +00:00
Moriyoshi Koizumi 043a1f5b36 MFH(r-1.37): fixed lots of crashes in mbregex 2003-04-03 00:05:01 +00:00
Rasmus Lerdorf bb0637213f Negative precision makes no sense, so check for that, but let the memory
manager error out on huge non-negative precision args
2003-04-02 23:50:41 +00:00
Rasmus Lerdorf b3ac7b808d Fix unregister_tick_function crash 2003-04-02 23:09:39 +00:00
Rasmus Lerdorf ae3616fba8 Get rid of bogus dtors 2003-04-02 22:06:46 +00:00
Rasmus Lerdorf 50c22695cd Fix the setlocale() segfault 2003-04-02 21:31:52 +00:00
foobar 7a5badecbf BFN 2003-04-02 17:35:23 +00:00
Edin Kadribasic 21390b3bf6 BFN 2003-04-02 12:38:43 +00:00
Edin Kadribasic 95ee73b7bf MFH 2003-04-02 12:36:36 +00:00
foobar 086a4fda17 MFH. (See bug #21995) 2003-04-02 11:42:16 +00:00
Christian Stocker e131b99b2a Patch for Bug #22774 by Rob Richards 2003-04-02 10:30:05 +00:00
Marcus Boerger 7dab648426 MFH 'auto' 2003-04-02 08:34:56 +00:00
Ilia Alshanetsky cd2968d0db MFH 2003-04-02 00:25:57 +00:00
Jay Smith 930347763b @- Fixed bug #23009 (pg_select with timestamp). (Marcus, Jay)
MFH
2003-04-02 00:00:09 +00:00
Jay Smith 1548b1ebf4 MFH 2003-04-01 23:28:18 +00:00
Rasmus Lerdorf 7e8039ef0d Arbitrarily limit array_pad() to only do 1 million elements at a time.
Probably still too high, but it solves the segfault for now.
2003-04-01 21:44:47 +00:00
Sascha Schumann d1c0cc7f47 s/0/FAILURE/ 2003-04-01 19:15:47 +00:00
Sascha Schumann d484c0ebf8 Fix an uninitialised read for ob_start(array()) 2003-04-01 19:13:40 +00:00
Rasmus Lerdorf 8ff4b67307 Argh!!! I guess nobody has ever looked at this code. 2003-04-01 19:10:35 +00:00
Rasmus Lerdorf 14aa0e7495 Fix exif crashes 2003-04-01 18:47:01 +00:00
Rasmus Lerdorf bf0c1962d9 Update (not fixed in HEAD because the API for this function needs to
change in PHP5.  It is moronic the way it is now)
2003-04-01 18:26:14 +00:00
Rasmus Lerdorf 724429c759 Ok, really fix socket_iovec_alloc() this time 2003-04-01 18:12:24 +00:00
foobar 00d6a6d8c2 BFN 2003-04-01 15:38:40 +00:00
foobar 5d5755af7c MFH: Fixed bug #22987 (missing perror() check in configure) 2003-04-01 15:36:21 +00:00
Sascha Schumann f373bcafd3 more insight re. ob_start bug 2003-04-01 13:02:46 +00:00
Sascha Schumann 91fb452012 The ob_start issue is reproducible. 2003-04-01 12:54:48 +00:00
Sascha Schumann 6e84cdacd1 editing 2003-04-01 12:43:45 +00:00
Sascha Schumann b5da4730a3 Overview of open issues and how to reproduce 2003-04-01 12:38:35 +00:00
Moriyoshi Koizumi 2726272b68 MFH(r-1.170): fixed crash in mb_convert_encoding() that occurs when a void
array is passed as the third parameter.
# thanks Sascha
2003-04-01 11:50:31 +00:00
Sascha Schumann 9b8fbc368c fix VPATH builds 2003-04-01 10:16:50 +00:00
Sascha Schumann ac125fa07f MFH register_shutdown_function fix 2003-04-01 10:03:19 +00:00
Sascha Schumann 1f4e9b8eb7 No need for shtool 2003-04-01 08:05:39 +00:00
Sascha Schumann 5e0a6b43fc Fix segfault in flock() 2003-04-01 07:53:05 +00:00
Sara Golemon 640dc6721c MFH(r1.71) Bug #22962 2003-04-01 06:23:22 +00:00
foobar 086c418737 BFN & houshold 2003-03-31 23:29:30 +00:00
foobar 21a600c569 MFH: Fixed bug #22989 (sendmail not found by configure) 2003-03-31 23:21:56 +00:00
Brian France 5555498304 Fixes the problem where argv and argc are not populated unless S
is in the variables_order, even if register_argc_argv is on.
2003-03-31 21:24:59 +00:00
Moriyoshi Koizumi dd426eb391 MFH(r-1.161): fixed proto to sync with the documentation 2003-03-31 20:37:15 +00:00
Moriyoshi Koizumi 6ec674deb7 MFH(r-1.10): rearranged search order for the magic file to avoid further
confusions
2003-03-31 19:49:37 +00:00
David Hill 8e15876ed5 Changing parsedate to be reentrant using pure_parse (Dave) 2003-03-31 14:40:46 +00:00
Sander Roobol ec0b8b8639 MFH remove bogus test 2003-03-31 14:34:50 +00:00
David Hill e98163546d Correcting checking of flex version (Dave) 2003-03-31 14:01:55 +00:00
foobar 666d9dea2c cleanup 2003-03-31 08:49:30 +00:00
Sascha Schumann c334a7fe0b MFH TS issue, noticed by Sebastian Bergmann 2003-03-31 05:39:45 +00:00
Sascha Schumann 1f0a9a2c0c MFH 2003-03-31 03:24:45 +00:00
Ilia Alshanetsky 42f35b8783 Bug fixing news. 2003-03-30 20:48:48 +00:00
Ilia Alshanetsky 334da52d65 MFH 2003-03-30 20:48:14 +00:00
Sascha Schumann 9daf234fef MFH 2003-03-30 18:36:46 +00:00
Rasmus Lerdorf a6072a2b76 No point calling the RSHUTDOWN hook here unless we are actually going
to do something in it.
2003-03-30 18:05:40 +00:00
Moriyoshi Koizumi bb4a3f979b MFH 2003-03-29 16:18:11 +00:00
Moriyoshi Koizumi 651808e3dd MFH(r-1.223): CS & WS fixes 2003-03-29 16:14:41 +00:00
Moriyoshi Koizumi ecc0759032 MFH(r-1.436): improved bison check; now configure accepts 1.28, 1.35 and 1.75
only.
2003-03-29 15:56:25 +00:00
Moriyoshi Koizumi e9a6358d8d MFH: fixed test cases so it wouldn't be failed in case register_globals=on 2003-03-29 07:14:26 +00:00
Derick Rethans 80ba3f416f MFH 2003-03-28 21:08:58 +00:00
Moriyoshi Koizumi c4521dfb2f MFH(r-1.222): do the right fix.. 2003-03-28 18:25:01 +00:00
Moriyoshi Koizumi b7875715ce MFH(r-1.221): fixed bug #22773 2003-03-28 17:55:08 +00:00
Harald Radi ff65578160 fix #22899
invoke is called twice
2003-03-27 19:56:09 +00:00
Shane Caraveo ce2edd18c7 MFH 2003-03-27 17:57:58 +00:00
Edin Kadribasic f85ea33a98 BFN 2003-03-27 13:32:45 +00:00
Edin Kadribasic 9ff0a9f23e Fixed bug #22083. 2003-03-27 13:29:59 +00:00
foobar d9e4d36c48 MFH 2003-03-27 13:16:34 +00:00
Rasmus Lerdorf 15d4bfd607 Make sure we never pass a negative arg to emalloc
(once again, this API needs to be fixed, so this is just for 4.3)
2003-03-25 19:26:18 +00:00
Sebastian Bergmann b7cfe4b5a6 MFH 2003-03-25 17:18:24 +00:00
Rasmus Lerdorf f461ad12fb Restrict this function to a max of 65k io vectors to avoid weird
overflows.  Purely an arbitrary number.  This API needs cleaning up,
but it would break BC and I don't want to do that in 4.3.
2003-03-25 15:54:26 +00:00
Ilia Alshanetsky db230015b8 MFH 2003-03-25 15:35:27 +00:00
Martin Jansen 1ce0aca43e * MFH 2003-03-25 14:41:38 +00:00
foobar 1c0de7be96 MFH: Made "--with-pear" "--disable-all"-aware. Plus some cosmetics fixes. 2003-03-25 13:43:56 +00:00
Edin Kadribasic ec127efd14 php_fbsql.dll hasn't been successfully built at least from 4.1.x.
Related to #22859.
2003-03-25 10:19:44 +00:00
foobar 64e2082f39 - MFH: not pretty name (bug #22853) 2003-03-25 01:38:50 +00:00
Ilia Alshanetsky 86306178c5 MFH 2003-03-25 01:34:39 +00:00
Edin Kadribasic a5274daf1f Patch by Nathan Fredrickson <nathan@silverorange.com>:
Remove unneeded library from the link stage and add a couple of missing
defines which are part of libintl.
2003-03-24 21:46:58 +00:00
Moriyoshi Koizumi f8ff0d2cb4 MFH: fixed bug #22834 (compile failure due to ugly implicit casts) 2003-03-24 21:22:57 +00:00
Moriyoshi Koizumi 5f0e06e89c NFN 2003-03-24 19:42:20 +00:00
Rasmus Lerdorf e120dab4f2 Fix arg list segfault 2003-03-24 19:28:58 +00:00
Moriyoshi Koizumi 1d71c7b86e MFH(r-1.1): oops... 2003-03-24 19:25:14 +00:00
Moriyoshi Koizumi 88bbfc9975 MFH(initial): added test cases for new functionality 2003-03-24 19:22:18 +00:00
SVN Migration 9c617f52f6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-24 19:21:21 +00:00
Moriyoshi Koizumi 5945ba1c6d MFH(r-1.76): added koi8-r, cp866, and cp1251 support for htmlentities()
Patch by Antony Dovgal <tony2001 at phpclub dot net>
2003-03-24 19:15:16 +00:00
Ilia Alshanetsky c89afb6539 MFH 2003-03-24 15:21:57 +00:00
Ilia Alshanetsky b544c99344 Bug fixing news. 2003-03-24 14:54:52 +00:00
foobar bb0a9b3208 MFH 2003-03-24 11:21:26 +00:00
foobar 718d337c64 blah.. 2003-03-24 10:59:47 +00:00
Uwe Schindler 25dc000e41 PHP_WIN32 included 2003-03-24 10:33:47 +00:00
foobar 1f77ab10fc MFH: Fixed bug #18640 properly 2003-03-24 10:18:16 +00:00
Wez Furlong ceed7b9d77 MFH curl detection when multiple installations exist 2003-03-23 18:16:12 +00:00
Moriyoshi Koizumi 7ebc888513 MFH(r-1.7): added some compiler check 2003-03-23 01:45:28 +00:00
Moriyoshi Koizumi 06b796783c MFH(r-1.5): fixed win32 build with non-SBCS locale settings. 2003-03-22 23:45:20 +00:00
Shane Caraveo cecc66d17b MFH 2003-03-22 18:54:56 +00:00
Christian Stocker c479e904dd fix for bug #22786 ("Crash when trying to call DomAttribute's set_namespace method") 2003-03-20 09:43:09 +00:00
Wez Furlong 893c567e35 Fix for persistent stream shutdown in debug builds. 2003-03-20 00:55:58 +00:00
Wez Furlong 6aecc88543 This little fragment didn't get merged from head... 2003-03-19 19:27:52 +00:00
foobar 7480c6ac91 MFH 2003-03-19 16:53:25 +00:00
foobar b5930ec988 BFN 2003-03-19 08:23:02 +00:00
foobar 2f47425d71 MFH: Fixed bug #22775 (Fatal errors exit with status 0 with CGI/CLI) 2003-03-19 08:22:35 +00:00
Wez Furlong a0b0182016 Fix my fix.
# The perils of manual merging :/
2003-03-19 01:34:38 +00:00
Wez Furlong ea59c6262d Manual merge of persistent stream sanity check from php5. 2003-03-19 00:18:12 +00:00
Wez Furlong 4a8de5c704 Manual merge of the persistent plain file streams code.
See http://news.php.net/article.php?group=php.cvs&article=19680 for
more information.
2003-03-18 23:39:31 +00:00
Marcus Boerger 8c86b7e323 MFH 2003-03-18 22:43:00 +00:00
Wez Furlong c51569c3b6 WS Fix: I forgot to apply Q} to my comment. 2003-03-18 22:25:02 +00:00
foobar aef81e78a0 MFH: fix for bug #22765 2003-03-18 17:31:55 +00:00
Wez Furlong ca552c2618 Avoid using FILE* unless we have to. 2003-03-18 16:39:06 +00:00
Wez Furlong 55b4052887 BFN 2003-03-18 15:21:33 +00:00
Wez Furlong 217d3e39c6 Fix my 64-bit casting fix.
MFH Fix for #22721 - poor performance for file() on systems without mmap
support.
2003-03-18 14:41:46 +00:00
foobar a6c9ed61a6 BFN 2003-03-18 02:15:22 +00:00
foobar fdc6b229a6 MFH: Fixed bug #22751 (Compile error in gdcache when external libgd is used) 2003-03-18 02:14:22 +00:00
foobar 0b4182d8ad BFN 2003-03-18 01:26:16 +00:00
foobar afa7fa58d7 MFH: Fix for bug #22672 2003-03-18 01:24:57 +00:00
Ilia Alshanetsky de93525d7d MFH 2003-03-17 22:26:51 +00:00
Ilia Alshanetsky c2c3eaf5a7 MFH 2003-03-17 18:47:29 +00:00
Ilia Alshanetsky 768f515afc Bug fixing news. 2003-03-17 18:33:30 +00:00
foobar 7ae1572b39 MFH 2003-03-17 15:56:31 +00:00
foobar af3950d196 BFN 2003-03-17 15:19:30 +00:00
Wez Furlong 03777d2784 MFH Fix for Bug #21310 2003-03-17 13:50:23 +00:00
foobar 25e8d3215d MFH 2003-03-17 12:43:36 +00:00
foobar ba7b405913 Note about apache2 change 2003-03-17 10:00:46 +00:00
foobar 183f99038a MFH: - Fixed bug #22709 (crash within interbase when database unavailable) 2003-03-16 00:38:51 +00:00
Marcus Boerger 388607dc2d MFH bugfix #21751 2003-03-16 00:03:27 +00:00
Moriyoshi Koizumi 273d7623a6 MFH: added test for bug #22592 2003-03-15 23:37:53 +00:00
SVN Migration 15703e7fb8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-15 23:37:18 +00:00
Wez Furlong 37aafafc7d 64 bit fixes 2003-03-15 13:25:38 +00:00
foobar c4db6427f4 MFH 2003-03-15 00:45:44 +00:00
foobar 03188dfd50 MFH: "allow_webdav_methods" does not exist / is not needed anymore 2003-03-15 00:26:43 +00:00
foobar bac7bb82b0 MFH: No c++ comments 2003-03-14 17:50:02 +00:00
foobar d4a01a8524 MFH: no c++ comments 2003-03-14 17:40:55 +00:00
Moriyoshi Koizumi 2fdf127a6f MFH: fixed typo 2003-03-14 17:14:08 +00:00
Derick Rethans 9f2cd8d5f2 - Explain that it is interbase related (Thanks to Andrey) 2003-03-14 13:01:29 +00:00
Derick Rethans f7c7e4cadb - BFN 2003-03-14 11:51:31 +00:00
Daniela Mariaschi ff9fc7aa3f reverting to 1.8.4.1 2003-03-14 10:47:58 +00:00
Daniela Mariaschi 688f6d1b9d MFH 2003-03-13 23:21:49 +00:00
foobar 7cd06114f1 BFN shortening 2003-03-13 22:54:48 +00:00
Edin Kadribasic 6659396dc6 Document removal of gd1 support on windows. 2003-03-13 22:32:16 +00:00
Edin Kadribasic 5dc55d66fc Drop support for php_gd.dll (gd1).
The default build (gd.dsp) is now bundled gd2.
2003-03-13 22:23:10 +00:00
Edin Kadribasic 156ab40baa Disable building of apache2filter (obsoleted by handler). 2003-03-13 22:03:20 +00:00
Daniela Mariaschi 05afcba8e7 Numeric/decimal datatype overflow on Win32
Fixed bug #20641
2003-03-13 22:02:10 +00:00
Edin Kadribasic f38526321b Make apache2 handler produce php4apache2.dll which should work as a
drop in replacement for the filter. Remove max_request_per_child from
minfo() since that function is not exported by win32 version of apache2
lib.
2003-03-13 22:01:43 +00:00
Martin Jansen 288d19ae0a * Also fix #21845 in the release branch.
# This is *no* complete MFH, I just applied the patch in the other branch.
2003-03-13 21:10:26 +00:00
Sara Golemon 779cc0f8d4 BFN 2003-03-13 20:25:01 +00:00
Jay Smith 0af96031de MFH 2003-03-13 18:51:53 +00:00
Ilia Alshanetsky 84dcdc880f Bug fixing news. 2003-03-13 18:16:21 +00:00
Ilia Alshanetsky 57a32b2825 MFH 2003-03-13 18:15:39 +00:00
foobar 690439a295 MFH 2003-03-13 17:27:40 +00:00
Sara Golemon d03df22d4c MFH (Bug 21534) 2003-03-13 16:18:10 +00:00
foobar 4730528a95 We should get this out before April.. 2003-03-12 22:36:30 +00:00
foobar 1ab395eed3 - Backup to 4.3.2RC 2003-03-12 22:21:25 +00:00
foobar 9ea0fff51d - Bump the version to RC1. 2003-03-12 22:18:22 +00:00
Stefan Esser 60963ffe6c MFH 2003-03-12 12:01:01 +00:00
Ilia Alshanetsky 22e1885d29 MFH 2003-03-12 04:46:15 +00:00
foobar 900584ec7f MFH 2003-03-12 04:30:01 +00:00
foobar b1d3a4d6cd MFH 2003-03-12 04:16:31 +00:00
foobar bdaed8f51a MFH 2003-03-12 02:26:58 +00:00
foobar 367c917d80 MFH 2003-03-12 01:10:01 +00:00
Ilia Alshanetsky 062a5863c0 MFH (XBM patch by Marcus Börger) 2003-03-12 01:02:41 +00:00
SVN Migration 0a2f05f09b This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-12 00:51:04 +00:00
foobar 16106bd1f7 OnUpdateLong is only in php5/HEAD. (oops! :) 2003-03-11 17:22:31 +00:00
Moriyoshi Koizumi 2185951cbb Fixed bug #22634 (broken cygwin build) 2003-03-11 16:53:28 +00:00
foobar 06c9c4d205 BFN 2003-03-11 03:12:37 +00:00
foobar 8a3bd41416 MFH: - Fixed bug #20715 (odbc could not be compiled as shared extension) 2003-03-11 03:11:52 +00:00
Sascha Schumann 3aced8a7d4 fix sizeof(size_t) > sizeof(uint) issue 2003-03-11 02:32:29 +00:00
foobar e21f147cb9 BFN 2003-03-11 02:13:00 +00:00
foobar ff33d897d5 MFH: Fixed bug #22616 (Wrong order of -lssl and -lcrypto with IMAP) 2003-03-11 02:12:17 +00:00
Sascha Schumann bb30c3ad73 reverting jani's non-sense commits 2003-03-11 01:50:18 +00:00
foobar 9f34a5beca MFH 2003-03-10 23:13:03 +00:00
Ilia Alshanetsky 05ce493547 Bug fixing news. 2003-03-10 19:09:22 +00:00
Ilia Alshanetsky bfa3967c70 MFH 2003-03-10 19:07:49 +00:00
David Hill a9cf0f46fc fixing missed int to long with zend_parse_parameters 2003-03-10 15:57:07 +00:00
foobar cddddbe04c - MFH: use shtool mkdir always. 2003-03-10 14:33:10 +00:00
David Hill 9ec2c33e9d 64-bit corrections to parameters to OnUpdateInt Bug #20994 (Dave)
@64-bit corrections to parameters to OnUpdateInt Bug #20994 (Dave)
2003-03-10 13:35:36 +00:00
foobar 4648e756a9 - MFH: apache2handler sapi module
- Changed apache2filter to use --with-apxs2filter
2003-03-10 03:17:04 +00:00
Shane Caraveo 9dfd6c8779 fix line endings in file 2003-03-10 02:40:19 +00:00
Shane Caraveo 95987aedb2 fix using stdin. This was already fixed in php5. 2003-03-10 02:35:59 +00:00
foobar 4f7a06cf66 MFH 2003-03-10 02:17:06 +00:00
foobar 8c92d6574c no c++ comments.. 2003-03-10 02:10:18 +00:00
Shane Caraveo d1c5e9706f line endings on win32 made the var_dump'ed string 4 bytes longer. this should work on all platforms. 2003-03-10 01:23:10 +00:00
Shane Caraveo 4fc121ad7f splitting on whitespace will be different depending on platform, so be specific with the line ending. 2003-03-10 01:10:52 +00:00
Shane Caraveo 58c67323da make test happy by adding missing functions to avoid warnings, taken from user_stream.c 2003-03-10 00:14:11 +00:00
Derick Rethans f27049afb6 - No C++ comments! (Patch by Magnus) 2003-03-09 19:15:16 +00:00
Uwe Schindler da7b2d970d Changes for iPlanet Webserver 6 2003-03-09 12:08:36 +00:00
Derick Rethans a758078ce5 - MFH: Fixed a bug in GD's truecolor TTF handling. 2003-03-08 18:28:08 +00:00
Stefan Esser 20c9225f64 MFH 2003-03-08 15:24:47 +00:00
foobar 2492aba147 MFH: Fix for bug #22473 2003-03-07 18:58:34 +00:00
foobar cc44d7c3d6 Added note about the 64bit fixes 2003-03-07 18:41:42 +00:00
Uwe Schindler c138b63720 credits update 2003-03-07 17:08:06 +00:00
Ilia Alshanetsky e34d5dd3e8 Bug fixing news. 2003-03-07 14:08:54 +00:00
Ilia Alshanetsky 52967f54b9 MFH 2003-03-07 14:08:06 +00:00
David Hill 45a1a3037a 64-bit correction to variables passed to zend_parse_parameters
@64-bit correction to variables passed to zend_parse_parameters (Dave)
2003-03-07 13:42:30 +00:00
foobar f760f7b6b3 MFH 2003-03-07 06:18:27 +00:00
foobar 67b6b9781f MFH 2003-03-07 04:32:49 +00:00
Stefan Esser 5f142e88fb MFH 2003-03-06 20:59:27 +00:00
Moriyoshi Koizumi 011ea824da MFH 2003-03-06 19:37:32 +00:00
foobar 94e6ceec58 MFH 2003-03-06 16:29:15 +00:00
SVN Migration d391faffe6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-06 16:29:06 +00:00
foobar 41ab6de3aa I was bored.. 2003-03-05 18:48:04 +00:00
Ilia Alshanetsky 7559d17ec1 Bug fixing news. 2003-03-05 17:03:03 +00:00
Ilia Alshanetsky 2cc9d8537f MFH 2003-03-05 17:00:25 +00:00
Ilia Alshanetsky 98c17e6cee GD news. 2003-03-05 16:24:05 +00:00
Ilia Alshanetsky 9b8cdd7fe9 MFH 2003-03-05 16:19:18 +00:00
SVN Migration 66736faf95 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-05 16:19:09 +00:00
foobar d63aa79f79 MFH 2003-03-05 16:12:41 +00:00
Ilia Alshanetsky 52e84a5f0b MFH 2003-03-05 16:08:21 +00:00
Ilia Alshanetsky 68679a9d0e Synchronized bundled gd with gd 2.0.11 (bug fixes).
MFH
  1) Use Zend allocation macros instead of native allocation functions.
  2) Better error reporting mechanism.
  3) Some style fixes, which allow easier code synchronization & maintenance.
2003-03-05 16:04:20 +00:00
Corne' Cornelius 81b97d6f8e - MFH: 1.88 2003-03-05 13:20:44 +00:00
Corne' Cornelius f42ff6e563 - MFH: 1.87 2003-03-05 09:39:53 +00:00
Moriyoshi Koizumi 3c0d44c580 MFH: added missing phpinfo entry (Russian support) 2003-03-05 06:16:54 +00:00
Wez Furlong c106213d5c Fix some signed/unsigned issues with read() and SSL_read() return values.
Allow SSL_connect() to retry for non-blocking sockets.
Correctly declare the char as unsigned for php_stream_getc(), as per
fgetc() semantics.
2003-03-05 01:28:45 +00:00
Moriyoshi Koizumi e46f133a2b MFH: Added a test case for bug #22510 2003-03-04 19:52:48 +00:00
SVN Migration 668d8f88c1 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-04 19:52:23 +00:00
foobar 3dece9cd5c MFH 2003-03-04 19:00:11 +00:00
Moriyoshi Koizumi 26cb6a8d20 MFH: 64bit fix 2003-03-04 17:20:27 +00:00
Moriyoshi Koizumi a8b620a91f MFH: 64bit long fix 2003-03-04 17:14:56 +00:00
Ilia Alshanetsky 802a410834 MFH 2003-03-04 16:35:02 +00:00
Ilia Alshanetsky ed2ea558a8 Bug fixing news. 2003-03-04 16:22:00 +00:00
Ilia Alshanetsky e32ebf58c7 MFH 2003-03-04 16:20:51 +00:00
Ilia Alshanetsky 276a43792c Compiler warning fix. 2003-03-04 16:20:24 +00:00
Ilia Alshanetsky 114afad93d MFH 2003-03-04 16:09:17 +00:00
foobar 47ea35f85b adding news entry for disable_classes addition 2003-03-04 14:24:48 +00:00
Christian Stocker 161db1b519 make it really W3C compatible (unlink node, when in tree...) 2003-03-04 13:29:18 +00:00
Edin Kadribasic 8d2773e188 Update credits. 2003-03-03 21:56:51 +00:00
Edin Kadribasic 03ab5315d5 BFN 2003-03-03 21:30:19 +00:00
Edin Kadribasic 17479b8a0f Enabled mcrypt_generic_deinit() on windows (#22520) 2003-03-03 21:23:48 +00:00
Harald Radi 9c4f6365b8 MFH: adding disable_classes ini directive 2003-03-03 01:54:29 +00:00
Harald Radi fc25077468 MFH: adding placeholder for the new disable_classes directive 2003-03-03 01:31:48 +00:00
foobar 3e983d2bc6 MFH 2003-03-02 18:52:37 +00:00
foobar 3daa76dd25 MFH 2003-03-02 18:51:10 +00:00
foobar 5ae27dbe85 MFH: fix bug #22485 2003-03-02 18:47:54 +00:00
Ilia Alshanetsky 095595dd61 New function news. 2003-03-02 14:38:54 +00:00
Pierre Joye d33ceff2a5 Update credits 2003-03-01 01:16:00 +00:00
Pierre Joye 61dd954da2 MFH imageistruecolor, imagesavealpha 2003-03-01 01:15:47 +00:00
Rasmus Lerdorf 70432e3bef @- Crash bug fix. If config-file-scan-dir is set and contains .ini files
but there is no top php.ini file, we would get a segfault.  (Rasmus)
2003-02-28 20:44:47 +00:00
Moriyoshi Koizumi 18e06aefee Was actually an ucwords() problem... 2003-02-28 13:32:46 +00:00
foobar 659a5ca923 BFN 2003-02-28 10:23:05 +00:00
Hartmut Holzgraefe dcb20d8fd6 MFphp5 2003-02-28 08:43:51 +00:00
foobar 488f38424e BFN 2003-02-28 07:35:58 +00:00
foobar 7323b80041 - MFH: Fixed bug #22312 (crash on failed connection when curl_getinfo() was called).
(Phil Oleson <poleson@verio.net>)
2003-02-28 07:35:11 +00:00
Hartmut Holzgraefe a14adbcafe MFphp5 2003-02-28 06:51:31 +00:00
Ilia Alshanetsky 0570451948 MFH 2003-02-27 20:38:22 +00:00
Ilia Alshanetsky c1170b27fc Bug fixing news. 2003-02-27 16:42:42 +00:00
Ilia Alshanetsky 01ad5f9b94 MFH 2003-02-27 16:41:44 +00:00
Sascha Schumann 97301cbc36 MFH 2003-02-27 10:07:59 +00:00
Corne' Cornelius 92600eeb76 - MFH: Segfault in ifx_errormsg() 2003-02-27 09:00:52 +00:00
Rasmus Lerdorf a731bd9f44 Get rid of an unnecessary syscall on non-Windows. We don't need two
setitimer() calls here in order to reset the timer.
2003-02-26 22:17:35 +00:00
Hartmut Holzgraefe af2589e943 MFphp5 2003-02-26 17:38:03 +00:00
Moriyoshi Koizumi 6b0adb932b BFN: the fix was actually done by Ilia. 2003-02-25 18:56:53 +00:00
Moriyoshi Koizumi 4308ba9e42 MFH(r1.72): int / long change
Fixed bug #22301 (htmlspecialchars crashes on Tru64)
2003-02-25 18:51:21 +00:00
Ilia Alshanetsky 87b3063593 MFH 2003-02-25 16:26:55 +00:00
SVN Migration 6d4e490ae1 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-25 16:21:01 +00:00
foobar 2fa25b8799 MFH 2003-02-25 11:48:57 +00:00
foobar 35839a5f96 BFN 2003-02-25 11:25:00 +00:00
foobar 0f88e33c05 MFH: Fixed bug #21224 (apache configure fails when using --enable-versioning) 2003-02-25 11:23:24 +00:00
foobar ee5fe8f38d BFN 2003-02-25 09:46:24 +00:00
foobar 2c486990c6 MFH: Fixed bug #20256 (snprintf() not defined on some systems) 2003-02-25 09:45:47 +00:00
foobar cf2fe4d2da MFH: typofix 2003-02-25 07:41:05 +00:00
Corne' Cornelius c3b452be51 MFH 2003-02-25 07:09:11 +00:00
Corne' Cornelius 1a920b4b19 MFH: 1.30 2003-02-25 06:56:28 +00:00
foobar e964bb3779 BFN 2003-02-25 06:37:18 +00:00
foobar fd5f2b33a9 MFH: Fixed bug #14245 ('make install' fails on AIX when using --with-apxs). 2003-02-25 06:36:21 +00:00
foobar 3d8e6218ef MFH 2003-02-25 04:37:08 +00:00
Ilia Alshanetsky f713b0d8b0 Bug fixing news. 2003-02-25 04:21:26 +00:00
Ilia Alshanetsky c0eb65d6be MFH 2003-02-25 04:20:44 +00:00
Ilia Alshanetsky 71d140e992 MFH (fix for crash in gdImageCopyMergeGray()). 2003-02-25 03:53:22 +00:00
Moriyoshi Koizumi 1cabc773e4 MFH: made fgetss() binary safe too 2003-02-24 22:48:39 +00:00
Moriyoshi Koizumi 6708c4d24d MFH: made strip_tags() binary safe 2003-02-24 22:47:12 +00:00
Ilia Alshanetsky c663066261 Bug fixing news. 2003-02-24 19:42:38 +00:00
Ilia Alshanetsky f19bd6bf3f MFH 2003-02-24 19:41:40 +00:00
Moriyoshi Koizumi 033bea7a29 MFH: added test case for bug #22367 2003-02-24 19:38:33 +00:00
SVN Migration 5112f925df This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-24 19:37:28 +00:00
Harald Radi 152bcb4e6d fix memleak and wrong refcounting 2003-02-24 18:30:20 +00:00
Moriyoshi Koizumi c6a8a1bf04 MFH 2003-02-24 16:56:25 +00:00
Moriyoshi Koizumi ea23f45b36 MFH(r1.74): fixed an signed / unsigned issue 2003-02-24 16:30:14 +00:00
Moriyoshi Koizumi e0217033e4 MFH(r1.73): style fix 2003-02-24 16:19:44 +00:00
foobar 1e8876bdad MFH: Possible fix for #22259 + part 1/2 for fixing AIX DSO bug 2003-02-24 16:16:57 +00:00
foobar f49b5760eb - Removing pointless tests. (both of these will be fixed in PHP 5)
# We don't need to get any test reports about these anymore
# for PHP_4_3 branch since these won't be fixed in 4.3.x.
2003-02-24 16:04:05 +00:00
foobar f89ebf69bf MFH 2003-02-24 15:12:11 +00:00
foobar c96af79b53 no c++ comments 2003-02-24 08:26:49 +00:00
Corne' Cornelius 3df90156fd - MFH: Fixed ifx_errormsg() Segfault 2003-02-24 07:45:59 +00:00
foobar 0c52aed751 MFH 2003-02-24 04:37:15 +00:00
foobar a9a4668b92 MFH: fixed compile warning 2003-02-24 03:27:16 +00:00
Ilia Alshanetsky bb2f10122c Bug fixing news. 2003-02-24 03:18:26 +00:00
Ilia Alshanetsky 1544debc9f MFH 2003-02-24 03:15:54 +00:00
SVN Migration 240b4d18e3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-24 03:13:26 +00:00
foobar 49664eb29a BFN 2003-02-24 01:31:24 +00:00
George Schlossnagle e7155c5f3d MFH fix for 19919 2003-02-24 01:29:54 +00:00
Rasmus Lerdorf fc069fb51b open_basedir fixes from David Saez 2003-02-23 22:03:54 +00:00
Stig Bakken 18843133b8 * MFH: upgrading XML_Parser to 1.0.1 2003-02-23 11:05:17 +00:00
SVN Migration ef667d12e1 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-23 11:03:39 +00:00
foobar b8547bbff0 Fixed bug #22356 (Do not add empty -I flags). 2003-02-23 09:36:47 +00:00
foobar 51eac9d194 MFH 2003-02-23 08:14:34 +00:00
foobar a4ef92e0ec BFN 2003-02-23 07:35:57 +00:00
foobar ca2cd45607 MFH: - Fixed bug #22376 (wrong httpd.conf modified when using INSTALL_ROOT) 2003-02-23 07:34:32 +00:00
foobar b79c07099f MFH 2003-02-23 02:40:07 +00:00
SVN Migration a9b5596a02 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-23 02:39:52 +00:00
Wez Furlong 935a58c3a2 Correct a bug number - thanks to Philip... 2003-02-22 20:51:13 +00:00
Wez Furlong 753e0cf3dd Squashed those ugly bugs! 2003-02-22 11:30:06 +00:00
Wez Furlong bd55197721 Miscellaneous streams fixes, including probable fixes for:
Bug #21131 (fopen with 'a+' and rewind() doesn't work)
Bug #21713 (include remote files leaks temporary files + descriptors on Solaris)
Bug #21185 (move_uploaded_file() does not ignore open_basedir as it should)
Bug #22362 (combinations of fwrite(), fread() and fseek() produce unexpected results)
2003-02-22 02:43:58 +00:00
foobar 1abd496ccf fixed headers and cleaned up a bit 2003-02-21 10:42:01 +00:00
foobar a3ad6e8426 ZTS build fixes, style and ws fixes 2003-02-21 06:49:56 +00:00
foobar 193021f8f6 MFH 2003-02-21 06:49:36 +00:00
foobar fd2483fe83 MFH: ZTS build fixes 2003-02-21 06:46:55 +00:00
foobar 040839d34b Fix ZTS build 2003-02-21 04:58:09 +00:00
Moriyoshi Koizumi 3f67551437 BFN 2003-02-20 17:57:54 +00:00
Moriyoshi Koizumi 80aadb9e77 MFH(r1.165): Fixed bug #22330 (overloaded strrpos() weirdness) 2003-02-20 17:54:10 +00:00
Corne' Cornelius 395e90b16b @- Added Input Descriptor Binding to Informix driver. (Corne')
- Added Input Descriptor Binding
  . (php_intifx_init_blob) Added
  . (php_intifx_init_blob_inmem) Added
  . (php_intifx_init_blob_infile) Added
  . (php_intifx_release_blob) Added
  . (php_intifx2_free_blob) Removed
  . (php_intifx_create_tmpfile) Removed bid parameter
  . (php_intifx_alloc_ibind) Added
  . (php_intifx_preparse) Added
  . (php_intifx_count_descriptors) Added
  . (ifx_free_blob) Added as le_idresult resource destructor
  . (php_intifx_create_blob) Changed: added call to php_intifx_init_blob() and
                             removed blob initilisation in function
  . (php_intifx_copy_blob) Changed: added call to php_intifx_init_blob() and
                           removed blob initilisation in function
  . (php_intifx_update_blob) Changed mempy() to use lob_bufsize instead of loc_size
                             Changed filename to be memcpy() instead of creating
                             new file
  . (PHP ifx_query) Changed: added input descriptor binding
  . (PHP ifx_prepare) Changed: added input descriptor binding
  . (PHP ifx_do) Chagned: added input descriptor binding
  . (PHP ifx_fetch_row) Changed the way blobs are accessed/init'd from
                        Ifx_Result->res_id[]
2003-02-20 12:09:21 +00:00
Corne' Cornelius be563c3140 #- Changed sizes of char[] in IFX_RES: connecid, cursorid, descrpid, statemid
from 16 to 32 to prevents possible overflow
2003-02-20 11:57:29 +00:00
Harald Radi 41f25857bb fixing bugs #22295, #22218 and #22162 (duplicates) 2003-02-20 11:34:26 +00:00
Sascha Schumann f63d9b778f merge minor differences from head 2003-02-20 08:32:41 +00:00
foobar 8ea1d52d7a style fix 2003-02-20 07:14:23 +00:00
foobar c511afe310 BFN 2003-02-20 07:12:02 +00:00
foobar 77e48a2801 MFH: Fixed bug: #22306 (pg_lo_seek($h, 0, PGSQL_SEEK_SET) succeeds but returns false) 2003-02-20 07:10:48 +00:00
Sascha Schumann 9220edbf14 update 2003-02-20 06:55:35 +00:00
Sascha Schumann 8d9da24365 MFH general urlencoding
MFH session_regenerate_id, a change which is as important as the former one
2003-02-20 06:24:08 +00:00
foobar fdc6323b34 MFH 2003-02-20 06:17:11 +00:00
foobar 92d2462660 BFN 2003-02-20 05:36:54 +00:00
foobar c61f4fe7b3 MFH: - Fixed bug #22299 (gethostbyname() crash with non-existing domain on MacOSX) 2003-02-20 05:35:18 +00:00
Ilia Alshanetsky 7de39b3377 Bug fixing news. 2003-02-20 00:35:42 +00:00
Ilia Alshanetsky 3d67565aed MFH 2003-02-20 00:34:24 +00:00
foobar accaef402b BFN 2003-02-20 00:15:55 +00:00
foobar e7b71d3932 dirent.h needs to be included always. 2003-02-19 18:45:03 +00:00
Marc Boeren 157ab1fd10 MFH: Fix for bug #22221 2003-02-19 16:52:05 +00:00
Harald Radi 5a6bacea03 MFH 2003-02-19 16:17:34 +00:00
Harald Radi d39c73dba2 remove php5ts workspace from PHP_4_3 branch 2003-02-19 11:04:54 +00:00
Sascha Schumann 614a83e555 some improvements 2003-02-19 11:01:38 +00:00
foobar fd631013d9 MFH: prevent conflicts with other libraries (e.g. libc-client) 2003-02-19 09:28:37 +00:00
Moriyoshi Koizumi fe2506a5ff MFH: fix incorrect TSRMLS_CC 2003-02-19 08:12:25 +00:00
foobar 5f2c98c566 MFH: avoiding problems.. 2003-02-19 06:35:57 +00:00
Ilia Alshanetsky c2176e0843 Bug fixing news. 2003-02-19 00:50:36 +00:00
Ilia Alshanetsky eb4e27f356 MFH 2003-02-19 00:49:38 +00:00
Moriyoshi Koizumi 25eff603b1 BFN 2003-02-18 18:15:44 +00:00
Moriyoshi Koizumi 2c09220992 MFH(r1.359): Fixed bug #21708 2003-02-18 18:14:32 +00:00
Moriyoshi Koizumi c85abb1789 BFN 2003-02-18 15:26:20 +00:00
Moriyoshi Koizumi 42bf45cee1 MFH(r1.307): Fixed bug #21689 2003-02-18 15:22:46 +00:00
foobar e2c593c928 Sanity check to prevent errors in other extensions tests. 2003-02-17 22:44:47 +00:00
foobar d3f8b43799 MFH 2003-02-17 18:16:49 +00:00
foobar 9c6c9f8fcd Bump up the version. 2003-02-17 00:02:11 +00:00
Anil Madhavapeddy 5f607a11a9 MFH 2003-02-16 01:32:30 +00:00
foobar 3a2a0b1c4c - Remove all of it.
# Ian, this was really unnecessary..
2003-02-15 22:20:55 +00:00
Ian Holsman f6cf0fce5c After short discussion, the #php.bugs mob decided that we don't want
this in PHP_4_3 branch. At least as long as it doesn't work as well
    (or preferrably better :) than the apache2filter SAPI does.

    So please remove it from the branch for now..

    --Jani
2003-02-15 22:16:03 +00:00
foobar 6809236f2b BFN 2003-02-15 20:42:49 +00:00
Stig Bakken 5c988b679e * import PEAR 1.0.1 2003-02-15 20:28:54 +00:00
foobar ad54620a27 MFH: Fix for bug #22220 2003-02-15 20:23:12 +00:00
Moriyoshi Koizumi 4382065fad B.F.N. 2003-02-15 20:00:03 +00:00
Moriyoshi Koizumi b298ce0dd0 MFH(r1.155): Fixed bug #22234 2003-02-15 19:59:26 +00:00
Moriyoshi Koizumi af1432d9a8 B.F.N. 2003-02-15 16:00:20 +00:00
Moriyoshi Koizumi 68b0858da6 MFH(r1.65): Fixed bug #22227
MFH: Added test case for bug #22227
2003-02-15 15:59:13 +00:00
SVN Migration e572e41cff This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-15 15:57:32 +00:00
Wez Furlong f133f366e2 bug fixed. 2003-02-15 15:16:58 +00:00
Moriyoshi Koizumi 37a4fa83fb MFH: added test case for bug #22231 2003-02-15 15:15:45 +00:00
SVN Migration ac73fa6482 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-15 15:15:15 +00:00
Wez Furlong f695a4c3b6 MFH: Fix for Bug #21809 (select() never times out during socket shutdown) 2003-02-15 15:11:57 +00:00
Edin Kadribasic 9c90d59fc0 Option -b needs an argument. This fixes #22229.
# Note -b still seems to be broken:
# sapi/cgi/php -b 4444
# Status: 404
# Content-type: text/html
# X-Powered-By: PHP/4.3.1-dev
#
# No input file specified.
2003-02-15 13:26:05 +00:00
Ian Holsman dd15de6bda alternate apache2 SAPI. 2003-02-15 05:49:31 +00:00
Moriyoshi Koizumi d98f4b5a6a Slight fix for consistency 2003-02-14 19:48:57 +00:00
Marcus Boerger ba0a3f5673 MFH: xbm improvements 2003-02-14 19:46:21 +00:00
Moriyoshi Koizumi 7ad4a8f0b5 BFN 2003-02-14 19:44:02 +00:00
Moriyoshi Koizumi e62a2145bb Fixed wrong commit: s/&/*/ 2003-02-14 19:07:38 +00:00
Moriyoshi Koizumi 6d47746e5a MFH(r1.358): Fixed a str_replace() bug similar to bug #22224 2003-02-14 19:00:43 +00:00
Moriyoshi Koizumi c81a6322c1 MFH(r1.357): Fixed bug #22224
MFH: Added test case for the bug
2003-02-14 18:44:51 +00:00
SVN Migration 36bc1fb617 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-14 18:42:37 +00:00
foobar fdd1cf4772 Added missing $Id$ tag 2003-02-14 14:38:01 +00:00
foobar 20156b84eb - MFH, do not add libcrypt if crypt() is provided by libc. 2003-02-14 01:27:42 +00:00
Sara Golemon 261860cfec Buf #22052 More casual efree()ing causing segfaults 2003-02-13 22:18:20 +00:00
Wez Furlong c6fa04834c Fix for Bug #22199 (fputs() + fgets() destroys readbuffer for non-seekable streams). 2003-02-13 21:03:25 +00:00
foobar 9b4f865e5d MFH 2003-02-13 20:58:41 +00:00
foobar b3140b0218 typofix 2003-02-13 20:08:52 +00:00
Sara Golemon 4a27c8a032 MFH(Bug 22059, ftp.c-r1.77) 2003-02-13 19:51:02 +00:00
Ilia Alshanetsky faaaabb640 MFH 2003-02-13 19:07:55 +00:00
SVN Migration 8b9c2fbc66 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-13 19:07:21 +00:00
foobar bed6a98112 MFH 2003-02-13 18:50:44 +00:00
SVN Migration 5d0e8a70bb This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-13 18:49:58 +00:00
Shane Caraveo 40e365b239 MFH 2003-02-13 18:21:23 +00:00
Wez Furlong 45894683e9 MFH: Another IS_SLASH fix. 2003-02-13 17:37:17 +00:00
Wez Furlong 26d4841366 MFH: relative path fix for win32 2003-02-13 17:32:41 +00:00
Ilia Alshanetsky 7fd1152dea Bug fixing news. 2003-02-13 17:27:28 +00:00
Ilia Alshanetsky c2187f4f17 MFH 2003-02-13 17:26:02 +00:00
SVN Migration 10198da7d0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-13 17:25:32 +00:00
foobar 66aa7f76d8 altering history.. 2003-02-13 17:00:28 +00:00
Harald Radi 4fb6c33182 add missing include 2003-02-13 16:48:44 +00:00
Wez Furlong 6f8da6f3b3 MFH: clarify error message 2003-02-13 14:43:19 +00:00
Wez Furlong 398b912ca5 partial MFH: avoid problems with auto_detect_line_endings. 2003-02-13 13:42:31 +00:00
Wez Furlong ffb1961064 MFH: cli should be allowed to use chroot() function. 2003-02-13 13:37:05 +00:00
Uwe Steinmann 991af2d2f0 - Some functions with objects as its parameters didn't recognize them
as such
2003-02-13 10:56:50 +00:00
foobar 7c5adc1bb8 MFH 2003-02-13 07:48:00 +00:00
foobar 2413a30578 MFH 2003-02-13 07:19:15 +00:00
foobar 840d327139 - MFH: improved jpeg 2000 and wbmp support for getimagesize() 2003-02-13 07:16:55 +00:00
foobar 8ea2a50279 clean.. 2003-02-13 05:45:01 +00:00
Sascha Schumann 69a24f699d MFH 2003-02-13 02:30:54 +00:00
Sascha Schumann ac9dd33e9a MFH 2003-02-13 02:25:35 +00:00
Wez Furlong 9ebca1715b Fixed that one... 2003-02-13 01:27:13 +00:00
Wez Furlong fa0e1a6363 MFH: Fix for Bug #21815 2003-02-13 01:23:39 +00:00
Sara Golemon c6b71544a4 Reverting earlier patch to reintroduce buggy behavior (yes, you heard that right) of filtered http streams in favor of
performance.  This has little consequence given limited filter support in 4.3 branch.  Filters will be redesigned in
5.0 release. For more information see Wez, Ilia, or myself.
2003-02-13 00:42:06 +00:00
Ilia Alshanetsky 7e94fe102c Bug fixing news. 2003-02-12 20:45:52 +00:00
Ilia Alshanetsky 8879087461 MFH 2003-02-12 20:44:26 +00:00
foobar 11260dc9d7 MFH 2003-02-12 17:09:47 +00:00
foobar 4a7e9488dd MFH 2003-02-12 16:19:08 +00:00
foobar 53532f9ec2 add blame tag 2003-02-12 16:03:48 +00:00
Ilia Alshanetsky 263c27f1ea Bug fixing news. 2003-02-12 14:59:54 +00:00
Ilia Alshanetsky b1593177fd MFH 2003-02-12 14:58:30 +00:00
foobar 983479603c MFH 2003-02-12 04:39:30 +00:00
SVN Migration cbd263dafe This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-12 04:38:31 +00:00
foobar 75efe4efbb MFH: Moved from HEAD :) 2003-02-12 04:08:50 +00:00
foobar fcace76909 MFH 2003-02-12 04:05:33 +00:00
foobar 4fc8d5412d MFH: Use $(INSTALL) for installing shared extensions. 2003-02-12 03:25:29 +00:00
foobar 7a7c43c72b MFH 2003-02-12 03:15:04 +00:00
Moriyoshi Koizumi 9c7635228f MFH: reverted my patch & applying a new patch by Stefan Esser 2003-02-11 23:30:13 +00:00
Ilia Alshanetsky 0aa95a722a Bug fixing news. 2003-02-11 22:59:39 +00:00
Ilia Alshanetsky 35ae0bfaa2 MFH 2003-02-11 22:57:50 +00:00
foobar 552da2b7f2 MFH 2003-02-11 21:11:51 +00:00
foobar 10c80a1344 fugbix news 2003-02-11 15:50:32 +00:00
foobar 948c33ba88 MFH 2003-02-11 03:24:56 +00:00
foobar ed36254fcc Moved one entry from HEAD here.. 2003-02-11 03:08:10 +00:00
foobar 4b541216e3 fugbix news 2003-02-11 02:45:28 +00:00
foobar 532ec10636 MFH: - Fixed bug: #21549 (problem with Ingres II persistent connections) 2003-02-11 02:43:25 +00:00
Sascha Schumann 01f0478750 MFH 2003-02-11 02:35:34 +00:00
Moriyoshi Koizumi c8d4018067 MFH: fixed zlib.output_compression 2003-02-11 02:26:37 +00:00
Sascha Schumann 04e25c59f7 MFH BUFF check 2003-02-11 02:25:48 +00:00
Frank M. Kromann b99ce6c644 Bug #20426. Convert SMALLDATETIME correct 2003-02-11 01:23:49 +00:00
Sascha Schumann eb09c03ae1 MFH prefix ps_module changes 2003-02-11 01:16:03 +00:00
Sascha Schumann 55d7aa9142 MFH, fully selfcontained, my risk 2003-02-11 01:00:59 +00:00
foobar 9d20219f73 dots..I love ya.. 2003-02-11 00:11:59 +00:00
Moriyoshi Koizumi 5173670675 MFH: fixed possible buffer overflow in 64bit systems 2003-02-10 20:13:36 +00:00
Moriyoshi Koizumi d4a0d6f6a5 dot dot dot.. 2003-02-10 19:55:39 +00:00
Moriyoshi Koizumi 8aa0debb6e Fixed typo 2003-02-10 19:52:56 +00:00
Sara Golemon 4b5fb9c99b Bug 22141 2003-02-10 19:47:04 +00:00
Sara Golemon d631657862 Partial MFH. Deprecated BM algo for str_replace can hang execution. See Bug#22141 2003-02-10 19:37:27 +00:00
Melvyn Sopacua 385729ef2a Make sure we're not buffering stuff 2003-02-10 18:49:02 +00:00
foobar 984380543e - MFH: libtool upgrade to 1.4.3
# For some reason those other files were not up-to-date in this branch..
2003-02-10 17:12:17 +00:00
Harald Radi e9d17fba59 18 times the speed of light 2003-02-10 00:58:07 +00:00
Harald Radi e7609d54be fixed memleak 2003-02-10 00:45:15 +00:00
foobar af8557850b MFH 2003-02-10 00:22:20 +00:00
foobar 3df73b303e MFH (ws fixes, but merged to ease any fix patch merging) 2003-02-09 23:48:59 +00:00
foobar b7e4606a73 MFH 2003-02-09 23:30:08 +00:00
foobar 8fc9bfc66e MFH: Fixed _SERVER[] variables, memleaks 2003-02-09 23:27:50 +00:00
foobar 4b2f06a0fa sex with punctuation mark.. 2003-02-09 22:56:47 +00:00
Kai Schroeder 77e3df17cc fix for #17928 2003-02-09 21:42:31 +00:00
Sascha Schumann 6cfa5ae855 MFH 0/-1 changes 2003-02-09 21:28:49 +00:00
Ilia Alshanetsky 7ec507dec2 Bug fixing news. 2003-02-09 20:51:16 +00:00
foobar fd66d44562 MFH 2003-02-09 19:58:18 +00:00
foobar 50ac9e5aef MFH: fixed compile failures when ZLIB/PCRE are compiled as shared in same
build.
2003-02-09 19:10:32 +00:00
foobar ac4554b8c8 MFH 2003-02-09 18:47:30 +00:00
foobar 2cd330b733 MFH: Fix for bug #22131 2003-02-09 14:59:29 +00:00
Kai Schroeder 33db0681c8 newlines changed 2003-02-09 13:26:00 +00:00
Kai Schroeder ddd2ce19ec getopt() is currently not available on Windows 2003-02-09 13:23:10 +00:00
Kai Schroeder f1f5996447 there are no symlinks on Windows 2003-02-09 13:20:34 +00:00
SVN Migration 215e66b8d6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-09 13:20:18 +00:00
Kai Schroeder d956ec06f2 is_executable() does not exist on Windows 2003-02-09 13:18:13 +00:00
Kai Schroeder 24bbf22171 die() to skip second message 2003-02-09 12:34:07 +00:00
Kai Schroeder 9675190c46 MSVC's mktime() does not examine the existence of a daylight-saving-time zone 2003-02-09 12:28:31 +00:00
Derick Rethans eef3cdf70b - Whitespace fixes 2003-02-09 12:14:31 +00:00
Kai Schroeder bdde9d0aa2 test for mktime() 2003-02-09 12:11:01 +00:00
Kai Schroeder 2108d66d2b Windows does not support dates prior to midnight, January 1, 1970 2003-02-09 12:09:42 +00:00
Kai Schroeder 1306b02625 skip for Windows (does not support dates prior to midnight, January 1, 1970) 2003-02-09 12:07:42 +00:00
Kai Schroeder 7cb5be80be Windows doesn't know timezone CET 2003-02-09 12:05:58 +00:00
Frank M. Kromann bcf2e083cc cleanup variable initializations 2003-02-09 09:40:56 +00:00
Frank M. Kromann ed7d034849 Fixing coredump when no php.ini file is used 2003-02-09 08:32:54 +00:00
Yasuo Ohgaki f834ec6410 MFH 2003-02-09 07:50:31 +00:00
Frank M. Kromann 7ce83ed0ca DBFLT4 is not defined in FreeTDS. Needed for real data types 2003-02-09 07:49:34 +00:00
Frank M. Kromann f9712217d8 Fixing autodetect of FreeTDS 2003-02-09 07:48:40 +00:00
Yasuo Ohgaki e54ec4b8d2 MFH 2003-02-09 07:24:36 +00:00
Frank M. Kromann 7145b24e59 Bug #21707 problem with real 2003-02-09 07:18:27 +00:00
Frank M. Kromann 2b51649f74 Fixing build with GD 2.0.11 2003-02-09 06:27:08 +00:00
Frank M. Kromann a0a0428b34 Adding missing HAVE_GD_STRINGFTEX define 2003-02-09 06:26:45 +00:00
Frank M. Kromann 1ae32f0c2d Adding some missing defines to enable functions.
Fixing bug #22130
2003-02-09 05:47:06 +00:00
Sascha Schumann afaecf4140 MFH 2003-02-08 18:59:38 +00:00
Marcus Boerger 16add2cb7a MFH: manpage for this version 2003-02-08 15:27:33 +00:00
Pierre Joye 2475dbc759 MFH:
Add gdImageEllipse
Replace gdImageFilledEllipse by a new function (backported from
the new phpgd)
the new gdImageFilledEllipse fix bug bug #22103 (ellipse part)
2003-02-08 08:54:11 +00:00
Sara Golemon bc517aaa2a MFH(r-1.59) 2003-02-08 01:36:52 +00:00
SVN Migration 9547f33a8e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-07 22:12:03 +00:00
Dan Kalowsky 8d1923852a Patch for Bug #21279 submitted by ernani@php.net 2003-02-07 02:58:31 +00:00
Sara Golemon 90175ea1d8 MFH(r-1.51) 2003-02-06 22:23:36 +00:00
foobar c6f204ab79 MFH 2003-02-06 16:21:24 +00:00
foobar 55090ad3f8 fugbix news 2003-02-06 15:29:27 +00:00
foobar 2e9cafa7e5 MFH: - Fixed bug #22088 (array_shift() leaves next index to be +1 too much) 2003-02-06 15:28:28 +00:00
foobar c9d1212cf2 MFH 2003-02-06 15:24:08 +00:00
foobar be72d3fe1b MFH 2003-02-06 15:05:19 +00:00
SVN Migration f3627d1d8d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-06 15:04:54 +00:00
Andrey Hristov 6cd12c25ee added entry for memory_get_usage(). 2003-02-06 14:36:58 +00:00
Andrey Hristov 3d913d6143 Backporting memory_get_usage() from HEAD.
As far as the code is small there won't be any problems.
2003-02-06 14:34:07 +00:00
Sara Golemon f757c17b2f FMH(r-1.49/r-1.50) 2003-02-04 21:39:50 +00:00
foobar bf496a03cf reorder the bug fixes (reverse #). added missing bug fixing news 2003-02-04 19:07:09 +00:00
Sara Golemon d558e94c93 MFH(r-1.48) (Bug#13551) 2003-02-04 19:02:02 +00:00
Ilia Alshanetsky a6a0ae3e74 Bug fixing news. 2003-02-04 18:35:55 +00:00
Ilia Alshanetsky 16f626702d MFH 2003-02-04 18:34:10 +00:00
foobar bdfee70cec Added missing bugfix news entry. 2003-02-04 10:10:25 +00:00
Ilia Alshanetsky b6813a0898 MFH 2003-02-03 22:48:35 +00:00
Ilia Alshanetsky aa55dcf8f5 MFH 2003-02-03 21:24:48 +00:00
Ilia Alshanetsky d92f023f4d MFH 2003-02-03 20:56:28 +00:00
foobar a51420ddc8 MFH: Fix bug: #22035 (EXTRA_LDFLAGS for AIX not quite right) 2003-02-03 17:35:39 +00:00
foobar 90dce5bec5 fugbix news 2003-02-03 17:01:16 +00:00
foobar ef6658864a MFH: Fixed bug: #21998 (array_pop() did not reset the current array position) 2003-02-03 16:58:08 +00:00
Moriyoshi Koizumi af4be723b2 MFH: fixed proto 2003-02-03 16:54:38 +00:00
foobar d4223acfed MFH 2003-02-03 16:52:15 +00:00
Moriyoshi Koizumi e7a663d137 MFH: fixed test case for mb_strpos() 2003-02-03 16:17:29 +00:00
foobar 01ef5c86f1 MFH 2003-02-03 13:08:19 +00:00
foobar 34c712bae0 MFH: Fixed bug: #22011 (-n must ignore all ini files) 2003-02-03 12:25:47 +00:00
foobar 93ca6a350e MFH 2003-02-03 11:45:55 +00:00
Giuseppe Tanzilli 008dc0c248 Fix sapi/servlet build on Unix 2003-02-03 09:04:09 +00:00
foobar bfd4ad90ed MFH: added test for bug #21998 2003-02-03 06:44:21 +00:00
SVN Migration 06049c7753 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-03 06:43:09 +00:00
Sara Golemon 98f4eed1d4 MFH(r-1.50/r-1.51) 2003-02-03 03:47:00 +00:00
Ilia Alshanetsky 1baeaf9201 MFH 2003-02-02 23:09:40 +00:00
Ilia Alshanetsky e2b1618571 MFH 2003-02-02 20:27:01 +00:00
Zeev Suraski f70be2a9a7 Fix phpinfo() display of Zend extensions 2003-02-02 15:51:37 +00:00
Marcus Boerger c1e7c349c5 MFH: Change DBM detection order 2003-02-01 22:19:31 +00:00
Marcus Boerger 692fc9d24a MFH: include file handling and dbm fixes 2003-02-01 19:01:13 +00:00
Melvyn Sopacua 6b0b91474a MFH: Bug #21892 (links to apache2 install instructions missing) 2003-02-01 11:21:14 +00:00
Ilia Alshanetsky 43e6623c3d MFH 2003-01-31 22:27:28 +00:00
Marcus Boerger 13e162eb04 MFH: Version info 2003-01-31 20:10:11 +00:00
Marcus Boerger 05e397b330 MFH: Shared dba requires at least db-3.3 2003-01-31 20:07:23 +00:00
Frank M. Kromann 283efd226d Rename script.
Add check for CLI version
2003-01-31 18:50:41 +00:00
Melvyn Sopacua 4be86f6c14 "The ugly patch"
Make mcrypt compile, when we finally are free of -ltdl. Bug #20926.

# There's a variant, with a config option, but that's an ugly word(tm)
2003-01-31 15:06:45 +00:00
Moriyoshi Koizumi 56107bb783 MFH: fixed a mb_send_mail() bug.
# sorry for mixing WS fix
2003-01-31 14:28:44 +00:00
foobar 49ad4ad943 Moved from HEAD. 2003-01-31 14:23:56 +00:00
foobar 3744c31519 MFH all changes as requested by Maxim. 2003-01-31 14:21:19 +00:00
Sascha Schumann 34c7b71a89 MFH obsolete warning 2003-01-31 07:47:10 +00:00
Frank M. Kromann fcb3b7d6b9 Wrapper script to execute ext_skel on WIn32 2003-01-31 01:01:51 +00:00
Frank M. Kromann a7851234a7 Allow extensions to be loaded on win32 2003-01-31 01:01:06 +00:00
Frank M. Kromann 79dcd3c4cf Adding Win32 project file 2003-01-31 01:00:42 +00:00
Marcus Boerger e7605bb420 MFH: revert partly 2003-01-30 21:38:15 +00:00
Sascha Schumann 6eb3a0ff12 Partial MFH: Fix sticky eof issue, and avoid calling system stat macro 2003-01-30 21:11:29 +00:00
foobar 856dafbe36 MFH: fix bug: #21945 (zts build failed) 2003-01-30 19:30:34 +00:00
Marcus Boerger c4ba0d56d2 MFH: Allow to link against chosen modules correctly 2003-01-30 18:31:36 +00:00
Ilia Alshanetsky 998c64cc5d MFH 2003-01-29 19:33:56 +00:00
Edin Kadribasic 81586fed7d MFH 2003-01-29 15:42:43 +00:00
foobar d2549b91aa ordered all bug fixes by the number :) 2003-01-29 08:08:25 +00:00
foobar 5e63f36507 news entries for new options in phpize and php-config 2003-01-29 03:26:15 +00:00
Harald Radi 9f2275ec67 fix warnings 2003-01-29 00:59:54 +00:00
Harald Radi c23bb9ce4f ilia pointet me to a thread on php-dev saying that
Co(Un)Initialize should be called per thread
2003-01-29 00:46:31 +00:00
Harald Radi 339702a044 fix for bug #20282 (and propably some of the
other com bugs)

#credits also go to tzm.de for sponsoring me
2003-01-29 00:10:01 +00:00
Harald Radi bd731f1ed3 moved to php4/main 2003-01-28 23:46:13 +00:00
Harald Radi 309e5aacc1 somehow the module shutdown order got reversed since 4.3.0,
thus the CoInitialize / CoUninitialize calles are more sane here
than in the basic functions module.
2003-01-28 23:45:02 +00:00
foobar 67acb0fa9e fugbix news 2003-01-28 17:57:51 +00:00
Ilia Alshanetsky 6d7d365d3c Fixed compile warning. 2003-01-28 17:46:47 +00:00
Ilia Alshanetsky 63610854d5 Bug fixing news. 2003-01-28 16:36:50 +00:00
Ilia Alshanetsky 827b79d6c1 MFH 2003-01-28 16:34:41 +00:00
Derick Rethans b7010976f0 - Fix includes 2003-01-28 16:05:07 +00:00
Ilia Alshanetsky 6faa5e5bc4 Fixed compiler warning. 2003-01-28 16:02:33 +00:00
foobar 03caef107a - MFH: Fixed bug #13561 (--without-pear prevents install of php-config, phpize)
- MFH: Added --ldflags option to php-config
- MFH: Added --clean option to phpize
2003-01-28 15:02:08 +00:00
foobar 8650dda505 MFH: Typo fix 2003-01-28 15:00:15 +00:00
Edin Kadribasic 35876e07b3 MFH 2003-01-28 14:19:12 +00:00
SVN Migration 0cb305a4f8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-28 10:59:13 +00:00
Edin Kadribasic 17c7216ee0 MFH 2003-01-28 10:54:17 +00:00
foobar 5a0738d82d MFH: typo fixes 2003-01-28 06:56:42 +00:00
foobar beed320140 MFH: typo fix 2003-01-28 06:52:33 +00:00
Marcus Boerger 97ab5eb4d4 MFH 2003-01-28 06:27:19 +00:00
Frank M. Kromann 694406816b Fix the setting of computer name and processor type for php_uname() on Win32 2003-01-28 05:01:46 +00:00
Ilia Alshanetsky 96f815aa74 MFH (scandir patch). 2003-01-28 01:51:26 +00:00
foobar 12e5f25ced MFH 2003-01-28 01:00:42 +00:00
SVN Migration 3835ea2241 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-28 00:42:55 +00:00
Marcus Boerger b5b59b7ee6 MFH: --without-flatfile, Berkeley DB version check 2003-01-28 00:12:19 +00:00
Edin Kadribasic 169ce6948d MFH: Fixed bug #21597 (made glob() understand Windows paths). 2003-01-27 16:32:48 +00:00
Andrey Hristov ed8ccb2911 MFH 2003-01-27 16:22:33 +00:00
foobar b36e230373 revert previous commit 2003-01-27 12:44:56 +00:00
foobar 956681d54a MFH: use grep -E instead of egrep. the latter is not defined by POSIX anymore 2003-01-27 11:33:47 +00:00
Moriyoshi Koizumi 736588313d MFH: test update 2003-01-27 01:16:34 +00:00
Marcus Boerger f660a474af MFH: Part 2, forgot the '@' 2003-01-26 17:23:00 +00:00
Marcus Boerger c8ee823db0 MFH: Simplify 2003-01-26 17:18:24 +00:00
Sander Roobol 39d29d68b2 MFH (well... it's not really an MFH... but who cares :) 2003-01-26 09:20:12 +00:00
Shane Caraveo 842fa7a716 MFH
fix broken build by adding scandir and alphasort
2003-01-26 01:46:40 +00:00
Shane Caraveo 839512558f MFH
fix bug 21261
    putenv on some platforms requires we provide the memory
    cleanup env parsing logic
fix bug 21367
    missed optargs in a previous patch
2003-01-25 22:02:45 +00:00
Ilia Alshanetsky f142761ab8 MFH 2003-01-25 21:15:41 +00:00
Marcus Boerger 375f71522b MFH: The builtin version was always used even if configured otherwise. 2003-01-25 19:51:05 +00:00
Marcus Boerger 2fb7ff2f43 MFH: Bug #21751: Part one never let this happen again... 2003-01-25 19:50:04 +00:00
Ilia Alshanetsky d5b75a2768 MFH 2003-01-25 18:55:40 +00:00
Ilia Alshanetsky 2a4f59ce8f MFH 2003-01-25 00:26:34 +00:00
Dan Kalowsky 0d29b1ef72 busted by the style police... 2003-01-24 22:49:22 +00:00
Dan Kalowsky 306918850b Patch for bug #21844 2003-01-24 22:43:42 +00:00
Ilia Alshanetsky 6695acbd23 MFH 2003-01-24 19:24:01 +00:00
Ilia Alshanetsky 3871b272fd MFH 2003-01-24 19:16:28 +00:00
foobar a630f7cf1d MFH: Fix bug #21795, Undeclared statement in oci8.c (OCI_ATTR_STATEMENT) 2003-01-24 17:51:40 +00:00
Ilia Alshanetsky 98536a9d8b MFH (memory leak in quota functions). 2003-01-24 17:10:40 +00:00
foobar eb15881a94 MFH: typofix 2003-01-24 10:13:16 +00:00
foobar 9aea9970bb MFH: Fix potential problem for 64-bit architectures. 2003-01-24 10:00:18 +00:00
foobar 7ce609a045 figbug news 2003-01-24 09:54:30 +00:00
foobar 8d5ade4cef MFH: Fixed bug: #20857, snmpset() fails 2003-01-24 09:53:16 +00:00
Derick Rethans 8e5d7f67ef - MFH: memleak 2003-01-24 08:50:59 +00:00
foobar 1c3f186c11 Remove unused GET/POST entries 2003-01-24 05:56:03 +00:00
foobar cea7bd34ca MFH 2003-01-23 16:30:07 +00:00
foobar 6cd646e939 MFH 2003-01-23 06:42:51 +00:00
foobar e506353517 Enable building with freetype 2.1.3 2003-01-23 06:22:42 +00:00
foobar c7c6ddf6e1 MFH 2003-01-23 05:33:19 +00:00
foobar 0eb7973e96 fugbix news 2003-01-23 05:20:34 +00:00
foobar 1d6714eea4 MFH: Added test for bug: #21513 2003-01-23 03:29:22 +00:00
SVN Migration 5849307944 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-23 03:28:42 +00:00
Frank M. Kromann e2dd22e13f adding missing zlib.lib and path to bindlib 2003-01-22 20:12:47 +00:00
Ilia Alshanetsky 4bbff1f82d MFH 2003-01-22 19:53:40 +00:00
Moriyoshi Koizumi ba1e0fbf46 MFH: reverted the wrong patch 2003-01-21 22:09:55 +00:00
Moriyoshi Koizumi d78df15074 MFH: fixed a mb_regex_replace() bug 2003-01-21 22:04:28 +00:00
Moriyoshi Koizumi 77821ecb75 MFH: fixed mb_ereg_search() segfault 2003-01-21 19:32:18 +00:00
foobar 8fdf6abb81 MFH: Fixed bug: #21698, httpd.conf not modified with "make install" 2003-01-21 06:03:16 +00:00
Edin Kadribasic 2070287f64 MFH 2003-01-21 03:04:38 +00:00
SVN Migration 35382136b4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-21 02:46:08 +00:00
Moriyoshi Koizumi 875814b68b MFH: fixed bug #21758 2003-01-20 16:46:34 +00:00
foobar 591b6e7d59 MFH 2003-01-20 10:39:39 +00:00
Moriyoshi Koizumi d3a2e6852c MFH: fixed bug #21744 2003-01-19 12:56:26 +00:00
SVN Migration 65b0cbbfeb This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-19 11:32:55 +00:00
Moriyoshi Koizumi 95122f3209 MFH: added test case for bug #21730 2003-01-18 21:21:32 +00:00
Moriyoshi Koizumi 16670b2d42 MFH: fixed bug #21726 and #21730 2003-01-18 21:20:47 +00:00
Ilia Alshanetsky 6c7c785e9d MFH 2003-01-18 20:49:02 +00:00
SVN Migration 14b549692e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-18 19:02:22 +00:00
foobar 4affc10629 MFH: Fix bug: #21687, imap extension does not include gss authentication mechanism 2003-01-18 07:01:11 +00:00
Sascha Schumann 6b398307a3 MFH POST fixes 2003-01-17 19:11:38 +00:00
Derick Rethans eb8f7ccead - MFH: Fixed a bug that made that no newline was displayed when there was no
value for a row.
2003-01-17 18:12:38 +00:00
Ilia Alshanetsky 2ed8d327b8 MFH 2003-01-16 21:18:59 +00:00
Edin Kadribasic f7b9d75e18 MFH: recent fixes to number_format() 2003-01-16 13:21:54 +00:00
Ilia Alshanetsky 5295f6e657 MFH 2003-01-16 02:54:07 +00:00
Harald Radi eaa9026f2d removing this stuff from the php 4.3 branch 2003-01-15 21:52:29 +00:00
Sascha Schumann 5360b2e876 MFH 2003-01-15 21:20:05 +00:00
foobar 55f12ed0bb MFH: handle ERANGE from strtol properly 2003-01-15 15:53:34 +00:00
Sascha Schumann 18d55a08b3 MFH 2003-01-15 11:32:31 +00:00
Sascha Schumann 29db4eaa2c MFH 1.150 2003-01-15 11:29:05 +00:00
Sascha Schumann 9c9d4b2177 MFH 1.161 2003-01-15 11:28:25 +00:00
foobar 0c51c2b3dc Fixed the bad MFH 2003-01-15 09:31:41 +00:00
Sebastian Bergmann 6a547ff74b MFH: zlib build fix 2003-01-15 09:10:56 +00:00
Ilia Alshanetsky a21aa4991d MFH 2003-01-15 00:52:20 +00:00
Edin Kadribasic a97cbb59e2 Bugfixing news 2003-01-14 14:49:41 +00:00
Edin Kadribasic 3ae6ab890d Made bind_textdomain_codeset() available on windows (fixes #21525). 2003-01-14 14:45:16 +00:00
foobar 7bd89a17dd Fixed bug: #21543, Informix version detection fails 2003-01-13 23:31:33 +00:00
Moriyoshi Koizumi 18a5dc440f MFH
# The typo I made in the previous commit log is not intentional :)
2003-01-13 19:21:44 +00:00
Moriyoshi Koizumi c7050f9f93 MFH 2003-01-12 23:57:20 +00:00
SVN Migration 093b043bca This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-12 23:56:05 +00:00
Frank M. Kromann 57a3edd204 MFH 2003-01-12 06:29:33 +00:00
Frank M. Kromann a712b3f5f4 MFH 2003-01-12 03:17:44 +00:00
Ilia Alshanetsky 0ec6f5f3e9 MFH 2003-01-11 23:50:59 +00:00
Ilia Alshanetsky debdc829df MFH 2003-01-11 23:07:13 +00:00
Christian Stocker 4214d95e6f Throw error if object is not a XML_DOCUMENT_NODE 2003-01-10 18:05:02 +00:00
Ilia Alshanetsky 5eaeb31845 MFH 2003-01-10 02:00:52 +00:00
Ilia Alshanetsky 2c92e3f983 Bug fixing news. 2003-01-10 01:17:03 +00:00
Ilia Alshanetsky e566262369 MFH 2003-01-09 23:09:41 +00:00
Frank M. Kromann 6ea06ad338 MFH 2003-01-09 22:36:02 +00:00
Ilia Alshanetsky 8fb3f4a199 MFH 2003-01-09 22:34:27 +00:00
Sara Golemon e1c35b0f16 MFH 2003-01-09 22:29:02 +00:00
Ilia Alshanetsky 0faa05d744 MFH 2003-01-09 16:54:15 +00:00
Sebastian Bergmann 82e8134fc6 MFH: Revert config.w32.h.in -> config.w32.h build step. 2003-01-09 16:52:14 +00:00
foobar 70e5f19ff8 MFH: Fix bug #21511 2003-01-09 16:38:28 +00:00
SVN Migration 5cd68e4606 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-09 15:44:50 +00:00
Frank M. Kromann 7917d26b57 MFH 2003-01-09 08:28:19 +00:00
Ilia Alshanetsky 0cc6d8fccf MFH 2003-01-09 03:33:44 +00:00
Frank M. Kromann ab84d192be MFH 2003-01-08 23:21:42 +00:00
Ilia Alshanetsky 73bf754530 MFH 2003-01-08 18:11:58 +00:00
Ilia Alshanetsky d20ee838f0 Bug fixing news. 2003-01-08 15:01:59 +00:00
Georg Richter c687f71c5a fixed bug 21498 2003-01-08 11:15:12 +00:00
Ilia Alshanetsky 8994f31b03 MFH 2003-01-08 02:44:50 +00:00
Ilia Alshanetsky 7a16fdbd27 MFH 2003-01-08 00:44:58 +00:00
Edin Kadribasic 4978b31363 Bugfix #17098 in the branch 2003-01-07 15:28:13 +00:00
Edin Kadribasic 20a2136350 MFH:
Fixed bug #17098 (make Apache aware that PHP scripts represent dynamic data
and should not be cached). Fix suggested by daniel.eckl@gmx.de.
2003-01-07 15:23:45 +00:00
Edin Kadribasic 2dfed948a1 Bugfixing news 2003-01-07 11:26:03 +00:00
Edin Kadribasic 8b5cb40c24 Fixed bug #21442 (Crash of mail() on Windows when the first parameter
is empty).
2003-01-07 11:20:50 +00:00
Frank M. Kromann 1d819f780c MFH 2003-01-07 05:20:42 +00:00
Ilia Alshanetsky 296bc367dc MFH 2003-01-07 03:53:56 +00:00
Ilia Alshanetsky 794f365e4e Changed perror() to php_error_docref(), fixed bug #21309.
Made extension use ZE memory allocation wrappers, fixed a memory leak in
ftp_mkdir.
Removed duplicate ftp_syst() call inside ftp_systype().

# A larger patch with CS fixes will be applied to HEAD shortly.
2003-01-07 02:21:58 +00:00
Ilia Alshanetsky d9afe5c129 MFH 2003-01-06 22:16:30 +00:00
SVN Migration 6c44faecfd This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-06 22:13:04 +00:00
Ilia Alshanetsky 544be4d557 MFH 2003-01-06 21:43:50 +00:00
Georg Richter 9a2babf4b6 fixed a missing & (Thx to Sebastian Bergmann 2003-01-06 14:12:40 +00:00
Edin Kadribasic b89acbbc31 Bugfixing news. 2003-01-06 10:53:35 +00:00
Edin Kadribasic b37cbba31d Fixed bug #20503 (imagesetbrush() availability on windows). 2003-01-06 10:42:10 +00:00
Christian Stocker 562fa5b78f - fix crash in domxml_node_insert_before() (by Lukas Schröder) 2003-01-06 10:00:34 +00:00
Christian Stocker 1fcbd36e6d partly MFH from 1.288 (Fixed segfault, when trying to add a node to itself) 2003-01-06 08:48:38 +00:00
Edin Kadribasic 7be4d4640a Mention gif read-only support on windows. 2003-01-06 01:49:17 +00:00
Edin Kadribasic 7802d1e61c MFH: Added missing flags and .c files for gif read support on Windows. 2003-01-06 01:44:50 +00:00
Ilia Alshanetsky 65029af613 Bug fixing news. 2003-01-06 00:49:24 +00:00
Ilia Alshanetsky f600d3e481 MFH 2003-01-06 00:47:47 +00:00
Derick Rethans ada8f84019 - MFH (Fix for bug #21435) 2003-01-05 21:11:39 +00:00
Edin Kadribasic 73cac507ad Made xslt_set_encoding() available on windows (bug #20640). 2003-01-05 13:52:21 +00:00
Edin Kadribasic 063c192a12 Fixed ZTS build. 2003-01-05 13:02:02 +00:00
Ilia Alshanetsky b2576fd44f MFH 2003-01-05 04:29:35 +00:00
Marcus Boerger 48c8f7c55b MFH 2003-01-04 19:53:53 +00:00
Marcus Boerger b05115978c Fix ZTS-ZE2 (After Cygwin now for the rest) 2003-01-04 19:51:46 +00:00
Marcus Boerger bb74381c49 Fix ZTS-ZE2 build 2003-01-04 19:42:37 +00:00
Marcus Boerger dc8e2ab453 MFH: Fix ZTS-ZE2 build 2003-01-04 19:21:22 +00:00
Derick Rethans c71f17295c - MFH: Fixed bug #21232 (Unresolved references to PQsetnonblocking). (Patch by
Floyd <floyd@studiodust.com>)
2003-01-04 12:34:27 +00:00
Alex Waugh 4033a44b95 MFH 2003-01-03 22:07:05 +00:00
Derick Rethans 6f533a3d8a - Fix docrefs 2003-01-03 21:32:24 +00:00
Derick Rethans 1bfe97474f - Remove broken lines (due to MFH) 2003-01-03 18:57:37 +00:00
Ilia Alshanetsky ae6d79eae3 MFH (fix for bug #21267 & memory leak fix on reidrects). 2003-01-03 17:19:46 +00:00
Derick Rethans 71a5313fc5 - MFH for bug #21311 2003-01-03 12:31:13 +00:00
Derick Rethans 7daca337be Bugfixing news 2003-01-03 09:19:49 +00:00
Moriyoshi Koizumi da497ecb88 Updated the test so it reflects the recent change on iconv.c 2003-01-03 05:15:54 +00:00
Moriyoshi Koizumi 655a3126a2 Fixed shift-out sequence unawareness issue 2003-01-03 05:13:11 +00:00
Moriyoshi Koizumi ae0519643e MFH 2003-01-03 05:12:06 +00:00
foobar f01f0ff5e0 Group these entries a bit to make NEWS easier to read. 2003-01-03 00:05:07 +00:00
Ilia Alshanetsky 8e64a1c73f Bug fixing news. 2003-01-02 19:52:18 +00:00
Ilia Alshanetsky c4fc154089 MFH 2003-01-02 19:50:37 +00:00
SVN Migration de38a0eca4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-02 19:49:31 +00:00
Ilia Alshanetsky da85b57c61 MFH 2003-01-02 19:21:53 +00:00
Derick Rethans 514996363e *** empty log message *** 2003-01-02 17:58:57 +00:00
Derick Rethans 4e4a4036cf - MFH: Fix warnings on UnixWare 2003-01-02 13:31:30 +00:00
Derick Rethans 680e256d17 - MFH: Fix "make test" when CC was set to something with a parameter 2003-01-02 13:01:53 +00:00
Derick Rethans a50d3f2029 - MFH: Fix tests if Zend Optimizer is loaded 2003-01-01 12:44:47 +00:00
SVN Migration 8c761c73ad This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-01 12:44:00 +00:00
Wez Furlong f8721992dd Workaround a bug in glibc 2.2.9x and later that causes it not to seek to EOF
for stdio streams opened with a mode of "a+".
2003-01-01 09:55:38 +00:00
Ilia Alshanetsky 525bb0ed7e MFH 2002-12-31 18:54:38 +00:00
Ilia Alshanetsky fe18a0e9b1 Added bug fix entries. 2002-12-31 18:39:31 +00:00
Sebastian Bergmann ec46829b38 MFH: Bump year. 2002-12-31 16:37:36 +00:00
Sebastian Bergmann 03d440e1c0 MFH: Bump year. 2002-12-31 16:27:40 +00:00
Marcus Boerger a412c510d4 Do it manually after problems with the commit message 2002-12-31 12:12:30 +00:00
Wez Furlong ac07cbb0ca MFH: Fix for 21304 (gzopen not reporting errors, "a" mode broken). 2002-12-31 11:43:02 +00:00
Ilia Alshanetsky ce2ae19703 MFH 2002-12-31 00:05:19 +00:00
Ilia Alshanetsky ca8772a059 MFH 2002-12-30 19:41:00 +00:00
Marcus Boerger 23a44e86ce MFH: (configure problems & db4 sub module
@- Improved dba extension (Marcus)
@
  . Added support for internal error handling of Berkeley db libraries.
@
  . Disallow Berkeley db versions 4.1.0 to 4.1.24 due to locking problems.
@
  . Disallow linkage of Berkeley db submodules against libraries with
@
    different major version.
@
  . Disallow configuring of more than one Berkeley db handler.
2002-12-30 19:13:45 +00:00
Ilia Alshanetsky 5c5c577359 MFH 2002-12-30 18:29:25 +00:00
SVN Migration 15675d6f49 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-30 17:42:56 +00:00
Ilia Alshanetsky 4cb293e5a1 MFH 2002-12-30 16:43:31 +00:00
Ilia Alshanetsky c3e88c6d59 MFH 2002-12-30 15:35:55 +00:00
Moriyoshi Koizumi d39471b761 WS 2002-12-30 15:04:36 +00:00
Moriyoshi Koizumi ddcf71c483 just MFH 2002-12-30 15:03:27 +00:00
Moriyoshi Koizumi 28624bb7f6 MFH: Ilia's patch for bug #21268 (session_decode() returned FALSE on success) 2002-12-30 13:56:28 +00:00
Derick Rethans d74b967c9e - MFH: Align mssql comment and clarify DBA handler selection 2002-12-30 09:23:33 +00:00
Edin Kadribasic cdb8029c39 Live goes on :) 2002-12-27 22:11:40 +00:00
1410 changed files with 93475 additions and 76497 deletions

No files matched your search

+285
View File
@@ -0,0 +1,285 @@
define dump_bt
set $t = $arg0
while $t
printf "[0x%08x] ", $t
if $t->function_state.function->common.function_name
printf "%s() ", $t->function_state.function->common.function_name
else
printf "??? "
end
if $t->op_array != 0
printf "%s:%d ", $t->op_array->filename, $t->opline->lineno
end
set $t = $t->prev_execute_data
printf "\n"
end
end
document dump_bt
dumps the current execution stack. usage: dump_bt executor_globals.current_execute_data
end
define printzv
set $ind = 0
____printzv $arg0 0
end
document printzv
prints content of zval
end
define ____printzv
set $zvalue = $arg0
if $zvalue->type == 0
set $typename = "NULL"
end
if $zvalue->type == 1
set $typename = "long"
end
if $zvalue->type == 2
set $typename = "double"
end
if $zvalue->type == 3
set $typename = "string"
end
if $zvalue->type == 4
set $typename = "array"
end
if $zvalue->type == 5
set $typename = "object"
end
if $zvalue->type == 6
set $typename = "bool"
end
if $zvalue->type == 7
set $typename = "resource"
end
if $zvalue->type == 8
set $typename = "constant"
end
if $zvalue->type == 9
set $typename = "const_array"
end
printf "[0x%08x] ", $zvalue
if $zvalue == executor_globals.uninitialized_zval_ptr
printf "*uninitialized* "
end
printf "(refcount=%d) %s: ", $zvalue->refcount, $typename
if $zvalue->type == 1
printf "%ld", $zvalue->value.lval
end
if $zvalue->type == 2
printf "%lf", $zvalue->value.dval
end
if $zvalue->type == 3
printf "\"%s\"(%d)", $zvalue->value.str.val, $zvalue->value.str.len
end
if $zvalue->type == 4
if ! $arg1
printf "{\n"
set $ind = $ind + 1
____print_ht $zvalue->value.ht
set $ind = $ind - 1
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
printf "}"
end
end
if $zvalue->type == 5
if ! $arg1
printf "(prop examination disabled due to a gdb bug)"
# set $ht = $zvalue->value.obj.handlers->get_properties($zvalue)
# printf "{\n"
# set $ind = $ind + 1
# ____print_ht $ht
# set $ind = $ind - 1
# set $i = $ind
# while $i > 0
# printf " "
# set $i = $i - 1
# end
# printf "}"
end
end
if $zvalue->type == 6
if $zvalue->lval
printf "true"
else
printf "false"
end
end
if $zvalue->type == 7
printf "#%d", $zvalue->value.lval
end
printf "\n"
end
define ____print_ht
set $ht = $arg0
set $p = $ht->pListHead
while $p != 0
set $zval = *(struct _zval_struct **)$p->pData
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
if $p->nKeyLength > 0
printf "\"%s\" => ", $p->arKey
else
printf "%d => ", $p->h
end
____printzv $zval 1
set $p = $p->pListNext
end
end
define print_ht
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0
printf "}\n"
end
document print_ht
dumps elements of HashTable made of zval
end
define printzn
set $ind = 0
set $znode = $arg0
if $znode->op_type == 1
set $optype = "IS_CONST"
end
if $znode->op_type == 2
set $optype = "IS_TMP_VAR"
end
if $znode->op_type == 4
set $optype = "IS_VAR"
end
if $znode->op_type == 8
set $optype = "IS_UNUSED"
end
printf "[0x%08x] %s", $znode, $optype
if $znode->op_type == 1
printf ": "
____printzv &$znode->u.constant
end
if $znode->op_type == 2
printf ": "
set $tvar = (union _temp_variable *)((char *)executor_globals.current_execute_data->Ts + $znode->u.var)
____printzv ((union _temp_variable *)$tvar)->tmp_var
end
if $znode->op_type == 4
printf ": "
set $tvar = (union _temp_variable *)((char *)executor_globals.current_execute_data->Ts + $znode->u.var)
____printzv *$tvar->var.ptr_ptr
end
if $znode->op_type == 8
printf "\n"
end
end
document printzn
print type and content of znode.
usage: printzn &opline->op1
end
define printzops
printf "op1 => "
printzn &execute_data->opline.op1
printf "op2 => "
printzn &execute_data->opline.op2
printf "result => "
printzn &execute_data->opline.result
end
document printzops
dump operands of the current opline
end
define zmemcheck
set $p = alloc_globals.head
set $stat = "?"
set $total_size = 0
if $arg0 != 0
set $not_found = 1
else
set $not_found = 0
end
printf " block size status file:line\n"
printf "-------------------------------------------------------------------------------\n"
while $p
set $aptr = $p + sizeof(struct _zend_mem_header) + sizeof(align_test)
if $arg0 == 0 || (void *)$aptr == (void *)$arg0
if $p->magic == 0x7312f8dc
set $stat = "OK"
end
if $p->magic == 0x99954317
set $stat = "FREED"
end
if $p->magic == 0xfb8277dc
set $stat = "CACHED"
end
set $filename = strrchr($p->filename, '/')
if !$filename
set $filename = $p->filename
else
set $filename = $filename + 1
end
printf " 0x%08x ", $aptr
if $p->size == sizeof(struct _zval_struct) && ((struct _zval_struct *)$aptr)->type >= 0 && ((struct _zval_struct *)$aptr)->type < 10
printf "ZVAL?(%-2d) ", $p->size
else
printf "%-9d ", $p->size
end
set $total_size = $total_size + $p->size
printf "%-06s %s:%d", $stat, $filename, $p->lineno
if $p->orig_filename
set $orig_filename = strrchr($p->orig_filename, '/')
if !$orig_filename
set $orig_filename = $p->orig_filename
else
set $orig_filename = $orig_filename + 1
end
printf " <= %s:%d\n", $orig_filename, $p->orig_lineno
else
printf "\n"
end
if $arg0 != 0
set $p = 0
set $not_found = 0
else
set $p = $p->pNext
end
else
set $p = $p->pNext
end
end
if $not_found
printf "no such block that begins at 0x%08x.\n", $aptr
end
if $arg0 == 0
printf "-------------------------------------------------------------------------------\n"
printf " total: %d bytes\n", $total_size
end
end
document zmemcheck
show status of a memory block.
usage: zmemcheck [ptr].
if ptr is 0, all blocks will be listed.
end
+17 -8
View File
@@ -31,6 +31,11 @@ EXTENSION: aolserver
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: activescript
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
MAINTENANCE: Odd Fixes
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: apache
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
@@ -45,6 +50,10 @@ EXTENSION: cgi
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: cli
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: fhttpd
MAINTENANCE: Unknown
STATUS: Unknown
@@ -54,8 +63,9 @@ MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: nsapi
MAINTENANCE: Unknown
STATUS: Unknown
PRIMARY MAINTAINER: Uwe Schindler <thetaphi@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: phttpd
MAINTENANCE: Unknown
@@ -89,7 +99,7 @@ STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: dba
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -126,7 +136,7 @@ STATUS: Experimental
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: interbase
PRIMARY MAINTAINER: Jouni Ahto <jouni.ahto@exdec.fi>
PRIMARY MAINTAINER: Jouni Ahto <jouni.ahto@exdec.fi>, Ard Biesheuvel <ard@ard.nu>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
@@ -166,7 +176,7 @@ MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -177,8 +187,7 @@ STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: oracle
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
MAINTENANCE: Maintained
MAINTENANCE: Orphaned
STATUS: Working
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
@@ -330,7 +339,7 @@ MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcrypt
PRIMARY MAINTAINER: Derick Rethans <d.rethans@jdimedia.nl>
PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
+5
View File
@@ -8,6 +8,11 @@ up to date instructions in the online manual, located here:
http://www.php.net/manual/en/install.apache.php
For Apache 2, instructions and up-to-date information regarding it's
support status, is available here:
http://www.php.net/manual/en/install.apache2.php
It is strongly recommended that you read the manual page before going
further. However, for the impatient, here is a quick set of steps that
will build PHP as (first) a dynamic Apache module (DSO) for Apache 1.3.x
+5
View File
@@ -1,3 +1,8 @@
#
# Zend
#
$(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(builddir)/zend_ini_parser.h
+26 -16
View File
@@ -7,20 +7,24 @@ COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORK
all: $(all_targets)
@echo
@echo "Build complete."
@echo "(It is safe to ignore warnings about tempnam and tmpnam)."
@echo
build-modules: $(PHP_MODULES)
libphp4.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
-@$(LIBTOOL) --silent --mode=install cp libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1
libs/libphp4.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp4.so
install: $(install_targets)
install: $(all_targets) $(install_targets)
install-sapi: libphp4.la
@echo "Installing PHP SAPI module"
-@$(LIBTOOL) --silent --mode=install cp libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1
install-sapi: $(OVERALL_TARGET)
@echo "Installing PHP SAPI module: $(PHP_SAPI)"
-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
-@if test ! -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); then \
for i in 0.0.0 0.0 0; do \
@@ -34,10 +38,10 @@ install-sapi: libphp4.la
install-modules: build-modules
@test -d modules && \
$(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR) && \
echo "Installing shared extensions: $(INSTALL_ROOT)$(EXTENSION_DIR)/" && \
rm -f modules/*.la && \
cp modules/* $(INSTALL_ROOT)$(EXTENSION_DIR) >/dev/null 2>&1 || true
$(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR)
@echo "Installing shared extensions: $(INSTALL_ROOT)$(EXTENSION_DIR)/"
@rm -f modules/*.la >/dev/null 2>&1
@$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR)
install-tester:
@echo "Installing regression tester: $(INSTALL_ROOT)$(PEAR_INSTALLDIR)/"
@@ -46,15 +50,21 @@ install-tester:
install-su: install-pear install-tester
test: $(SAPI_CLI_PATH)
@TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC=$(CC) \
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' $(top_srcdir)/run-tests.php $(TESTS)
test:
-@if test -x $(SAPI_CLI_PATH) && test ! -z $(SAPI_CLI_PATH); then \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' $(top_srcdir)/run-tests.php $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
clean:
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.lo | xargs rm -f
find . -name \*.o | xargs rm -f
find . -name \*.la | xargs rm -f
find . -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp4.la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
+720 -9
View File
@@ -1,5 +1,718 @@
PHP 4 NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16 Feb 2004, Version 4.3.5RC3
- Fixed zero bytes memory allocation when no extra ini files are found in the
--with-config-file-scan-dir specified directory. (Eric Colinet, Derick)
- Fixed bug #27235 (Interbase NUMERIC x.0 field returns empty string on 0).
(Ard)
- Fixed bug #27196 (Missing content_length initialization in apache 2 sapis).
(Ilia, pdoru at kappa dot ro)
- Fixed bug #27183 (userland stream wrapper segfaults on stream_write).
(Moriyoshi)
- Fixed bug #27175 (tzset() is not being called by PHP on startup).
(Ilia, sagawa at sohgoh dot net)
- Fixed bug #27172 (Possible floating point exception in gmp_powm()). (Ilia)
- Fixed bug #27171 (crash inside gmp_hamdist()). (Jani)
- Fixed bug #27157 (Compile Failure on Solaris 8). (Timm)
- Fixed bug #27149 (broken CLOB support in oci8 extension). (Antony)
- Fixed bug #27135 (Possible crash inside mb_strlen()). (Moriyoshi)
- Fixed bug #27104 (CLI/CGI SAPI module variable name conflict). (Marcus)
- Fixed bug #27026 (Added "cgi.nph" php.ini option to allow forcing of
the 'Status: 200' header that is not normally needed). (Ilia)
- Fixed bug #26862 (ob_flush() followed by output_reset_rewrite_vars() may
result in data loss). (Ilia, scottmacvicar at ntlworld dot com)
- Fixed bug #26758 (FastCGI exits immediately with status 255). (Ilia,
tcarter at noggin dot com dot au)
- Fixed bug #26653 (open_basedir incorrectly resolved on win32). (Ilia,
scottmacvicar at ntlworld dot com)
- Fixed bug #26407 (Result set fetching broken around transactions). (Timm)
- Fixed bug #24773 (unsetting string as array causes a crash). (Sara)
- Fixed bug #23467 (date('T') outputs incorrect Time Zone).
(Jani, scottmacvicar at ntlworld dot com)
03 Feb 2004, Version 4.3.5RC2
- Changed "allow_url_fopen" php.ini option to be PHP_INI_SYSTEM. (Sara)
- Improved the sybase_ct module: (Timm)
. Added ability to define a message handler not only globally, but also per
connection.
. Added "sybct.packet_size" php.ini option.
. Changed "sybct.login_timeout" php.ini option changeable at runtime.
. Fixed memory leak in sybase_set_message_handler().
- Fixed bug #27058 (crash in sybase_connect() with 2 arguments). (Ilia)
- Fixed bug #27056 (ints used instead of longs inside some GD functions).
(Ilia)
- Fixed bug #27040 (passing an array of form-fields to CURLOPT_POSTFIELDS
does not work). (Ilia, Jani)
- Fixed bug #27037 (fixed possible crash in apache2handler output code). (Ilia)
- Fixed bug #27011 (64bit int/long confusion in preg_match*() functions).
(Ilia)
- Fixed bug #27007 (missing connection closure when connect fails in pgsql).
(Ilia)
- Fixed bug #26974 (rename() doesn't check the destination file against
safe_mode/open_basedir). (Ilia)
- Fixed bug #26973 (*printf() '+' modifier broken). (Jani)
- Fixed bug #26969 (--with-openssl=shared build fails). (Jani)
- Fixed bug #26968 (Segfault with Interbase module built as shared). (Ard)
- Fixed bug #26949 (rand(min,max) always returns min when ZTS enabled). (Jani)
- Fixed bug #26937 (Warning in xml.c). (Jani)
- Fixed Bug #26927 (preg_quote() does not escape \0). (Ilia)
- Fixed bug #26923 (ext/imap: pam and crypt libraries missing when build as
shared extension). (Jani)
- Fixed bug #26909 (crash in imap_mime_header_decode() when no encoding is
used). (Ilia)
- Fixed bug #26892 (ORA-21301 in ocinewcollection() call). (Antony)
- Fixed bug #26878 (problem with multiple references to the same variable
with different types). (Ilia)
- Fixed bug #26896 (ext/ftp does not work as shared extension). (Jani)
- Fixed bug #26814 (When included file has a parse error, terminate script
execution). (Ilia)
- Fixed bug #26772, #26967 (file operations return NULL instead of FALSE).
(Wez, Ilia)
- Fixed bug #26381 (rand() without srand() doesn't work with certain php.ini).
(Jani)
- Fixed bug #25753 (php.ini settings "leak" from vhosts/.htaccess files).
(Patch by: rover at tob dot ru)
- Fixed bug #22403 (PHP crashes when executing a sql procedure without
parameters). (Timm)
- Fixed bug #21513 (shutdown functions not executed if timed out). (Zeev)
12 Jan 2004, Version 4.3.5RC1
- Synchronized bundled GD library with GD 2.0.17
- Upgraded PCRE library to version 4.5. (Andrei)
- Updated bundled PostgreSQL library to version 7.4 in Windows distribution.
(Edin)
- Added support for --program-prefix and --program-suffix configure options.
(Jani)
- Added a warning when creating temp stream fails with ftp_(n)list(). (Sara)
- Fixed header handler in NSAPI SAPI module (header->replace was ignored,
send_default_content_type now sends value from php.ini). (Uwe Schindler)
- Fixed bug #26864 (pg_(update|delete) ignore PGSQL_DML_EXEC option). (Ilia)
- Fixed bug #26847 (memory leak in mail() when to/subject contain only spaces).
(Ilia)
- Fixed bug #26777 (ext/interbase: Let DB handle NULL params). (Ard)
- Fixed bug #26755 (CLI now overrides php.ini settings and switches off
output buffering). (Edin)
- Fixed bug #26752 (Silent unterminated loop when length parameter for
fgets(), fread() and fgetss() is 0). (Ilia)
- Fixed bug #26751 (PHP can't find the MySQL socket on a case sensitive file
system). (Derick)
- Fixed Bug #26703 (Certain characters inside strings incorrectly treated as
keywords). (vrana [at] php [dot] net, Ilia)
- Fixed bug #26699 (mbstring doesn't identify "binary" as a valid encoding).
(nirva-php at ishiboo dot com, Moriyoshi)
- Fixed bug #26667 (Added safety checks to ip2long()). (Ilia)
- Fixed bug #26639 (mb_convert_variables() clutters variables beyond the
references). (Moriyoshi)
- Fixed bug #26635 (fixed look up for fonts in the current directory w/ZTS).
(Ilia)
- Fixed Bug #26625 (pg_convert sets NULL incorrectly for character data
types). (Ilia)
- Fixed bug #26604 (Apache2 SAPIs implicitly disable Keep-Alive). (Ilia)
- Fixed bug #26595 (ext/domxml: XSLT_NAMESPACE undeclared). (Christian)
- Fixed bug #26565 (strtotime("this month") resolving to the wrong month).
(Jani)
- Fixed bug #26564 (ncurses5 has headers in PREFIX/include/ncurses/). (Jani)
- Fixed bug #26548 (ext/session: Malformed HTTP dates headers). (Derick)
- Fixed bug #26531 (ext/domxml: get_elements_by_tag_name() wildcard fails).
(Rob Richards)
- Fixed bug #26488 (Missing declaration of CRTSCTS in ext/dio/dio.c). (Jani)
- Fixed bug #26467 (flock() does not force the "wouldblock" parameter to be
passed by reference). (Wez)
- Fixed bug #26463 (Incorrect handling of semicolons after heredoc). (Ilia)
- Fixed bug #26462 (phpize + ext/bcmath -> compile error). (Jani)
- Fixed bug #26461 (-lssl missing from LIBS). (Jani)
- Fixed bug #26458 (var_dump(), var_export(), debug_zval_dump() not binary
safe for array keys). (Ilia)
- Fixed bug #26447 (--with-openssl=shared causes compile errors). (Jani)
- Fixed bug #26446 (domxml_open_file() returns an empty error-Array). (Rob)
- Fixed bug #26440 (MFH missing context options). (Ilia)
- Fixed bug #26438 (error in thttpd SAPI installation). (Jani)
- Fixed bug #26391 (parse_url() destroys strings that contain a character
in range of \x80-\xff)). (Moriyoshi)
- Fixed bug #26415 (Updated bundled OpenSSL DLLs in the Windows
distribution to 0.9.7c). (Edin)
- Fixed bug #25963 (PostgreSQL error message include \n characters).
(Marcus, Ilia)
- Fixed bug #26384 (crash in domxslt->process()). (Christian)
- Fixed bug #26376 (typo in ext/odbc/config.m4: DBMaker test fails). (Jani)
- Fixed bug #26355 (flock() doesn't initialize the wouldblock argument). (Ilia)
- Fixed bug #26309 (Fixed argument parsing for imageftbbox()). (Ilia)
- Fixed bug #26304 (Unexpected data loss when opening dba file). (Marcus)
- Fixed bug #26285 (escapeshellarg() uses wrong quotes on windows). (Ilia)
- Fixed bug #26267 (gmp_random() leaks memory and does not produce random
numbers). (Jani)
- Fixed bug #26253 (ext/tokenizer: build as shared extension fails). (Jani)
- Fixed bug #26235 (yp_first/yp_next do not specify correct key length). (Ilia)
- Fixed bug #26216 ("getimagesize(): stream does not support seeking" when
using remote files). (Marcus)
- Fixed bug #26201 (crash in ibase_trans() on invalid link handle). (Ilia)
- Fixed bug #26198 (strtotime() handling of M/F Y date format). (Ilia)
- Fixed bug #26194 (iconv() not properly defined with libiconv).
(Steph, Frank, Moriyoshi)
- Fixed bug #26176 (Fixed handling of numeric keys in INI files). (Ilia)
- Fixed bug #26168 (shtool availability check in phpize).
(robbat2 at gentoo dot org, Ilia)
- Fixed bug #26148 (Print the notice before modifying variable on type
mismatch). (morten-bugs dot php dot net at afdelingp dot dk, Ilia)
- Fixed bug #26128 (mbstring prints out wrong information on phpinfo()).
(Moriyoshi)
- Fixed bug #26113 (remove leftover local file when ftp_get/ftp_nb_get fails).
(Ilia)
- Fixed bug #26105 (Compile failure on gcc version 3.0.X). (Ilia)
- Fixed bug #26103 (ext/mime_magic causes compile failure in ext/mssql). (Jani)
- Fixed bug #26097 (gdImageColorClosestAlpha() returns incorrect results).
(sprice at wisc dot edu, Ilia)
- Fixed bug #26042 (memory leak if mcrypt_generic_deinit() is not called
after every mcrypt_generic_init() call). (Ilia)
- Fixed bug #26025 (Segfault on glob() without GLOB_NOCHECK or GLOB_NOMAGIC
under *BSD platforms). (Moriyoshi)
- Fixed bug #26003 (Make fgetcsv() binary safe). (Ilia, Moriyoshi)
- Fixed bug #25939 (feof() not working correctly for sockets). (Wez)
- Fixed bug #25916 (get_browser() -> PHP Fatal error: Nesting level
too deep - recursive dependency?). (Uwe Schindler)
- Fixed bug #25794 (Cannot open existing hash db3 file with write" ext/dba).
(Marcus)
- Fixed Bug #25694 (round() and number_format() give inconsistent results).
(Ilia)
- Fixed bug #25664 (calling ITypeInfo::Invoke with bogus params). (Wez)
- Fixed bug #25581 (getimagesize () return incorrect values on bitmap
(os2) files). (Marcus)
- Fixed bug #25329 (sqlite_create_function with method and reference to $this).
(Marcus).
- Fixed bug #24773 (Unsetting string offsets crashes PHP). (Moriyoshi, Sara)
3 Nov 2003, Version 4.3.4
- Made MCVE extension available on win32. (Jani)
- Upgraded bundled libfcgi and made FastCGI support viable on Win32. (Sascha)
- Added apache_get_version() function. (Ilia)
- Fixed disk_total_space() and disk_free_space() under FreeBSD. (Jon Parise)
- Fixed crash bug when non-existing save/serializer handler was used. (Jani)
- Fixed memory leak in gethostbynamel() if an error occurs. (Sara)
- Fixed FastCGI being unable to bind to a specific IP. (Sascha)
- Fixed multibyte regex engine to properly handle ".*" pattern under
POSIX compatible mode. (K.Kosako <kosako at sofnec.co.jp>, Moriyoshi)
- Fixed bug #25955 (Compile failure on MacOSX 10.3 Panther). (Marko, Dan)
- Fixed bug #25923 (mail() modifies the to & subject arguments). (Ilia)
- Fixed bug #25922 (Crash in error handler when 5th argument is modified).
(Ilia)
- Fixed bug #25918 (Possible crash in mime_content_type()). (Ilia)
- Fixed bug #25900 (document->get_elements_by_tag_name with default xmlns).
(Rob)
- Fixed bug #25895 (Incorrect detection of safe_mode limited ini options).
(Ilia)
- Fixed bug #25888 (Crash of php.exe when xpath_eval of a namespace). (Rob)
- Fixed bug #25836 (last key of multi-dimensional array passed via GPC not
being escaped when magic_quotes_gpc is on). (Ilia)
- Fixed bug #25825 (tzset() was not called to reset libc environment on
request shutdown). (Wez)
- Fixed bug #25814 (Make flock() return correct value when 3rd argument is
used). (Ilia)
- Fixed bug #25800 (parse_url() could not parse urls with empty port). (Ilia)
- Fixed bug #25780 (ext/session: invalid "session.cookie_lifetime" makes
session_start() to crash in win32). (Jani)
- Fixed bug #25777 (Do not rtrim() of text fields fetched from mssql). (Ilia)
- Fixed bug #25770 (Segfault with PHP and bison 1.875).
(eggert@gnu.org, Marcus)
- Fixed bug #25764 (ldap_get_option() crashes with unbound ldap link). (Jani)
- Fixed bug #25758 (var_export does not escape ' & \ inside array keys).
(Ilia)
- Fixed bug #25752 (ext/ncurses: ncurses.h instead of curses.h with BSD).
(Jani)
- Fixed bug #25746 (Do not bail out when unable to chdir original dir on
systems with broken getcwd()). (Ilia)
- Fixed bug #25745 (ctype functions fail with non-ascii characters).
(Moriyoshi)
- Fixed bug #25744 (make ZTS build of ext/sybase compile). (Ilia)
- Fixed bug #25738 (alloca() related issues on the Darwin platform).
(Moriyoshi)
- Fixed bug #25708 (extract($GLOBALS, EXTR_REFS) mangles $GLOBALS).
(Moriyoshi)
- Fixed bug #25707 (html_entity_decode() over-decodes &amp;lt;). (Moriyoshi)
- Fixed bug #25703 (openssl configure check failed). (Jani)
- Fixed bug #25701 (On flush() set headers_sent in apache2handler). (Ilia)
- Fixed bug #25671 (str_replace() corrupts subarrays). (Sara)
- Fixed bug #25669 (eregi() with non-ascii characters). (Moriyoshi)
- Fixed bug #25665 (var_dump() hangs on Nan and INF). (Ilia)
- Fixed bug #25648 (xslt_set_encoding() not detected correctly). (Jani)
- Fixed bug #25636 (SNMP Session not closed on success).
(Ilia, patch by: nesslage at mwsc dot edu)
- Fixed bug #25635 (Make "make tests" to fail due to invalid include_path).
(Ilia)
- Fixed bug #25604 (HAVE_SNMP_PARSE_OID undefined with phpize build). (Jani)
- Fixed bug #25583 (Incorrect handling of paths starting with "/" on win32
inside glob() function). (Ilia)
- Fixed bug #25570 (Possible crash in apache2handler when zend_bailout called
outside of zend_try {} block). (Ilia)
- Fixed bug #25558 (ext/dbase: reverted fix for bug #23463). (Vlad)
- Fixed bug #25530 (checkdate() incorrectly handles floats). (Ilia)
- Fixed bug #25525 (ldap_explode_dn() crashes when passed invalid dn).
(Sara, patch by: mikael dot suvi at trigger dot ee)
- Fixed bug #25504 (pcre_match_all() crashes when passed only 2 parameters).
(Jani)
- Fixed bug #25483 (ext/informix: bogus -469 error from ifx_query()).
(Jani, patch by: denisov at kubsu dot ru)
- Fixed bug #25463 (ext/cpdf: compile failure with bundled GD)
- Fixed bug #25429 (fix copying of stdin using copy() function). (Ilia)
- Fixed bug #25424 (ext/informix: lvarchar not supported in win32). (Jani)
- Fixed bug #25404 (ext/pgsql: open transactions not closed when script ends).
(Marcus)
- Fixed bug #25385 (ob_gzhandler(): typo in sapi_add_header_ex() call). (Jani)
- Fixed bug #25378 (unserialize() crashes with invalid data). (Jani)
- Fixed bug #25372 (sscanf() does not work with %X). (Jani)
- Fixed bug #25348 ("make install" fails with --enable-short-tags). (Jani)
- Fixed bug #25343 (is_dir() gives warning on FreeBSD). (Jani)
- Fixed bug #25333 (Possible body corruption & crash in win32 mail()). (Ilia)
- Fixed bug #25316 (Possible infinite loop inside _php_stream_write()). (Ilia)
- Fixed bug #25314 (FTP_ASCII mode behaving like binary from Win->Unix).
(Sara)
- Fixed bug #25308 (php -m crashes when zend extensions are loaded). (Stas)
- Fixed bug #25307 (Crash with WDDX serializer). (Sascha, Jani)
- Fixed bug #25295 (QNX6: php_ini.c:414: 'alphasort' undeclared). (Jani)
- Fixed bug #25294 (ext/ftp: NLST failure leads to crash on exit). (Sara, Rob)
- Fixed bug #25293 (Output correct EOL to error_log). (Ilia)
- Fixed bug #25239 (ftp_fopen_wrapper not RFC compliant). (Sara)
- Fixed bug #25218 ("deflate" compressed pages had a gzip header). (Stefan)
- Fixed bug #25211 (image.c compile failure with AIX). (Marcus)
- Fixed bug #25166 (WDDX serializer handler missing in win32). (Jani)
- Fixed bug #25109 (Possible crash when fetching field names in pgsql). (Ilia)
- Fixed bug #25106 (Added more stringent checks on bzopen() mode). (Ilia)
- Fixed bug #25070 (unlock session files on win32 before closing them). (Ilia)
- Fixed bug #24402 (Compile failure with gettext 0.12.x). (Jani)
- Fixed bug #23488 (zlib.output_compression overrides Vary header). (Stefan)
- Fixed bug #23326 (ext/domxml: Attributes via append_child not supported).
(Melvyn)
- Fixed bug #21220 (Wrong Apache version shown in phpinfo() output). (Jani)
- Fixed bug #18534 (ifx_close() leaves open session). (nobbie@php.net)
- Fixed bug #14049 (realpath() returns invalid results for non-existent
paths). (Ilia)
25 Aug 2003, Version 4.3.3
- Upgraded the bundled Expat library to version 1.95.6. (Jani)
- Upgraded the bundled PCRE library to version 4.3. (Andrei)
- Upgraded the bundled GD library to version GD 2.0.15. (Ilia)
- Improved the engine to use POSIX/socket IO where feasible. (Sascha)
- Improved the IMAP extension (Ilia)
. Added imap_timeout() function. (bug #24161)
. Added optional 'charset' parameter to imap_search() and imap_sort().
(bug #22505)
- Improved the InterBase extension (Daniela)
. Added transaction constants: IBASE_REC_VERSION, IBASE_REC_NO_VERSION,
IBASE_WRITE, IBASE_WAIT and IBASE_CONCURRENCY. (bugs #8797, #23887)
. Made numeric/decimal datatype handling work on any platform.
- Improved the NSAPI SAPI module (Uwe Schindler)
. Added possibility to use PHP to generate HTTP error pages (404 Not Found..)
. Added possibility to use PHP to generate directory listings for directories
without index.html
. php4_init (magnus.conf): new parameter to set alternate path to php.ini.
(php_ini="/path/to/php.ini")
. php4_execute (obj.conf): support for additional php.ini values.
Allows different settings per virtual server.
(See sapi/nsapi/nsapi-readme.txt for more information)
. Added support for virtual().
. Added nsapi_request_headers() and nsapi_response_headers() with aliases
for apache compatibility.
. Added "nsapi.read_timeout" php.ini option.
. Synced $_SERVER variables to be similar to Apache variables.
- Added DBA handler 'inifile' to support ini files. (Marcus)
- Added a "DEBUG" note to 'php -v' output when --enable-debug is used. (Derick)
- Added long options into CLI & CGI (e.g. --version). (Marcus)
- Added a new parameter to preg_match*() that can be used to specify
the starting offset in the subject string to match from. (Andrei)
- Fixed possible integer overflows in:
. base64_encode(). (Moriyoshi)
. bundled GD library. (Ilia)
- Fixed "mysql.connect_timeout" php.ini option to be settable with ini_set().
(Rasmus)
- Fixed FastCGI IIS document root problem. (Shane)
- Fixed corruption of multibyte character including 0x5c as second
byte in multipart/form-data. (Rui)
- Fixed possible crash in imagerotate() when an invalid color index
is used for background color. (Pierre-Alain Joye)
- Fixed a bug that under certain circumstances could invalidate safe_mode.
(Ilia)
- Fixed certificate version and allowed setting of the serial number in
openssl_csr_sign(). (Stefan Roehrich)
- Fixed each() to be binary safe for keys. (Zeev)
- Fixed ext/yaz to not log if "yaz.log_file" php.ini option is not set. (Adam)
- Fixed a bug in bundled libmysql (mysql bug #564). (Georg)
- Fixed ext/exif to honor "magic_quotes_runtime" php.ini option. (Marcus)
- Fixed bug #25093 (ext/pgsql: Various leaks due to non-freed queries). (Ilia)
- Fixed bug #25084 (ext/session: Fixed session.referer_check to be independent
on register_globals). (Ilia)
- Fixed bug #25081 (odbc_fetch_array() may mangle numeric fields). (Ilia)
- Fixed bug #25044 (header("Location:") changing HTTP status). (Marcus)
- Fixed bug #25037 (win32 mail(): Possible infinite loop inside SendText()).
(Ilia)
- Fixed bug #25007 (rand() & mt_rand() seed RNG every call). (Jani)
- Fixed bug #24989 (external libexpat conflicts with bundled libexpat). (Jani)
- Fixed bug #24980 (array_reduce() uses first element as default running
total). (Ilia)
- Fixed bug #24977 (Reverted mysql_select_db() optimization). (Ilia)
- Fixed bug #24958 (Apache2 SAPIs: Incorrect handling of 404s). (Ilia, Justin)
- Fixed bug #24951 (ob_flush() needlessly destroys output handler). (Ilia)
- Fixed bug #24936 (ext/fdf not linked properly as shared extension). (Jani)
- Fixed bug #24909 (Bad random numbers with ZTS builds on Solaris). (Ilia)
- Fixed bug #24897 (inconsistent behavior of shuffle() & array_multisort()).
(Ilia, Jani)
- Fixed bug #24883 ("variables_order" and "gpc_order" being ignored). (Ilia)
- Fixed bug #24873 (incorrect handling of / inside open_basedir). (Ilia)
- Fixed bug #24871 (aggregate(): methods misidentified as constructors). (Ilia)
- Fixed bug #24827 (ob_gzhandler overrides Vary header). (Ilia)
- Fixed bug #24792 (--enable-zend-multibyte causes random segfaults with ZTS).
(Fujimoto)
- Fixed bug #24783 (foreach($ar as $key => $val), $key not binary safe). (Zeev)
- Fixed bug #24760 (non-default SNMP port number not working). (Jani)
- Fixed bug #24752 (Unhandled "uniqueidentifier" field type).
(Ilia, s.sonnenberg[at]coolspot.de)
- Fixed bug #24710 (Crash when $obj->{0} is used). (Zeev)
- Fixed bug #24663 (\n. sequences were not being escaped). (Ilia)
- Fixed bug #24640 (var_export() and var_dump() can not output large floats).
(Marcus)
- Fixed bug #24629 (FreeBSD select() does not like large microseconds values).
(Mirco Bauer).
- Fixed bug #24609 (ext/domxml: segfault when using replace node across
different docs). (Rob Richards)
- Fixed bug #24594 (Rewrite of the imagefill() function). (Pierre-Alain Joye)
- Fixed bug #24592 (NULL related crash in session extension). (Sascha)
- Fixed bug #24573 (debug_backtrace() crashes if $this set to null). (Jani)
- Fixed bug #24560 (parse_url() incorrectly handling certain file:// based
schemas). (Ilia)
- Fixed bug #24557 (make fclose() respect refcount on the resource).
(Wez, Ilia)
- Fixed bug #24537 (apache2 compile misses some include directories). (Jani)
- Fixed bug #24535 (ext/mysql: crash when retrieving data from unbuffered
result after the original connection has been changed). (Ilia)
- Fixed bug #24519 (aggregate_methods_by_list() does not increment refcount).
- Fixed bug #24313 (file_exists() warning on non-existent files when
open_basedir is used). (Ilia)
- Fixed bug #24312 (base64_decode() does not skip 0xF0-0xFF characters).
(gereon.steffens[at]onvista.de, Ilia)
- Fixed bug #24284 (Fixed memory leak inside pg_ping()). (Ilia)
- Fixed bug #24249 (fdf_add_doc_javascript() not available on Windows). (Edin)
- Fixed bug #24224 (ibase_blob_get() overflow). (Ard)
- Fixed bug #24223 (missing variable initialization in bundled gd). (Ilia)
- Fixed bug #24220 (range() didn't handle numeric strings correctly). (Ilia)
- Fixed bug #24210 (not detecting assume_default_colors - typo). (Sara)
- Fixed bug #24198 (Invalid recursion detection in array_merge_recurcive()).
(Ilia)
- Fixed bug #24177 (Apache2 SAPIs: status set incorrectly after flush()).
(Ilia)
- Fixed bug #24155 (gdImageRotate270 incorrectly use x parameter for y axis).
(tom@gksystems.com, Ilia)
- Fixed bug #24150 (crash in imap_fetch_overview() &
imap_rfc822_write_address()). (Ilia)
- Fixed bug #24142 (workaround for a gcc bug affecting round()). (Marcus, Ilia)
- Fixed bug #24063 (serialize() missing 0 after the . on scientific notation).
(Marcus, Ilia)
- Fixed bug #24063 (scientific notation broken in *printf()). (Ilia)
- Fixed bug #24060 (ncurses_del_panel() causes segfault). (Georg)
- Fixed bug #24054 (Integer overflow failure with GCC/x86 for *=). (Sascha)
- Fixed bug #24028 (Reading raw post message by php://input failed). (Jani)
- Fixed bug #24009 (FastCGI handling of file not found). (Shane)
- Fixed bug #24007 (Problem with register_globals & arrays). (Ilia)
- Fixed bug #23951 (constants in static initializers clobbered by inheritance).
(Wez, Zend Engine)
- Fixed bug #23936 (ext/interbase: fail to select and fetch). (Ard)
- Fixed bug #23913 (make rename() work across partitions on *nix). (Ilia)
- Fixed bug #23912 (Invalid CSS in phpinfo() output). (Ilia)
- Fixed bug #23902 (NULL in CGI header output). (Shane)
- Fixed bug #23898 (Proper handling of NULLs in odbc_result, odbc_fetch_into
and odbc_result_all). (Ilia)
- Fixed bug #23897 (Fixed a check for mbfilter_ru.h). (aleks@m2media.ru, Ilia)
- Fixed bug #23894 (sprintf() decimal specifiers problem). (Moriyoshi)
- Fixed bug #23888 (Missing input validation for flags parameter). (Ilia)
- Fixed bug #23808 (broken imagecopymerge()). (Pierre-Alain Joye)
- Fixed bug #23798 (Spaces were not being stripped from Bcc header). (Ilia)
- Fixed bug #23792 (imagerotate() problems with limited platte, the function
will always return true color image from now on). (Pierre-Alain Joye)
- Fixed bug #23779 (mysql_connect(): disable local infile option if php.ini
option "open_basedir" is set). (Georg)
- Fixed bug #23769 (In FreeBSD glob() gives wrong result when pattern not
found). (Hartmut)
- Fixed bug #23733 (Coredump on startup with Oracle 9+). (Edin)
- Fixed bug #23685 (fake values returned when OID value is an empty string).
(Jani)
- Fixed bug #23664 (FastCGI socket listenting). (Shane)
- Fixed bug #23509 (exit code lost when exit() called from
register_shutdown_function()). (Ilia)
- Fixed bug #23463 (ext/dbase: added Dbase2 version check). (Vlad Krupin)
- Fixed bug #23285 (Potential Stack overflow in zendlex). (Wez)
- Fixed bug #23104 (hash position of static arrays not being reset). (Ilia)
- Fixed bug #23038, #23574 (aggregate() related leaks and crashes). (Andrei)
- Fixed bug #22947 (Ack() inside win32/sendmail.c may stall in certain
situations). (Ilia)
- Fixed bug #22690 (ob_start() did not work with create_function() callbacks).
(Marcus)
- Fixed bug #22592 (Cascading assignments to strings with curly braces broken).
(Stas)
- Fixed bug #22245 (References inside $_SESSION not being handled). (Ilia)
- Fixed bug #22154 (Possible crash when memory_limit is reached and output
buffering in addition to session.use_trans_sid is used). (Ilia)
- Fixed bug #22072 (Apache2 sapis do not detect aborted connections). (Ilia)
- Fixed bug #21958 (workaround for unusual realpath() on AIX & Tru64). (Ilia)
- Fixed bug #21957 (serialize() mangles objects with __sleep). (Ilia)
- Fixed bug #21918 (strange behaviour of mixed type in array-keys). (Marcus)
- Fixed bug #21855 (Threading issue on HP-UX). (Roshan Naik, Andi, Moriyoshi)
- Fixed bug #21611 (version_compare() does not support "p" as suffix).
(Stefan Walk)
- Fixed bug #21074 (Apache2: "ErrorDocument xxx /error.php" broken). (Jani)
- Fixed bug #20896 (-s -w modes with php-cli cause php to hang). (Ilia)
- Fixed bug #19613 (putenv("VAR=") does not empty VAR on win32). (Zeev)
- Fixed bug #18744 (ibase_blob_add() has max limit of 64k). (Ard)
- Fixed bug #18291 (escapeshellcmd() can now handle quoted arguments). (Ilia)
- Fixed bug #17414 (pthreads bug workaround). (timo.teras[at]iki.fi)
- Fixed bug #13142 (strtotime not handling "M d H:i:s Y" format). (Ilia)
- Fixed bug #11924 (ibase_query(), ibase_execute() mangled passed parameters).
(Jani)
- Fixed bug #7014 (crash in _php_ibase_error() after request shutdown). (Ard)
29 May 2003, Version 4.3.2
- Syncronized bundled GD library with GD 2.0.12. (Ilia)
- Removed support for GDLIB version 1.x.x (php_gd.dll) on Windows. (Edin)
- Enabled read-only GIF support in the bundled GDLIB (php_gd2.dll) on Windows.
(Sebastian, Edin)
- Improved dba extension (Marcus)
. Added support for internal error handling of Berkeley db libraries.
. Disallowed Berkeley db versions 4.1.0 to 4.1.24 due to locking problems.
. Disallowed linkage of Berkeley db submodules against libraries with
different major versions.
. Disallowed configuring of more than one Berkeley db handler.
. Reenabled dba_popen() with new persistent STDIO streams.
- Added a new Apache 2.0 SAPI module (sapi/apache2handler) based on the old
version (sapi/apache2filter). (Ian Holsman, Justin Erenkrantz)
- Added "disable_classes" php.ini option to allow administrators to disable
certain classes for security reasons. (Harald)
- Added man page for CLI version of PHP. (Marcus)
- Added --clean option into phpize. (Jani)
- Added --ldflags option into php-config. (Jani)
- Added imagesavealpha() and imageistruecolor() functions. (Pierre)
- Added XBM support for bundled GD library. (Marcus)
- Added session_regenerate_id() function. (Sascha)
- Added zlib_get_coding_type() function which returns the coding type used for
output compression. (Moriyoshi)
- Added OCIPasswordChange() which allows renewing expired Oracle users. (Maxim)
- Added memory_get_usage(). Only available when PHP is configured with
--enable-memory-limit. (Andrey)
- Added improved JPEG 2000 support for getimagesize(). (Marcus, Adam Wright)
- Added XBM and WBMP support for getimagesize(). (Marcus)
- Added KOI8-R, CP866, and CP1251 support for htmlentities().
(Antony Dovgal, Moriyoshi)
- Added domdocument->free() to free XML-documents from memory. (Rob Richards)
- Fixed a bug in error reporting with the CLI for start-up errors. (Derick)
- Fixed spurious fsync calls during socket communication. (Sascha)
- Fixed a possible vhost issue in thttpd. (Sascha, dgl@dgl.cx)
- Fixed including from HTTP URLs. (Sascha)
- Fixed a lot of memory leaks in domxml. (Rob Richards, Chregu)
- Fixed a bug in GD's truecolor TTF handling. (Derick)
- Fixed several 64-bit problems. (Dave)
- Fixed several errors in hwapi extension. Objects weren't handled properly.
(Uwe)
- Fixed bug #23788 (str|preg_replace() clobber the array elements). (Ilia)
- Fixed bug #23765 (file uploads ignored due to case sensitivity). (Sara)
- Fixed bug #23738 (ifx_copy_blob() crash). (Jani)
- Fixed bug #23661 (mysql_fetch_array() gives no warning when an invalid
argument was passed as result_type). (Derick)
- Fixed bug #23619 (set_error_handler() registered handler not called for
object instances). (Jani, waboring@qualys.com)
- Fixed bug #23606 (Unable to build --with-db4 (db4.1.25)). (Marcus)
- Fixed bug #23567 (pfsockopen() returns dead connections). (Wez)
- Fixed bug #23539 (curl_exec() produces strange results). (daniel@haxx.se)
- Fixed bug #23527 (PostScript Type 1 fonts do not render properly).
(nid@home.se, Ilia)
- Fixed bug #23402 (crash with improper use of mssql_bind()). (Frank)
- Fixed bug #23371 (configure falsely detects c-client using SSL). (Jani)
- Fixed bug #23340 (fopen on multiple URLs causes memory corruption). (Wez)
- Fixed bug #23298 (serialize cuts off floats & doubles). (Ilia, Marcus)
- Fixed bug #23232 (safe_mode does not honor PHP_AUTH_* in apache2). (Ilia)
- Fixed bug #23225 (money_format() didn't handle erroneous return of strfmon).
(Ilia, marcot@tabini.ca)
- Fixed bug #23201 (set_file_buffer() crashes with stdio streams). (Ilia)
- Fixed Bug #23188 (CDB databases created with 'c' mode do not work). (Marcus)
- Fixed bug #23187 (memory leaks in sybase_connect/sybase_pconnect). (Ilia)
- Fixed bug #23162 (user_error() crashs if error message > 1024 bytes).
(Jay, Marcus, Moriyoshi)
- Fixed bug #23152 ($http_response_header empty on invalid URLs). (Ilia)
- Fixed bug #23102 (integer overflow in exif_iif_add_value()). (Ilia)
- Fixed bug #23099 (ext/interbase: libgds.so: undefined reference to 'crypt').
(Jani)
- Fixed bug #23093 (highlight_string() crashed with __FUNCTION__). (Jani)
- Fixed bug #23080 (socket_strerror() crashes on win32). (Moriyoshi)
- Fixed bug #23071 (when DST in effect, date("T") crashed PHP).
(Scott MacVicar, Jani)
- Fixed bug #23069 (tempnam creates readonly file [win32]). (Wez)
- Fixed bug #23009 (pg_select with timestamp). (Marcus, Jay)
- Fixed bug #23008 (ldap_start_tls() not available on Windows). (Edin)
- Fixed bug #23004 (When ftp_close() is called, send QUIT to the ftp server).
(Ilia)
- Fixed bug #22989 (sendmail not found by configure). (igyu@ionsphere.org)
- Fixed bug #22987 (missing perror() check in configure). (Jani)
- Fixed bug #22965 (Crash in gd lib's ImageFillToBorder()). (Ilia)
- Fixed bug #22939 (crash in imap_header_info()). (Ilia)
- Fixed bug #22844 (Changing bool value via -d or ini_set(), On would be Off).
(Ilia)
- Fixed bug #22786 (Crash when trying to call DomAttribute's
set_namespace method). (Chregu)
- Fixed bug #22775 (Fatal errors exit with status 0 with CGI/CLI). (Jani)
- Fixed bug #22774 (PHP crashes when exiting (long XML doc)). (Rob Richards)
- Fixed bug #22751 (Compile error in gdcache.c when external libgd is used).
(Jani)
- Fixed bug #22721 (Poor file() performance on systems without mmap). (Wez)
- Fixed bug #22709 (Crash in interbase when database unavailable).
(Vladimir Michl)
- Fixed bug #22681 (Crash when reading from invalid file pointer). (Ilia)
- Fixed bug #22672 (User not logged under Apache2). (Ian)
- Fixed bug #22616 (Wrong order of -lssl and -lcrypto with IMAP). (Jani)
- Fixed bug #22613 (imagettfbox() does not add the kerning distance to the
running position). (Ilia)
- Fixed bug #22585 (Do not terminate the script on minor errors). (Ilia)
- Fixed bug #22550 (overflow protection for upload_max_filesize ini option).
(Ilia)
- Fixed bug #22544 (writing transparency to truecolor png images). (Ilia)
- Fixed bug #22538 (failed stat on stdio/stdin/stderr streams). (Wez, Ilia)
- Fixed bug #22530 (append_child does not unlink node). (Chregu)
- Fixed bug #22520 (mcrypt_generic_deinit() was not available on Windows).
(Edin)
- Fixed bug #22508 (Added protection against circular HTML redirects). (Ilia)
- Fixed bug #22473 (ISAPI Secure Server variables not available).
(Christian Swoboda)
- Fixed bug #22402 (opening of ftp for read/write could fail due to invalid
return code handling). (Ilia)
- Fixed bug #22384 (FNM_CASEFOLD is not available). (Hartmut)
- Fixed bug #22382 (fgetcsv() did not handle \" correctly). (Ilia)
- Fixed bug #22376 (wrong httpd.conf modified when using INSTALL_ROOT). (Jani)
- Fixed bug #22363 (combinations of fwrite(), fread() and fseek() produce
unexpected results). (Wez)
- Fixed bug #22355 (PHP would remove folding from Subject & To fields). (Ilia)
- Fixed bug #22330 (overloaded strrpos() gives wrong results).
(david@santinoli.com, Moriyoshi)
- Fixed bug #22312 (crash on failed connection when curl_getinfo() was called).
(Phil Oleson <poleson@verio.net>)
- Fixed bug #22308 (optimized passthru, code is now ~40 times faster). (Ilia)
- Fixed bug #22306 (pg_lo_seek($h, 0, PGSQL_SEEK_SET) succeeds but
returns false). (Jani)
- Fixed bug #22301 (htmlspecialchars() crashes Apache on Tru64). (Ilia)
- Fixed bug #22299 (gethostbyname() with non-existing domain crashed on MacOSX).
(Jani)
- Fixed bug #22283 (possible crash when opening relative URLs). (Ilia)
- Fixed bug #22238 (stream_select() clobbers fifos under win9x). (Wez)
- Fixed bug #22234 (copy() fails if source file has 0 length). (Moriyoshi)
- Fixed bug #22227 (printf() field limiters broke between 4.2.3 and 4.3.0).
(Moriyoshi)
- Fixed bug #22224 (implode() changes object references in array). (Moriyoshi)
- Fixed bug #22221 (bad rows count in the result object for postgresql). (Marc)
- Fixed bug #22207 (e notation in *printf would be missing a 0 when there is
no exponent). (Ilia)
- Fixed bug #22220 ("php_admin_value open_basedir none" does not work). (Jani)
- Fixed bug #22191 (frontbase build broken with old version of frontbase).
(Ilia)
- Fixed bug #22187 (spprintf function did not handle floats correctly). (Ilia)
- Fixed bug #22149 (incorrect insertion of session id when tabs are used to
separate tag elements). (Ilia)
- Fixed bug #22141 (removed undocumented Boyer str_replace() method). (Sara)
- Fixed bug #22103 (Added gdImageEllipse and replaced old gdImageFilledEllipse
with a better implementation). (Pierre)
- Fixed bug #22088 (array_shift() left next index to be +1 too much). (Jani)
- Fixed bug #22083 (MySQL charset directory problem on Windows). (Edin)
- Fixed bug #22059 (ftp_chdir() causes segfault). (Sara)
- Fixed bug #22048 (crash in imap_header() when the e-mail contains an
abnormally large number of special characters). (Ilia)
- Fixed bug #22042 (pg_result_seek() would never seek to the 1st row in the
result due to always seeking to row next to the one requested). (Ilia)
- Fixed bug #22031 (Made curl_write() & curl_write_header() binary safe).
(Ilia)
- Fixed bug #22022 (Crash in imap_mail_compose() if the body is an empty array).
(Ilia)
- Fixed bug #22017 (date() does not support negative timestamps on win32).
(Ilia)
- Fixed bug #22008 (strip_tags() eliminates too much). (Moriyoshi)
- Fixed bug #21007 (html_errors off text-only output in phpinfo). (Marcus)
- Fixed bug #22004 (Overload extension and _call() breaks classes). (Shane)
- Fixed bug #21998 (array_pop() did not reset the current array position).
(Jani)
- Fixed bug #21978, #21036 (win32 mail(), bcc: gets interpreted as cc:). (Sara)
- Fixed bug #21885 (move_uploaded_file() does not ignore open_basedir). (Wez)
- Fixed bug #21820 ("$arr['foo']" generates bogus E_NOTICE, should be E_PARSE).
(Jani)
- Fixed bug #21815 (fpassthru() ignored buffered data but complained anyway).
(Wez)
- Fixed bug #21809 (select would not always timeout during socket shutdown).
(Wez)
- Fixed bug #21751 (default output buffer could not be deleted). (Marcus)
- Fixed bug #21725 (return behaviour differs between include and require).
(Zeev)
- Fixed bug #21713 (include remote files leaks descriptors on Solaris). (Wez)
- Fixed bug #21708 (ucwords() trouble again). (Moriyoshi)
- Fixed bug #21689 (fgetcsv() suppresses some characters before a separator).
(Masahiro, Moriyoshi)
- Fixed bug #21912, #21676 (getimagesize() failed for remote files). (Wez)
- Fixed bug #21597 (made glob() understand Windows paths). (Edin)
- Fixed bug #21549 (problem with Ingres II persistent connections). (Jani)
- Fixed bug #21544 (Extended checks for where FreeTDS is installed). (Frank)
- Fixed bug #21534 (typo in gmp_gcdext() causes incorrect results). (Sara)
- Fixed bug #21531 (file_exists() and other filestat functions report errors
when the requested file/directory does not exists). (Sara)
- Fixed bug #21529 (memory corruption by fsockopen()). (Ilia)
- Fixed bug #21525 (bind_textdomain_codeset() now available on Windows). (Edin)
- Fixed bug #21523 (number_format() could cause a memory allocation for a
negative memory size in situations where the sprintf implementation of the
host system generated less decimal places than were requested). (Wez)
- Fixed bug #21518 (imagecreatefromstring() crashed with invalid image files).
(Ilia)
- Fixed bug #21511 (config.status warning). (Jani)
- Fixed bug #21498 (mysql_pconnect connection problems). (Georg)
- Fixed bug #21453 (improper handling of non-terminated < by strip_tags()).
(Ilia)
- Fixed bug #21445 (gd unable to open fonts). (Ilia)
- Fixed bug #21443 (improper handling of ? surrounded by spaces
in get_browser()). (Ilia)
- Fixed bug #21442 (crash in mail() on Windows when 1st parameter is empty).
(Edin)
- Fixed bug #21410 (fixed handling of NULL or "" files on Win32). (Ilia)
- Fixed bug #21378 (COM code crashes after update 4.2.1 to 4.3.0). (Harald)
- Fixed bug #21338 (html_entity_decode() crashed when "" is passed). (Ilia)
- Fixed bug #21310 (Solaris has issues with getcwd() needing read permissions
on directories instead of just execute). (Wez, jflemer)
- Fixed bug #21297 (in CLI/CGI on the #! it would leave a \n when the code
encounters \r\n). (Ilia)
- Fixed bug #21268 (session_decode() returned FALSE on success). (Ilia)
- Fixed bug #21267 (opening URLs that result in redirection to a relative
path was failing). (Ilia)
- Fixed bug #21229 (missing 3rd argument to php_module_startup). (Ilia)
- Fixed bug #21228 (broken check for ob_gzhandler and made ob_start() return
the correct value). (Ilia)
- Fixed bug #21226 (parse_url handling of urls without a path). (Ilia)
- Fixed bug #21224 (apache configure fails when using --enable-versioning).
(Jani)
- Fixed bug #21169 (Compile Failure and lots of warnings on UnixWare). (Derick)
- Fixed bug #21131 (fopen() with mode 'a+' and rewind() doesn't work). (Wez)
- Fixed bug #20857 (snmpset() failed always, patch by: rs@epost.de). (Jani)
- Fixed bug #20802 (PHP would die silently when memory limit reached). (Ilia)
- Fixed bug #20715 (odbc could not be compiled as shared extension). (Jani)
- Fixed bug #20641 (Numeric/decimal datatype overflow in ext/interbase
on Win32). (Daniela)
- Fixed bug #20503 (imagesetbrush() not available on Windows). (Edin)
- Fixed bug #20282 (COM memory leak). (Harald)
- Fixed bug #20256 (snprintf() not defined on some systems). (Jani)
- Fixed bug #19919 (crash in sapi_apache_header_handler under heavy load).
(George)
- Fixed bug #19795 (Problems with strnatcmp() / strnatcasecmp()). (Moriyoshi)
- Fixed bug #17868 (multiple <!--include--> used to include PHP files crashes).
(Ilia)
- Fixed bug #17448 (Print the message when OCI_SUCCESS_WITH_INFO is returned).
(Maxim)
- Fixed bug #17098 (make Apache2 aware that PHP scripts should not be cached).
(Ilia)
- Fixed bug #16798 (Compile failure with LOB support for Oracle version < 8.1).
(Maxim)
- Fixed bug #14532 (fixed connection_status() to return 2 for timeouts). (Jani)
- Fixed bug #14245 ('make install' fails on AIX when using --with-apxs). (Jani)
- Fixed bug #13757 (CGI: passing query string on command line broken). (Shane)
- Fixed bug #13561 (--without-pear disabled phpize/php-config install). (Jani)
- Fixed bug #13551 (bcmath functions applying scale incorrectly). (Sara)
17 Feb 2003, Version 4.3.1
- Fixed serious security vulnerability in CGI SAPI. (Shane)
27 Dec 2002, Version 4.3.0
- If you don't specify building any other SAPI "make install" will install the
CGI SAPI binary in {PREFIX}/bin/php. If you want to install CLI SAPI in that
@@ -9,23 +722,23 @@ PHP 4 NEWS
- Removed extensions: (Jan, Jani, Sebastian)
. ext/aspell
. ext/ccvs
. ext/cybercash
. ext/icap
. sapi/fastcgi
. sapi/fhttpd
- Moved extensions to PECL (http://pear.php.net/): (James, Derick)
- Moved extensions to PECL (http://pear.php.net/): (James, Derick, George)
. ext/vpopmail
. ext/cybermut
. ext/cybercash
- Make PHP_AUTH_* variables not available in safe mode under Apache when an
external basic auth mechanism is used. (Philip)
- Aliased dba_popen() to dba_open() until 4.3.1 when persistent STDIO streams
- Aliased dba_popen() to dba_open() until 4.3.2 when persistent STDIO streams
are introduced. (Andrei)
- Fixed a security bug in the bundled MySQL library. (Georg, Stefan)
- ZLIB extension is now built-in in the Windows distribution.
External extension (php_zlib.dll) has been removed. (Edin)
- Fixed a bug in ISO-8601 week calculation
- Fixed a crash when using invalid color index with imagecolortransparent()
(Pierre-Alain Joye).
- Fixed a crash when using invalid color index with imagecolortransparent().
(Pierre-Alain Joye)
- Fixed bug #20987 (no handling for client certificates). (Ilia)
- Fixed bug #21039 (crash when not supplying an IV to mcrypt_generic_init).
(Derick)
@@ -42,7 +755,7 @@ PHP 4 NEWS
true-color image). (Ilia)
- Fixed a crash when converting between true-color images (png/jpeg) and
gd1/gd2 image formats, png/jpeg -> gd1/gd2 -> png/jpeg conversion now
works correctly. (Ilia, (Pierre-Alain Joye).
works correctly. (Ilia, Pierre-Alain Joye)
- Fixed a memory leak in the bundled GD library inside
gdImageTrueColorToPalette(). (Ilia)
- Fixed bug #12776 (array_walk crash). (Moriyoshi)
@@ -101,7 +814,7 @@ PHP 4 NEWS
(Sterling)
- Remove $_FILES from $_REQUEST (import_request_variables is not modified),
this didn't work properly in the first place, and added confusion. (Sterling)
- Fix the socket_read() function on win32 to work in normal mode (reading to
- Fixed the socket_read() function on win32 to work in normal mode (reading to
the end of a line), as well as binary mode. (Sterling)
- Fixed bug #20110 (added sanity check to prevent include/require functions
from trying to include directories). (Ilia)
@@ -284,8 +997,6 @@ PHP 4 NEWS
- Made mime_magic and ZIP extensions available on Windows. (Edin)
- Added xslt_backend_version() and xslt_backend_name() for getting
information about the processor backend. (chregu)
- Added php.ini option "allow_webdav_methods" to allow handling of
WebDAV http requests within PHP scripts. (chregu)
- Added ImageColorMatch() and ImageLayerEffect() functions which are only
available when using the bundled GD library. (ttoohey)
- Made major improvents to the pcntl extension. (Jason)
+3 -2
View File
@@ -37,7 +37,7 @@ Note though that you might get little response, if your patch is
too hard to review.
If you would like change/add many lines, it is better to ask module
maintainer and/or php-dev@lists.php.net, or pear-dev@lists.php.net if
maintainer and/or internals@lists.php.net, or pear-dev@lists.php.net if
you are patching PEAR. Official module maintainers can be found in
EXTENSIONS file in PHP source.
@@ -79,7 +79,7 @@ Check list for submitting patch
Where to send your patch?
-------------------------
If you are patching C source, send the patch to php-dev@lists.php.net.
If you are patching C source, send the patch to internals@lists.php.net.
If you are patching a module, you should also send the patch to the
maintainer. Official module maintainers are listed in EXTENSION file
in source.
@@ -123,4 +123,5 @@ commit log. If your patch affects end-users, a brief description
and your name might be added to the NEWS file.
Thank you for submitting patch for PHP!
+6 -7
View File
@@ -43,7 +43,6 @@ global
(DONE ?)
* Use arg_separator.input to implode args in the CGI sapi extension
and arg_separator.input to explode in php_build_argv(). (DONE?)
* Implement flush feature suitable for nested output buffers.
For PHP 5.0.0
* bundle and use curl lib for fopen wrapper.
@@ -67,6 +66,7 @@ global
* find a better way to implement script timeouts. SIGVTALRM is used
by some POSIX threads implementations (i.e. OpenBSD) and is not
available in ZTS mode.
* Implement flush feature suitable for nested output buffers.
documentation
@@ -80,11 +80,11 @@ documentation
ext/bz2
-------
* Add ini setting for decompression buffer size. The default 4k is to small
for big files and takes ages to decompress. However, 40k which perform
quite good with big files may be to much under certain environments as
default setting. There should be consideren different default sizes for
different SAPIS (e.g. apache and cli).
* Add an ini directive to specify the size of decompression buffer.
The default 4k is too small for large files and also requires much time
for decompression. 40k is suitable for such files, however it may be too
much under certain environments. There should be appropriate default
settings for the various SAPI modules (e.g. apache and cli).
ext/curl
--------
@@ -158,7 +158,6 @@ ext/standard
basename()
dirname()
strrpos()
strip_tags()
ext/wddx
--------
-3
View File
@@ -1,3 +0,0 @@
- clean up .cvsignores
- purge Makefile.ins and replace PHP_EXTENSION in config.m4s
with appropiate calls to PHP_NEW_EXTENSION
+114
View File
@@ -0,0 +1,114 @@
This is an overview over existing segfaults in the current PHP source
tree.
Fixed:
mb_convert_encoding (Moriyoshi)
socket_iovec_alloc (Rasmus)
exif_imagetype,exif_thumbnail (Rasmus)
dbase_open (Rasmus)
array_pad (Rasmus)
setlocale (Rasmus)
unregister_tick_function (Rasmus)
bcsub (Rasmus)
str_repeat (Ilia)
imagecopyresized (Ilia)
mhash_keygen_s2k (Ilia)
bundled gd (Ilia)
mb_ereg, mb_ereg_match, mb_eregi, mb_split (Moriyoshi)
xml_parser_create (Moriyoshi)
ob_start (Sascha)
imagecreate/-truecolor (Sascha)
flock (Sascha)
register_shutdown_function (Sascha)
mb_strcut('', [number greater than the length of first arg]) (Moriyoshi)
ext/exif, ext/dba (Marcus)
php_base64_encode (Moriyoshi)
Open:
the dbase extension (1)
socket_select (2)
pack (3)
(1) heap corruption, mostly visible in malloc-related calls. Whether you see
this or not might depend on your libc/compiler. Hard to track down,
because the result of the corruption might be quite delayed.
Reproducable with glibc-2.3/gcc 3.2.2 by:
cat <<X | php do_crash
dbase_add_record
dbase_close
dbase_create
dbase_delete_record
dbase_get_record
dbase_get_record_with_names
dbase_numfields
dbase_numrecords
dbase_open
X
(2) heap corruption, dies in efree()/execute()
Methodology
1. Use a plain PHP_4_3 tree
2. Use the config.nice from ammendment 1.
3. Download the test script from:
<URL:http://schumann.cx/do_crash.txt>
4a. Use the scripts funcparse.awk/genfunclist.sh from phpdoc/scripts
for creating a plain text function list. Feed that list to
the script. Avoid calls like pcntl_fork. Manually remove functions
which take too long to finish/eat up all memory.
4b. For testing a single function, echo the name of the function to
the script like this:
echo dbase_open | php do_crash.txt
(3) multiple integer overflows, ex. pack("d4294967297", 2);
Amendment 1.
CFLAGS='-O0 -g' \
'../src/php4/configure' \
'--enable-pcntl' \
'--enable-shmop' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-wddx' \
'--enable-yp' \
'--enable-filepro' \
'--enable-ftp' \
'--enable-dba' \
'--enable-dbase' \
'--enable-dio' \
'--enable-exif' \
'--enable-mbstring' \
'--enable-mbregex' \
'--enable-sockets' \
'--enable-bcmath' \
'--enable-calendar' \
'--enable-pcntl' \
'--enable-shmop' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-wddx' \
'--enable-yp' \
'--enable-filepro' \
'--enable-ftp' \
'--enable-dba' \
'--enable-dbase' \
'--enable-dio' \
'--enable-exif' \
'--enable-mbstring' \
'--enable-mbregex' \
'--enable-sockets' \
'--enable-bcmath' \
'--enable-calendar' \
"$@"
+6 -1
View File
@@ -157,7 +157,10 @@ TSRM_API void tsrm_shutdown(void)
int j;
next_p = p->next;
for (j=0; j<id_count; j++) {
for (j=0; j<p->count; j++) {
if (resource_types_table && resource_types_table[j].dtor) {
resource_types_table[j].dtor(p->storage[j], &p->storage);
}
free(p->storage[j]);
}
free(p->storage);
@@ -181,6 +184,7 @@ TSRM_API void tsrm_shutdown(void)
#if defined(GNUPTH)
pth_kill();
#elif defined(PTHREADS)
pthread_setspecific(tls_key, 0);
pthread_key_delete(tls_key);
#elif defined(TSRM_WIN32)
TlsFree(tls_key);
@@ -481,6 +485,7 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
if (mutexp) {
#ifdef TSRM_WIN32
DeleteCriticalSection(mutexp);
free(mutexp);
#elif defined(NETWARE)
NXMutexFree(mutexp);
#elif defined(GNUPTH)
+3 -2
View File
@@ -95,14 +95,15 @@ dnl For the thread implementations, we always use --with-*
dnl to maintain consistency
AC_ARG_WITH(tsrm-pth,
[ --with-tsrm-pth[=pth-config] Use GNU Pth.],[
[ --with-tsrm-pth[=pth-config]
Use GNU Pth.],[
TSRM_PTH=$withval
],[
TSRM_PTH=no
])
AC_ARG_WITH(tsrm-st,
[ --with-tsrm-st],[
[ --with-tsrm-st Use SGI's State Threads],[
TSRM_ST=$withval
],[
TSRM_ST=no
+1
View File
@@ -3,6 +3,7 @@
#define HAVE_UTIME 1
#define HAVE_ALLOCA 1
#define HAVE_REALPATH 1
#include <malloc.h>
#include <stdlib.h>
+1 -1
View File
@@ -22,7 +22,7 @@
#ifndef __GNUC__
# ifndef HAVE_ALLOCA_H
# ifdef _AIX
#pragma alloca
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
char *alloca ();
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+63 -50
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -92,7 +92,7 @@ static int php_check_dots(const char *element, int n)
(len >= 2 && !php_check_dots(element, len))
#define IS_DIRECTORY_CURRENT(element, len) \
(len == 1 && ptr[0] == '.')
(len == 1 && element[0] == '.')
#elif defined(NETWARE)
/* NetWare has strtok() (in LibC) and allows both slashes in paths, like Windows --
@@ -111,12 +111,12 @@ static int php_check_dots(const char *element, int n)
#ifndef IS_DIRECTORY_UP
#define IS_DIRECTORY_UP(element, len) \
(len == 2 && memcmp(element, "..", 2) == 0)
(len == 2 && element[0] == '.' && element[1] == '.')
#endif
#ifndef IS_DIRECTORY_CURRENT
#define IS_DIRECTORY_CURRENT(element, len) \
(len == 1 && ptr[0] == '.')
(len == 1 && element[0] == '.')
#endif
/* define this to check semantics */
@@ -303,7 +303,10 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
return (0);
#if !defined(TSRM_WIN32) && !defined(NETWARE)
if (IS_ABSOLUTE_PATH(path, path_length)) {
/* cwd_length can be 0 when getcwd() fails.
* This can happen under solaris when a dir does not have read permissions
* but *does* have execute permissions */
if (IS_ABSOLUTE_PATH(path, path_length) || (state->cwd_length < 1)) {
if (use_realpath && realpath(path, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
@@ -363,58 +366,64 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
}
ptr = tsrm_strtok_r(path_copy, TOKENIZER_STRING, &tok);
while (ptr) {
ptr_length = strlen(ptr);
if (state->cwd_length > 0 || IS_ABSOLUTE_PATH(path, path_length)) {
ptr = tsrm_strtok_r(path_copy, TOKENIZER_STRING, &tok);
while (ptr) {
ptr_length = strlen(ptr);
if (IS_DIRECTORY_UP(ptr, ptr_length)) {
char save;
if (IS_DIRECTORY_UP(ptr, ptr_length)) {
char save;
save = DEFAULT_SLASH;
save = DEFAULT_SLASH;
#define PREVIOUS state->cwd[state->cwd_length - 1]
while (IS_ABSOLUTE_PATH(state->cwd, state->cwd_length) &&
!IS_SLASH(PREVIOUS)) {
save = PREVIOUS;
PREVIOUS = '\0';
state->cwd_length--;
}
while (IS_ABSOLUTE_PATH(state->cwd, state->cwd_length) &&
!IS_SLASH(PREVIOUS)) {
save = PREVIOUS;
PREVIOUS = '\0';
state->cwd_length--;
}
if (!IS_ABSOLUTE_PATH(state->cwd, state->cwd_length)) {
state->cwd[state->cwd_length++] = save;
state->cwd[state->cwd_length] = '\0';
} else {
PREVIOUS = '\0';
state->cwd_length--;
}
} else if (!IS_DIRECTORY_CURRENT(ptr, ptr_length)) {
state->cwd = (char *) realloc(state->cwd, state->cwd_length+ptr_length+1+1);
if (!IS_ABSOLUTE_PATH(state->cwd, state->cwd_length)) {
state->cwd[state->cwd_length++] = save;
state->cwd[state->cwd_length] = '\0';
} else {
PREVIOUS = '\0';
state->cwd_length--;
}
} else if (!IS_DIRECTORY_CURRENT(ptr, ptr_length)) {
state->cwd = (char *) realloc(state->cwd, state->cwd_length+ptr_length+1+1);
#ifdef TSRM_WIN32
/* Windows 9x will consider C:\\Foo as a network path. Avoid it. */
if ((state->cwd[state->cwd_length-1]!='\\' && state->cwd[state->cwd_length-1]!='/') ||
IsDBCSLeadByte(state->cwd[state->cwd_length-2])) {
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
}
/* Windows 9x will consider C:\\Foo as a network path. Avoid it. */
if ((state->cwd[state->cwd_length-1]!='\\' && state->cwd[state->cwd_length-1]!='/') ||
IsDBCSLeadByte(state->cwd[state->cwd_length-2])) {
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
}
#elif defined(NETWARE)
/* If the token is a volume name, it will have colon at the end -- so, no slash before it */
if (ptr[ptr_length-1] != ':') {
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
}
/* If the token is a volume name, it will have colon at the end -- so, no slash before it */
if (ptr[ptr_length-1] != ':') {
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
}
#else
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
#endif
memcpy(&state->cwd[state->cwd_length], ptr, ptr_length+1);
state->cwd_length += ptr_length;
memcpy(&state->cwd[state->cwd_length], ptr, ptr_length+1);
state->cwd_length += ptr_length;
}
ptr = tsrm_strtok_r(NULL, TOKENIZER_STRING, &tok);
}
ptr = tsrm_strtok_r(NULL, TOKENIZER_STRING, &tok);
}
if (state->cwd_length == COPY_WHEN_ABSOLUTE(state->cwd)) {
state->cwd = (char *) realloc(state->cwd, state->cwd_length+1+1);
state->cwd[state->cwd_length] = DEFAULT_SLASH;
state->cwd[state->cwd_length+1] = '\0';
state->cwd_length++;
if (state->cwd_length == COPY_WHEN_ABSOLUTE(state->cwd)) {
state->cwd = (char *) realloc(state->cwd, state->cwd_length+1+1);
state->cwd[state->cwd_length] = DEFAULT_SLASH;
state->cwd[state->cwd_length+1] = '\0';
state->cwd_length++;
}
} else {
state->cwd = (char *) realloc(state->cwd, path_length+1);
memcpy(state->cwd, path, path_length+1);
state->cwd_length = path_length;
}
if (verify_path && verify_path(state)) {
@@ -477,19 +486,23 @@ CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path
CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC)
{
cwd_state new_state;
int retval;
char *retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
retval = virtual_file_ex(&new_state, path, NULL, 1);
if (!retval) {
if (virtual_file_ex(&new_state, path, NULL, 1)==0) {
int len = new_state.cwd_length>MAXPATHLEN-1?MAXPATHLEN-1:new_state.cwd_length;
memcpy(real_path, new_state.cwd, len);
real_path[len] = '\0';
return real_path;
retval = real_path;
} else {
retval = NULL;
}
return NULL;
CWD_STATE_FREE(&new_state);
return retval;
}
CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path TSRMLS_DC)
+30 -5
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -41,6 +41,10 @@
#include <unistd.h>
#endif
#if defined(__osf__) || defined(_AIX)
#include <errno.h>
#endif
#ifdef TSRM_WIN32
#include "readdir.h"
#include <sys/utime.h>
@@ -57,10 +61,10 @@ typedef unsigned short mode_t;
* to account for volume name that is unique to NetWare absolute paths
*/
#define COPY_WHEN_ABSOLUTE(path) 2
#define IS_ABSOLUTE_PATH(path, len) \
(len >= 2 && ((isalpha(path[0]) && path[1] == ':') || (IS_SLASH(path[0]) && IS_SLASH(path[1]))))
#define IS_UNC_PATH(path, len) \
(len >= 2 && IS_SLASH(path[0]) && IS_SLASH(path[1]))
#define IS_ABSOLUTE_PATH(path, len) \
(len >= 2 && ((isalpha(path[0]) && path[1] == ':') || IS_UNC_PATH(path, len)))
#elif defined(NETWARE)
#ifdef HAVE_DIRENT_H
@@ -155,6 +159,25 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC);
CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC);
#endif
/* On AIX & Tru64 when a file does not exist realpath() returns
* NULL, and sets errno to ENOENT. Unlike in other libc implementations
* the destination is not filled and remains undefined. Therefor, we
* must populate it manually using strcpy as done on systems with no
* realpath() function.
*/
#if defined(__osf__) || defined(_AIX)
static char *php_realpath_hack(char *src, char *dest)
{
char *ret;
if ((ret = realpath(src, dest)) == NULL && errno == ENOENT) {
return strcpy(dest, src);
} else {
return ret;
}
}
#endif
#if HAVE_UTIME
CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC);
#endif
@@ -196,8 +219,6 @@ typedef struct _virtual_cwd_globals {
#define VCWD_STAT(path, buff) virtual_stat(path, buff TSRMLS_CC)
#if !defined(TSRM_WIN32) && !defined(NETWARE)
#define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC)
#else
#define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC)
#endif
#define VCWD_UNLINK(path) virtual_unlink(path TSRMLS_CC)
#define VCWD_MKDIR(pathname, mode) virtual_mkdir(pathname, mode TSRMLS_CC)
@@ -234,7 +255,11 @@ typedef struct _virtual_cwd_globals {
#define VCWD_ACCESS(pathname, mode) access(pathname, mode)
#ifdef HAVE_REALPATH
#if defined(__osf__) || defined(_AIX)
#define VCWD_REALPATH(path, real_path) php_realpath_hack(path, real_path)
#else
#define VCWD_REALPATH(path, real_path) realpath(path, real_path)
#endif
#else
#define VCWD_REALPATH(path, real_path) strcpy(real_path, path)
#endif
+10 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -359,4 +359,13 @@ TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) {
return -1;
}
}
TSRM_API char *realpath(char *orig_path, char *buffer)
{
int ret = GetFullPathName(orig_path, _MAX_PATH, buffer, NULL);
if(!ret || ret > _MAX_PATH) {
return NULL;
}
return buffer;
}
#endif
+2 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -101,4 +101,5 @@ TSRM_API void *shmat(int key, const void *shmaddr, int flags);
TSRM_API int shmdt(const void *shmaddr);
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf);
TSRM_API char *realpath(char *orig_path, char *buffer);
#endif
+231 -191
View File
@@ -16,6 +16,9 @@ AC_DEFUN([PHP_ADD_MAKEFILE_FRAGMENT],[
sed -e "s#\$(srcdir)#$ac_srcdir#g" -e "s#\$(builddir)#$ac_builddir#g" $src >> Makefile.fragments
])
AC_DEFUN(PHP_PROG_RE2C,[
AC_CHECK_PROG(RE2C, re2c, re2c, [exit 0;])
])
dnl PHP_DEFINE(WHAT[, value])
dnl
@@ -28,7 +31,7 @@ AC_DEFUN([PHP_DEFINE],[
dnl PHP_INIT_BUILD_SYSTEM
dnl
AC_DEFUN([PHP_INIT_BUILD_SYSTEM],[
mkdir include >/dev/null 2>&1
test -d include || mkdir include
> Makefile.objects
> Makefile.fragments
dnl We need to play tricks here to avoid matching the egrep line itself
@@ -177,73 +180,13 @@ AC_DEFUN([PHP_REMOVE_USR_LIB],[
unset ac_new_flags
for i in [$]$1; do
case [$]i in
-L/usr/lib|-L/usr/lib/) ;;
*) ac_new_flags="[$]ac_new_flags [$]i" ;;
-L/usr/lib|-L/usr/lib/[)] ;;
*[)] ac_new_flags="[$]ac_new_flags [$]i" ;;
esac
done
$1=[$]ac_new_flags
])
AC_DEFUN([PHP_SETUP_OPENSSL],[
if test "$PHP_OPENSSL" = "yes"; then
PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl"
fi
for i in $PHP_OPENSSL; do
if test -r $i/include/openssl/evp.h; then
OPENSSL_INCDIR=$i/include
fi
if test -r $i/lib/libssl.a -o -r $i/lib/libssl.$SHLIB_SUFFIX_NAME; then
OPENSSL_LIBDIR=$i/lib
fi
done
if test -z "$OPENSSL_INCDIR"; then
AC_MSG_ERROR([Cannot find OpenSSL's <evp.h>])
fi
if test -z "$OPENSSL_LIBDIR"; then
AC_MSG_ERROR([Cannot find OpenSSL's libraries])
fi
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS=-I$OPENSSL_INCDIR
AC_MSG_CHECKING([for OpenSSL version])
AC_EGREP_CPP(yes,[
#include <openssl/opensslv.h>
#if OPENSSL_VERSION_NUMBER >= 0x0090500fL
yes
#endif
],[
AC_MSG_RESULT([>= 0.9.5])
],[
AC_MSG_ERROR([OpenSSL version 0.9.5 or greater required.])
])
CPPFLAGS=$old_CPPFLAGS
PHP_ADD_INCLUDE($OPENSSL_INCDIR)
PHP_ADD_LIBPATH($OPENSSL_LIBDIR)
PHP_CHECK_LIBRARY(crypto, CRYPTO_free, [
PHP_ADD_LIBRARY(crypto)
],[
AC_MSG_ERROR([libcrypto not found!])
],[
-L$OPENSSL_LIBDIR
])
PHP_CHECK_LIBRARY(ssl, SSL_CTX_set_ssl_version, [
PHP_ADD_LIBRARY(ssl)
],[
AC_MSG_ERROR([libssl not found!])
],[
-L$OPENSSL_LIBDIR
])
OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR
AC_SUBST(OPENSSL_INCDIR_OPT)
])
dnl PHP_EVAL_LIBLINE(LINE, SHARED-LIBADD)
dnl
dnl Use this macro, if you need to add libraries and or library search
@@ -253,11 +196,11 @@ dnl
AC_DEFUN([PHP_EVAL_LIBLINE],[
for ac_i in $1; do
case $ac_i in
-l*)
-l*[)]
ac_ii=`echo $ac_i|cut -c 3-`
PHP_ADD_LIBRARY($ac_ii,1,$2)
;;
-L*)
-L*[)]
ac_ii=`echo $ac_i|cut -c 3-`
PHP_ADD_LIBPATH($ac_ii,$2)
;;
@@ -273,7 +216,7 @@ dnl
AC_DEFUN([PHP_EVAL_INCLINE],[
for ac_i in $1; do
case $ac_i in
-I*)
-I*[)]
ac_ii=`echo $ac_i|cut -c 3-`
PHP_ADD_INCLUDE($ac_ii)
;;
@@ -337,10 +280,10 @@ AC_DEFUN([PHP_SHLIB_SUFFIX_NAME],[
PHP_SUBST(SHLIB_SUFFIX_NAME)
SHLIB_SUFFIX_NAME=so
case $host_alias in
*hpux*)
*hpux*[)]
SHLIB_SUFFIX_NAME=sl
;;
*darwin*)
*darwin*[)]
SHLIB_SUFFIX_NAME=dylib
;;
esac
@@ -511,17 +454,17 @@ AC_DEFUN([PHP_ARG_ANALYZE_EX],[
ext_output="yes, shared"
ext_shared=yes
case [$]$1 in
shared,*)
shared,*[)]
$1=`echo "[$]$1"|sed 's/^shared,//'`
;;
shared)
shared[)]
$1=yes
;;
no)
no[)]
ext_output=no
ext_shared=no
;;
*)
*[)]
ext_output=yes
ext_shared=no
;;
@@ -531,7 +474,7 @@ PHP_ALWAYS_SHARED([$1])
])
AC_DEFUN([PHP_ARG_ANALYZE],[
ifelse([$3],yes,[PHP_ARG_ANALYZE_EX([$1])])
ifelse([$3],yes,[PHP_ARG_ANALYZE_EX([$1])],[ext_output=ifelse([$]$1,,no,[$]$1)])
ifelse([$2],,,[AC_MSG_RESULT([$ext_output])])
])
@@ -590,7 +533,8 @@ AC_DEFUN([PHP_MODULE_PTR],[
])
AC_DEFUN([PHP_CONFIG_NICE],[
rm -f $1
test -f $1 && mv $1 $1.old
rm -f $1.old
cat >$1<<EOF
#! /bin/sh
#
@@ -653,8 +597,8 @@ main() {
])
])
case $ac_cv_time_r_type in
hpux) AC_DEFINE(PHP_HPUX_TIME_R,1,[Whether you have HP-UX 10.x]) ;;
irix) AC_DEFINE(PHP_IRIX_TIME_R,1,[Whether you have IRIX-style functions]) ;;
hpux[)] AC_DEFINE(PHP_HPUX_TIME_R,1,[Whether you have HP-UX 10.x]) ;;
irix[)] AC_DEFINE(PHP_IRIX_TIME_R,1,[Whether you have IRIX-style functions]) ;;
esac
])
@@ -667,21 +611,6 @@ AC_DEFUN([PHP_SUBST_OLD],[
AC_SUBST($1)
])
AC_DEFUN([PHP_MKDIR_P_CHECK],[
AC_CACHE_CHECK(for working mkdir -p, ac_cv_mkdir_p,[
test -d conftestdir && rm -rf conftestdir
mkdir -p conftestdir/somedir >/dev/null 2>&1
dnl `mkdir -p' must be quiet about creating existing directories
mkdir -p conftestdir/somedir >/dev/null 2>&1
if test "$?" = "0" && test -d conftestdir/somedir; then
ac_cv_mkdir_p=yes
else
ac_cv_mkdir_p=no
fi
rm -rf conftestdir
])
])
AC_DEFUN([PHP_TM_GMTOFF],[
AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
[AC_TRY_COMPILE([#include <sys/types.h>
@@ -701,7 +630,8 @@ AC_DEFUN([PHP_CONFIGURE_PART],[
])
AC_DEFUN([PHP_PROG_SENDMAIL],[
AC_PATH_PROG(PROG_SENDMAIL, sendmail,[], $PATH:/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib)
PHP_ALT_PATH=/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib
AC_PATH_PROG(PROG_SENDMAIL, sendmail,[], $PATH:$PHP_ALT_PATH)
if test -n "$PROG_SENDMAIL"; then
AC_DEFINE(HAVE_SENDMAIL,1,[whether you have sendmail])
fi
@@ -1107,7 +1037,11 @@ dnl
dnl Set libtool variable
dnl
AC_DEFUN([PHP_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) libtool $1'
if test -z "$LIBTOOL"; then
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
else
LIBTOOL="$LIBTOOL $1"
fi
])
dnl
@@ -1133,6 +1067,7 @@ AC_DEFUN([PHP_CHECK_CC_OPTION],[
AC_MSG_RESULT([no])
fi
fi
rm -rf conftest*
])
AC_DEFUN([PHP_REGEX],[
@@ -1195,7 +1130,9 @@ main() {
int res = 0;
res = res || (snprintf(buf, 2, "marcus") != 6);
res = res || (buf[1] != '\0');
res = res || (snprintf(buf, 0, "boerger") != 7);
/* Implementations may consider this as an encoding error */
snprintf(buf, 0, "boerger");
/* However, they MUST ignore the pointer */
res = res || (buf[0] != 'm');
res = res || (snprintf(NULL, 0, "boerger") != 7);
res = res || (snprintf(buf, sizeof(buf), "%f", 0.12345678) != 8);
@@ -1216,20 +1153,21 @@ main() {
fi
])
dnl PHP_SHARED_MODULE(module-name, object-var, build-dir)
dnl PHP_SHARED_MODULE(module-name, object-var, build-dir, cxx)
dnl
dnl Basically sets up the link-stage for building module-name
dnl from object_var in build-dir.
dnl
AC_DEFUN([PHP_SHARED_MODULE],[
install_modules="install-modules"
PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.la"
PHP_SUBST($2)
cat >>Makefile.objects<<EOF
\$(phplibdir)/$1.la: $3/$1.la
\$(LIBTOOL) --mode=install cp $3/$1.la \$(phplibdir)
$3/$1.la: \$($2) \$(translit($1,a-z-,A-Z_)_SHARED_DEPENDENCIES)
\$(LIBTOOL) --mode=link \$(CC) \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath \$(phplibdir) \$(EXTRA_LDFLAGS) \$($2) \$(translit($1,a-z-,A-Z_)_SHARED_LIBADD)
$3/$1.la: \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_DEPENDENCIES)
\$(LIBTOOL) --mode=link ifelse($4,,[\$(CC)],[\$(CXX)]) \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath \$(phplibdir) \$(EXTRA_LDFLAGS) \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)
EOF
])
@@ -1245,10 +1183,10 @@ AC_DEFUN([PHP_SELECT_SAPI],[
PHP_SAPI=$1
case "$2" in
static) PHP_BUILD_STATIC;;
shared) PHP_BUILD_SHARED;;
bundle) PHP_BUILD_BUNDLE;;
program) PHP_BUILD_PROGRAM($5);;
static[)] PHP_BUILD_STATIC;;
shared[)] PHP_BUILD_SHARED;;
bundle[)] PHP_BUILD_BUNDLE;;
program[)] PHP_BUILD_PROGRAM($5);;
esac
ifelse($3,,,[PHP_ADD_SOURCES([sapi/$1],[$3],[$4],[sapi])])
@@ -1256,7 +1194,7 @@ AC_DEFUN([PHP_SELECT_SAPI],[
dnl deprecated
AC_DEFUN([PHP_EXTENSION],[
sources=`awk -f $abs_srcdir/scan_makefile_in.awk < []PHP_EXT_SRCDIR($1)[]/Makefile.in`
sources=`$AWK -f $abs_srcdir/build/scan_makefile_in.awk < []PHP_EXT_SRCDIR($1)[]/Makefile.in`
PHP_NEW_EXTENSION($1, $sources, $2, $3)
@@ -1270,14 +1208,11 @@ AC_DEFUN([PHP_ADD_BUILD_DIR],[
])
AC_DEFUN([PHP_GEN_BUILD_DIRS],[
PHP_MKDIR_P_CHECK
if test "$ac_cv_mkdir_p" = "yes"; then
mkdir -p $BUILD_DIR
fi
$php_shtool mkdir -p $BUILD_DIR
])
dnl
dnl PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags]]])
dnl PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags[, cxx]]]])
dnl
dnl Includes an extension in the build.
dnl
@@ -1307,7 +1242,7 @@ dnl ---------------------------------------------- Static module
if test "$3" = "shared" || test "$3" = "yes"; then
dnl ---------------------------------------------- Shared module
PHP_ADD_SOURCES_X(PHP_EXT_DIR($1),$2,$ac_extra,shared_objects_$1,yes)
PHP_SHARED_MODULE($1,shared_objects_$1, $ext_builddir)
PHP_SHARED_MODULE($1,shared_objects_$1, $ext_builddir, $6)
AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z_-,A-Z__), 1, Whether to build $1 as dynamic module)
fi
fi
@@ -1337,13 +1272,13 @@ AC_DEFUN([PHP_SOLARIS_PIC_WEIRDNESS],[
if test -n "$EXT_SHARED"; then
os=`uname -sr 2>/dev/null`
case $os in
"SunOS 5.6"|"SunOS 5.7")
"SunOS 5.6"|"SunOS 5.7"[)]
case $CC in
gcc*|egcs*) CFLAGS="$CFLAGS -fPIC";;
*) CFLAGS="$CFLAGS -fpic";;
*[)] CFLAGS="$CFLAGS -fpic";;
esac
AC_MSG_RESULT([yes]);;
*)
*[)]
AC_MSG_RESULT([no]);;
esac
else
@@ -1381,8 +1316,8 @@ AC_DEFUN([PHP_SYS_LFS],
ac_shellvars='CPPFLAGS LDFLAGS LIBS'
for ac_shellvar in $ac_shellvars; do
case $ac_shellvar in
CPPFLAGS) ac_lfsvar=LFS_CFLAGS ;;
*) ac_lfsvar=LFS_$ac_shellvar ;;
CPPFLAGS[)] ac_lfsvar=LFS_CFLAGS ;;
*[)] ac_lfsvar=LFS_$ac_shellvar ;;
esac
eval test '"${'$ac_shellvar'+set}"' = set && ac_set=$ac_shellvar
(getconf $ac_lfsvar) >/dev/null 2>&1 || { ac_result=no; break; }
@@ -1391,14 +1326,14 @@ AC_DEFUN([PHP_SYS_LFS],
eval ac_test_$ac_shellvar=\$ac_getconf
done
case "$ac_result$ac_getconfs" in
yes) ac_result=no ;;
yes[)] ac_result=no ;;
esac
case "$ac_result$ac_set" in
yes?*) ac_result="yes, but $ac_set is already set, so use its settings"
yes?*[)] ac_result="yes, but $ac_set is already set, so use its settings"
esac
AC_MSG_RESULT([$ac_result])
case $ac_result in
yes)
yes[)]
for ac_shellvar in $ac_shellvars; do
eval $ac_shellvar=\$ac_test_$ac_shellvar
done ;;
@@ -1462,6 +1397,70 @@ int main(void) {
fi
])
dnl Some systems, notably Solaris, cause getcwd() or realpath to fail if a
dnl component of the path has execute but not read permissions
AC_DEFUN([PHP_BROKEN_GETCWD],[
AC_MSG_CHECKING([for broken getcwd])
os=`uname -sr 2>/dev/null`
case $os in
SunOS*[)]
AC_DEFINE(HAVE_BROKEN_GETCWD,1, [Define if system has broken getcwd])
AC_MSG_RESULT([yes]);;
*[)]
AC_MSG_RESULT([no]);;
esac
])
AC_DEFUN([PHP_BROKEN_GLIBC_FOPEN_APPEND],[
AC_MSG_CHECKING([for broken libc stdio])
AC_CACHE_VAL(have_broken_glibc_fopen_append,[
AC_TRY_RUN([
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp;
long position;
char *filename = "/tmp/phpglibccheck";
fp = fopen(filename, "w");
if (fp == NULL) {
perror("fopen");
exit(2);
}
fputs("foobar", fp);
fclose(fp);
fp = fopen(filename, "a+");
position = ftell(fp);
fclose(fp);
unlink(filename);
if (position == 0)
return 1;
return 0;
}
],
[have_broken_glibc_fopen_append=no],
[have_broken_glibc_fopen_append=yes ],
AC_TRY_COMPILE([
#include <features.h>
],[
#if !__GLIBC_PREREQ(2,2)
choke me
#endif
],
[have_broken_glibc_fopen_append=yes],
[have_broken_glibc_fopen_append=no ])
)])
if test "$have_broken_glibc_fopen_append" = "yes"; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_BROKEN_GLIBC_FOPEN_APPEND,1, [Define if your glibc borks on fopen with mode a+])
else
AC_MSG_RESULT(no)
fi
])
AC_DEFUN([PHP_FOPENCOOKIE],[
AC_CHECK_FUNC(fopencookie, [ have_glibc_fopencookie=yes ])
@@ -1548,12 +1547,19 @@ dnl Wrapper for AC_CHECK_LIB
dnl
AC_DEFUN([PHP_CHECK_LIBRARY], [
save_old_LDFLAGS=$LDFLAGS
LDFLAGS="$5 $LDFLAGS"
ac_stuff="$5"
save_ext_shared=$ext_shared
ext_shared=yes
PHP_EVAL_LIBLINE([$]ac_stuff, LDFLAGS)
AC_CHECK_LIB([$1],[$2],[
LDFLAGS=$save_old_LDFLAGS
ext_shared=$save_ext_shared
$3
],[
LDFLAGS=$save_old_LDFLAGS
ext_shared=$save_ext_shared
unset ac_cv_func_$1
$4
])dnl
])
@@ -1578,6 +1584,112 @@ AC_DEFUN([PHP_CHECK_FRAMEWORK], [
])
])
dnl
dnl PHP_SETUP_OPENSSL(shared-add [, action-found [, action-not-found]])
dnl
dnl Common setup macro for openssl
dnl
AC_DEFUN([PHP_SETUP_OPENSSL],[
found_openssl=no
unset OPENSSL_INCDIR
unset OPENSSL_LIBDIR
dnl First try to find pkg-config
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
dnl If pkg-config is found try using it
if test "$PHP_OPENSSL" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then
if $PKG_CONFIG --atleast-version=0.9.6 openssl; then
found_openssl=yes
OPENSSL_LIBS=`$PKG_CONFIG --libs openssl`
OPENSSL_INCS=`$PKG_CONFIG --cflags-only-I openssl`
OPENSSL_INCDIR=`$PKG_CONFIG --variable=includedir openssl`
else
AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.])
fi
if test -n "$OPENSSL_LIBS" && test -n "$OPENSSL_INCS"; then
PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1)
PHP_EVAL_INCLINE($OPENSSL_INCS)
fi
else
dnl If pkg-config fails for some reason, revert to the old method
if test "$PHP_OPENSSL" = "yes"; then
PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl"
fi
for i in $PHP_OPENSSL; do
if test -r $i/include/openssl/evp.h; then
OPENSSL_INCDIR=$i/include
fi
if test -r $i/lib/libssl.a -o -r $i/lib/libssl.$SHLIB_SUFFIX_NAME; then
OPENSSL_LIBDIR=$i/lib
fi
test -n "$OPENSSL_INCDIR" && test -n "$OPENSSL_LIBDIR" && break
done
if test -z "$OPENSSL_INCDIR"; then
AC_MSG_ERROR([Cannot find OpenSSL's <evp.h>])
fi
if test -z "$OPENSSL_LIBDIR"; then
AC_MSG_ERROR([Cannot find OpenSSL's libraries])
fi
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS=-I$OPENSSL_INCDIR
AC_MSG_CHECKING([for OpenSSL version])
AC_EGREP_CPP(yes,[
#include <openssl/opensslv.h>
#if OPENSSL_VERSION_NUMBER >= 0x0090600fL
yes
#endif
],[
AC_MSG_RESULT([>= 0.9.6])
],[
AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.])
])
CPPFLAGS=$old_CPPFLAGS
PHP_ADD_INCLUDE($OPENSSL_INCDIR)
PHP_CHECK_LIBRARY(crypto, CRYPTO_free, [
PHP_ADD_LIBRARY(crypto,,$1)
],[
AC_MSG_ERROR([libcrypto not found!])
],[
-L$OPENSSL_LIBDIR
])
old_LIBS=$LIBS
LIBS="$LIBS -lcrypto"
PHP_CHECK_LIBRARY(ssl, SSL_CTX_set_ssl_version, [
found_openssl=yes
],[
AC_MSG_ERROR([libssl not found!])
],[
-L$OPENSSL_LIBDIR
])
LIBS=$old_LIBS
PHP_ADD_LIBRARY(ssl,,$1)
PHP_ADD_LIBPATH($OPENSSL_LIBDIR, $1)
fi
dnl For apache 1.3.x static build
OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR
AC_SUBST(OPENSSL_INCDIR_OPT)
if test "$found_openssl" = "yes"; then
ifelse([$2],[],:,[$2])
ifelse([$3],[],,[else $3])
fi
])
dnl
dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]])
dnl
@@ -1712,12 +1824,12 @@ AC_DEFUN([PHP_CHECK_FUNC],[
AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ])
case $found in
yes)
yes[)]
PHP_DEF_HAVE($1)
ac_cv_func_$1=yes
;;
ifelse($#,1,,[
*) PHP_CHECK_FUNC_LIB($@) ;;
*[)] PHP_CHECK_FUNC_LIB($@) ;;
])
esac
])
@@ -1738,75 +1850,3 @@ IFS="- /.
APACHE_VERSION=`expr [$]4 \* 1000000 + [$]5 \* 1000 + [$]6`
])
dnl PHP_PROG_SED
dnl ------------
dnl Check for a fully-functional sed program, that truncates
dnl as few characters as possible. Prefer GNU sed if found.
dnl
dnl Based on LT_AC_PROG_SED (libtool CVS)
dnl
AC_DEFUN([PHP_PROG_SED],
[AC_MSG_CHECKING([for working sed])
AC_CACHE_VAL(ac_cv_path_sed,
[
# Create a temporary directory, and hook for its removal unless debugging.
$debug ||
{
trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
trap '{ (exit 1); exit 1; }' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
: ${TMPDIR=/tmp}
{
tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
tmp=$TMPDIR/sed$$-$RANDOM
(umask 077 && mkdir $tmp)
} ||
{
echo "$me: cannot create a temporary directory in $TMPDIR" >&2
{ (exit 1); exit 1; }
}
_max=0
_count=0
# Use the sed found in PATH, skip the rest
_sed=sed
# Check for GNU sed and select it if it is found.
if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
ac_cv_path_sed=${_sed}
else
cat /dev/null > "$tmp/sed.in"
_count=0
echo -n "0123456789" >"$tmp/sed.in"
while true; do
cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
mv "$tmp/sed.tmp" "$tmp/sed.in"
cp "$tmp/sed.in" "$tmp/sed.nl"
echo >>"$tmp/sed.nl"
${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
# 10000 chars as input seems more than enough
test $_count -gt 10 && break
_count=`expr $_count + 1`
if test $_count -gt $_max; then
_max=$_count
ac_cv_path_sed=${_sed}
fi
done
fi
rm -rf "$tmp"
])
if test -z "$ac_cv_path_sed"; then
AC_MSG_ERROR([Could not find working sed on this system. Please install GNU sed.])
else
SED=$ac_cv_path_sed
PHP_SUBST(SED)
AC_MSG_RESULT([$SED])
fi
])
+7 -2
View File
@@ -52,8 +52,13 @@ $(TOUCH_FILES):
touch $(TOUCH_FILES)
aclocal.m4: configure.in acinclude.m4
aclocal 2>&1 | $(SUPPRESS_WARNINGS)
@echo rebuilding $@
@libtoolize=`./build/shtool path glibtoolize libtoolize`; \
$$libtoolize --copy --automake; \
ltpath=`dirname $$libtoolize`; \
ltfile=`cd $$ltpath/../share/aclocal; pwd`/libtool.m4; \
cat acinclude.m4 $$ltfile > $@
configure: aclocal.m4 configure.in $(config_m4_files)
@echo rebuilding $@
@autoconf 2>&1 | $(SUPPRESS_WARNINGS)
+25 -39
View File
@@ -12,11 +12,11 @@
# | obtain it through the world-wide-web, please send a note to |
# | license@php.net so we can mail you a copy immediately. |
# +----------------------------------------------------------------------+
# | Authors: Stig Bakken <ssb@fast.no> |
# | Authors: Stig Bakken <ssb@php.net> |
# | Sascha Schumann <sascha@schumann.cx> |
# +----------------------------------------------------------------------+
#
# $Id: buildcheck.sh,v 1.21 2002-10-30 11:42:22 sas Exp $
# $Id: buildcheck.sh,v 1.21.2.6 2003-09-28 13:37:59 tal Exp $
#
echo "buildconf: checking installation..."
@@ -24,7 +24,7 @@ echo "buildconf: checking installation..."
stamp=$1
# autoconf 2.13 or newer
ac_version=`autoconf --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
ac_version=`autoconf --version 2>/dev/null|head -n 1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
if test -z "$ac_version"; then
echo "buildconf: autoconf not found."
echo " You need autoconf version 2.13 or newer installed"
@@ -50,56 +50,42 @@ if test "$1" = "2" && test "$2" -ge "50"; then
stamp=
fi
# automake 1.4 or newer
am_version=`automake --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
am_version_clean=`echo $am_version|sed -e 's/-p[0-9]*$//'`
if test "$am_version" = ""; then
echo "buildconf: automake not found."
echo " You need automake version 1.4 or newer installed"
echo " to build PHP from CVS."
exit 1
fi
IFS=.; set $am_version_clean; IFS=' '
if test "$1" = "1" -a "$2" -lt "4" || test "$1" -lt "1"; then
echo "buildconf: automake version $am_version found."
echo " You need automake version 1.4 or newer installed"
echo " to build PHP from CVS."
exit 1
else
echo "buildconf: automake version $am_version (ok)"
fi
# libtool 1.4 or newer
# Prefer glibtool over libtool for Mac OS X compatibility
libtool=`which glibtool 2> /dev/null`
if test ! -f "$libtool"; then libtool=`which libtool`; fi
lt_pversion=`$libtool --version 2>/dev/null|sed -n -e 's/^[^0-9]*//' -e 1's/[- ].*//p'`
# libtoolize 1.4.3 or newer
# Prefer glibtoolize over libtoolize for Mac OS X compatibility
libtoolize=`./build/shtool path glibtoolize libtoolize 2> /dev/null`
lt_pversion=`$libtoolize --version 2>/dev/null|head -n 1|sed -e 's/^[^0-9]*//'`
if test "$lt_pversion" = ""; then
echo "buildconf: libtool not found."
echo " You need libtool version 1.4 or newer installed"
echo " You need libtool version 1.4.3 or newer installed"
echo " to build PHP from CVS."
exit 1
fi
lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
IFS=.; set $lt_version; IFS=' '
IFS=.; set $lt_pversion; IFS=' '
if test "$1" -gt "1" || test "$2" -ge "4";
if test "$3" = ""; then
third=0
else
third=$3
fi
if test "$1" -gt "1" || test "$2" -ge "5" || (test "$2" -ge "4" && test "$third" -ge "3")
then
echo "buildconf: libtool version $lt_pversion (ok)"
else
echo "buildconf: libtool version $lt_pversion found."
echo " You need libtool version 1.4 or newer installed"
echo " You need libtool version 1.4.3 or newer installed"
echo " to build PHP from CVS."
exit 1
fi
am_prefix=`which automake | sed -e 's#/[^/]*/[^/]*$##'`
lt_prefix=`echo $libtool | sed -e 's#/[^/]*/[^/]*$##'`
if test "$am_prefix" != "$lt_prefix"; then
echo "WARNING: automake and libtool are installed in different"
echo " directories. This may cause aclocal to fail."
echo " continuing anyway"
ltpath=`echo $libtoolize | sed -e 's#/[^/]*/[^/]*$##'`
ltfile="$ltpath/share/aclocal/libtool.m4"
if test -r "$ltfile"; then
:
else
echo "buildconf: $ltfile does not exist."
echo " Please reinstall libtool."
exit 1
fi
test -n "$stamp" && touch $stamp
File renamed without changes.
File renamed without changes.
+44 -4
View File
@@ -1,20 +1,60 @@
#!/bin/sh
# $Id$
eval `grep '^EXTRA_VERSION=' configure.in`
case "$EXTRA_VERSION" in
*-dev)
dev=1
;;
*)
dev=0
;;
esac
devok=0
while test $# -gt 0; do
if test "$1" = "--copy"; then
automake_flags=--copy
fi
if test "$1" = "--ZendEngine2"; then
ZENDDIR=ZendEngine2
echo "Using Zend Engine 2 code"
fi
if test "$1" = "--force"; then
devok=1
echo "Forcing buildconf"
fi
shift
done
if test "$dev" = "0" -a "$devok" = "0"; then
echo "You should not run buildconf in a release package."
echo "use buildconf --force to override this check."
exit 1
fi
if test -z "$ZENDDIR"; then
if grep "PHP_MAJOR_VERSION 5" main/php_version.h >/dev/null; then
v=5
else
v=4
fi
if test "$v" = "5"; then
if test -r "Zend/OBJECTS2_HOWTO"; then
:
else
mv Zend ZendEngine1 2>/dev/null
mv ZendEngine2 Zend
fi
else
if test -r "Zend/zend_execute_globals.h"; then
:
else
mv Zend ZendEngine2 2>/dev/null
mv ZendEngine1 Zend
fi
fi
ZENDDIR=Zend
echo "using default Zend directory"
fi
+69 -31
View File
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002 Free Software Foundation, Inc.
timestamp='2002-05-29'
timestamp='2002-10-21'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -88,30 +88,40 @@ if test $# != 0; then
exit 1
fi
trap 'exit 1' 1 2 15
dummy=dummy-$$
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# CC_FOR_BUILD -- compiler used by this script.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int dummy(){}" > $dummy.c ;
# This shell variable is my proudest work .. or something. --bje
set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
|| (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
dummy=$tmpdir/dummy ;
files="$dummy.c $dummy.o $dummy.rel $dummy" ;
trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
if test $? = 0 ; then
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
rm -f $dummy.c $dummy.o $dummy.rel ;
rm -f $files ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac'
esac ;
unset files'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
@@ -221,6 +231,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
eval $set_cc_for_build
cat <<EOF >$dummy.s
.data
\$Lformat:
@@ -246,10 +257,9 @@ main:
jsr \$26,exit
.end main
EOF
eval $set_cc_for_build
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
$CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
if test "$?" = 0 ; then
case `./$dummy` in
case `$dummy` in
0-0)
UNAME_MACHINE="alpha"
;;
@@ -271,9 +281,12 @@ EOF
2-1307)
UNAME_MACHINE="alphaev68"
;;
3-1307)
UNAME_MACHINE="alphaev7"
;;
esac
fi
rm -f $dummy.s $dummy
rm -f $dummy.s $dummy && rmdir $tmpdir
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha\ *:Windows_NT*:*)
@@ -314,6 +327,10 @@ EOF
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
DRS?6000:UNIX_SV:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7 && exit 0 ;;
esac ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
@@ -420,15 +437,18 @@ EOF
exit (-1);
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy \
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
$CC_FOR_BUILD -o $dummy $dummy.c \
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
exit 0 ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit 0 ;;
Night_Hawk:*:*:PowerMAX_OS)
echo powerpc-harris-powermax
exit 0 ;;
@@ -504,8 +524,8 @@ EOF
exit(0);
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
@@ -603,9 +623,9 @@ EOF
exit (0);
}
EOF
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
rm -f $dummy.c $dummy
rm -f $dummy.c $dummy && rmdir $tmpdir
fi ;;
esac
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -641,8 +661,8 @@ EOF
exit (0);
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -725,7 +745,19 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
# Determine whether the default compiler uses glibc.
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include <features.h>
#if __GLIBC__ >= 2
LIBC=gnu
#else
LIBC=
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
rm -f $dummy.c && rmdir $tmpdir
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
@@ -786,7 +818,7 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
rm -f $dummy.c
rm -f $dummy.c && rmdir $tmpdir
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
;;
ppc:Linux:*:*)
@@ -849,7 +881,7 @@ EOF
;;
a.out-i386-linux)
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
exit 0 ;;
exit 0 ;;
coff-i386)
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
exit 0 ;;
@@ -882,7 +914,7 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
rm -f $dummy.c
rm -f $dummy.c && rmdir $tmpdir
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
;;
@@ -960,6 +992,9 @@ EOF
# "miniframe"
echo m68010-convergent-sysv
exit 0 ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
@@ -1053,6 +1088,9 @@ EOF
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
exit 0 ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit 0 ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
@@ -1073,7 +1111,7 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit 0 ;;
NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
*:NonStop-UX:*:*)
@@ -1245,8 +1283,8 @@ main ()
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
# Apollos put the system type in the environment.
Vendored
+69 -42
View File
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002 Free Software Foundation, Inc.
timestamp='2002-05-28'
timestamp='2002-09-05'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -118,7 +118,7 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -229,24 +229,34 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| c4x | clipper \
| clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k \
| m32r | m68000 | m68k | m88k | mcore \
| mips | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
| mips64vr4100 | mips64vr4100el | mips64vr4300 \
| mips64vr4300el | mips64vr5000 | mips64vr5000el \
| mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \
| mipsisa32 | mipsisa64 \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64vr | mips64vrel \
| mips64orion | mips64orionel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mipsisa32 | mipsisa32el \
| mipsisa64 | mipsisa64el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| ns16k | ns32k \
| openrisc | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| sh | sh[34] | sh[34]eb | shbe | shle | sh64 \
| sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
| strongarm \
| tahoe | thumb | tic80 | tron \
@@ -284,31 +294,42 @@ case $basic_machine in
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
| bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c54x-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \
| clipper-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fr30-* | fx80-* \
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* \
| m32r-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
| mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
| mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \
| mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| mips64vr-* | mips64vrel-* \
| mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39 | mipstx39el \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* | sh64-* \
| sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
| tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
@@ -728,13 +749,13 @@ case $basic_machine in
pbb)
basic_machine=m68k-tti
;;
pc532 | pc532-*)
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
pentiumpro | p6 | 6x86 | athlon)
pentiumpro | p6 | 6x86 | athlon | athlon_*)
basic_machine=i686-pc
;;
pentiumii | pentium2)
@@ -755,22 +776,22 @@ case $basic_machine in
power) basic_machine=power-ibm
;;
ppc) basic_machine=powerpc-unknown
;;
;;
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
;;
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
;;
;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
;;
;;
ppc64le-* | powerpc64little-*)
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
@@ -801,6 +822,12 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
sb1)
basic_machine=mipsisa64sb1-unknown
;;
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
sequent)
basic_machine=i386-sequent
;;
@@ -866,7 +893,7 @@ case $basic_machine in
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
sv1)
sv1)
basic_machine=sv1-cray
os=-unicos
;;
@@ -886,6 +913,10 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
tic4x | c4x*)
basic_machine=tic4x-unknown
os=-coff
;;
tic54x | c54x*)
basic_machine=tic54x-unknown
os=-coff
@@ -924,8 +955,8 @@ case $basic_machine in
os=-vms
;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
basic_machine=f301-fujitsu
;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
@@ -950,7 +981,7 @@ case $basic_machine in
basic_machine=i386-pc
os=-windows32-msvcrt
;;
xps | xps100)
xps | xps100)
basic_machine=xps100-honeywell
;;
ymp)
@@ -996,7 +1027,7 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
sh3 | sh4 | sh3eb | sh4eb)
sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
basic_machine=sh-unknown
;;
sh64)
@@ -1005,7 +1036,7 @@ case $basic_machine in
sparc | sparcv9 | sparcv9b)
basic_machine=sparc-sun
;;
cydra)
cydra)
basic_machine=cydra-cydrome
;;
orion)
@@ -1020,10 +1051,6 @@ case $basic_machine in
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
c4x*)
basic_machine=c4x-none
os=-coff
;;
*-unknown)
# Make sure to match an already-canonicalized machine name.
;;
@@ -1155,7 +1182,7 @@ case $os in
os=-rtmk-nova
;;
-ns2 )
os=-nextstep2
os=-nextstep2
;;
-nsk*)
os=-nsk
@@ -1194,8 +1221,8 @@ case $os in
-xenix)
os=-xenix
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
-none)
;;
@@ -1232,7 +1259,7 @@ case $basic_machine in
pdp10-*)
os=-tops20
;;
pdp11-*)
pdp11-*)
os=-none
;;
*-dec | vax-*)
@@ -1325,19 +1352,19 @@ case $basic_machine in
*-next)
os=-nextstep3
;;
*-gould)
*-gould)
os=-sysv
;;
*-highlevel)
*-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
*-sgi)
*-sgi)
os=-irix
;;
*-siemens)
*-siemens)
os=-sysv4
;;
*-masscomp)
+165 -107
View File
@@ -30,9 +30,6 @@ dnl -------------------------------------------------------------------------
AC_PREREQ(2.13)
AC_INIT(README.CVS-RULES)
dnl check for working sed
PHP_PROG_SED
PHP_CONFIG_NICE(config.nice)
for arg in $0 "$@"; do
CONFIGURE_COMMAND="$CONFIGURE_COMMAND '$arg'"
@@ -43,8 +40,8 @@ AC_CONFIG_HEADER(main/php_config.h)
MAJOR_VERSION=4
MINOR_VERSION=3
RELEASE_VERSION=0
EXTRA_VERSION=""
RELEASE_VERSION=5
EXTRA_VERSION="RC3"
VERSION="$MAJOR_VERSION.$MINOR_VERSION.$RELEASE_VERSION$EXTRA_VERSION"
dnl Define where extension directories are located in the configure context
@@ -64,16 +61,15 @@ echo "#define PHP_MINOR_VERSION $MINOR_VERSION" >> php_version.h.new
echo "#define PHP_RELEASE_VERSION $RELEASE_VERSION" >> php_version.h.new
echo "#define PHP_EXTRA_VERSION \"$EXTRA_VERSION\"" >> php_version.h.new
echo "#define PHP_VERSION \"$PHP_VERSION\"" >> php_version.h.new
cmp php_version.h.new php_version.h >/dev/null 2>&1
cmp php_version.h.new $srcdir/main/php_version.h >/dev/null 2>&1
if test $? -ne 0 ; then
rm -f php_version.h && mv php_version.h.new php_version.h && \
echo 'Updated php_version.h'
rm -f $srcdir/main/php_version.h && mv php_version.h.new $srcdir/main/php_version.h && \
echo 'Updated main/php_version.h'
else
rm -f php_version.h.new
fi
dnl Catch common errors here to save a few seconds of our users' time
dnl -------------------------------------------------------------------------
@@ -91,12 +87,12 @@ dnl -------------------------------------------------------------------------
cwd=`pwd`
PHP_INIT_BUILD_SYSTEM
php_shtool=$srcdir/build/shtool
T_MD=`$php_shtool echo -n -e %B`
T_ME=`$php_shtool echo -n -e %b`
PHP_INIT_BUILD_SYSTEM
dnl We want this one before the checks, so the checks can modify CFLAGS.
test -z "$CFLAGS" && auto_cflags=1
@@ -131,6 +127,7 @@ dnl AC_PROG_CXXCPP
dnl check for -R, etc. switch
PHP_RUNPATH_SWITCH
PHP_PROG_RE2C
AC_PROG_RANLIB
AC_PROG_LN_S
AC_PROG_AWK
@@ -139,9 +136,9 @@ if test "$YACC" != "bison -y"; then
AC_MSG_WARN([You will need bison if you want to regenerate the PHP parsers.])
else
AC_MSG_CHECKING([bison version])
set `bison --version| grep 'GNU Bison' | cut -d ' ' -f 4 | sed -e 's/\./ /'`
if test "${1}" = "1" -a "${2}" -lt "28"; then
AC_MSG_WARN(You will need bison 1.28 if you want to regenerate the Zend parser (found ${1}.${2}).)
set `bison --version| grep 'GNU Bison' | cut -d ' ' -f 4 | sed -e 's/\./ /'|tr -d a-z`
if test "${1}" -ne "1" -o "(" "${2}" != "28" -a "${2}" != "35" -a "${2}" != "75" -a "${2}" != "875" ")"; then
AC_MSG_WARN(You will need bison 1.28, 1.35, 1.75 or 1.875 if you want to regenerate the Zend parser (found ${1}.${2}).)
fi
AC_MSG_RESULT(${1}.${2} (ok))
fi
@@ -159,11 +156,19 @@ if test "$ac_cv_c_const" = "yes" ; then
fi
AC_MSG_CHECKING([flex version])
set `echo "" | $LEX -V -v --version 2>/dev/null | grep 'version' | cut -d ' ' -f 3 | sed -e 's/\./ /g' | sed -e 's/[^0-9 ]//g'`
if test "${1}" != "2" -o "${2}" != "5" -o "${3}" -lt "4"; then
AC_MSG_WARN(You will need flex 2.5.4 or later if you want to regenerate Zend/PHP lexical parsers.)
fi
if test "$LEX" ;then
flexvers=`echo "" | $LEX -V -v --version 2>/dev/null |
sed -e 's/^.* //' -e 's/\./ /g'`
if test ! -z "$flexvers"; then
set $flexvers
if test "${1}" != "2" -o "${2}" != "5" -o "${3}" -lt "4"; then
AC_MSG_WARN(You will need flex 2.5.4 or later if you want to regenerate Zend/PHP lexical parsers.)
fi
fi
AC_MSG_RESULT(${1}.${2}.${3} (ok))
else
AC_MSG_WARN(You will need flex 2.5.4 or later if you want to regenerate Zend/PHP lexical parsers.)
fi
dnl Platform-specific compile settings.
dnl -------------------------------------------------------------------------
@@ -184,6 +189,7 @@ case $host_alias in
CPPFLAGS="$CPPFLAGS -D_BSD_TIMEOFDAY_FLAVOR";;
*darwin*|*rhapsody*)
CPPFLAGS="$CPPFLAGS -no-cpp-precomp"
AC_DEFINE(BIND_8_COMPAT, 1, [Enabling BIND8 compatibility for Panther])
php_multiple_shlib_versions_ok=yes;;
*beos*)
beos_threads=1
@@ -231,7 +237,7 @@ SAPI_LIBTOOL=libphp4.la
PHP_CONFIGURE_PART(Configuring SAPI modules)
esyscmd(./scripts/config-stubs sapi)
esyscmd(./build/config-stubs sapi)
dnl Show which main SAPI was selected
AC_MSG_CHECKING([for chosen SAPI module])
@@ -312,17 +318,14 @@ dnl -------------------------------------------------------------------------
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_DIRENT
dnl In QNX opendir resides in libc but dirent.h is still required
if test "`uname -s 2>/dev/null`" != "QNX"; then
AC_HEADER_DIRENT
else
AC_CHECK_HEADERS(dirent.h)
fi
PHP_MISSING_FCLOSE_DECL
dnl QNX requires unix.h to allow functions in libunix to work properly
AC_CHECK_HEADERS([ \
dirent.h \
ApplicationServices/ApplicationServices.h \
sys/param.h \
sys/types.h \
sys/time.h \
netinet/in.h \
@@ -366,7 +369,11 @@ unix.h \
utime.h \
sys/utsname.h \
sys/ipc.h \
dlfcn.h
],[],[],[
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
@@ -382,6 +389,8 @@ sys/ipc.h \
])
PHP_FOPENCOOKIE
PHP_BROKEN_GETCWD
PHP_BROKEN_GLIBC_FOPEN_APPEND
dnl Checks for typedefs, structures, and compiler characteristics.
dnl -------------------------------------------------------------------------
@@ -444,6 +453,7 @@ dnl -------------------------------------------------------------------------
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(
alphasort \
asctime_r \
chroot \
ctime_r \
@@ -472,6 +482,7 @@ memmove \
mkstemp \
mmap \
nl_langinfo \
perror \
poll \
putenv \
realpath \
@@ -479,6 +490,7 @@ random \
rand_r \
regcomp \
res_search \
scandir \
setitimer \
setlocale \
localeconv \
@@ -510,7 +522,7 @@ vsnprintf \
dnl Check for getaddrinfo, should be a better way, but...
AC_CACHE_CHECK([for getaddrinfo], ac_cv_func_getaddrinfo,
[AC_TRY_COMPILE([#include <netdb.h>],
[AC_TRY_LINK([#include <netdb.h>],
[struct addrinfo *g,h;g=&h;getaddrinfo("","",g,&g);],
ac_cv_func_getaddrinfo=yes, ac_cv_func_getaddrinfo=no)])
if test "$ac_cv_func_getaddrinfo" = yes; then
@@ -554,7 +566,7 @@ dnl ## In diversion 4 we check user-configurable general settings.
dnl General settings.
dnl -------------------------------------------------------------------------
PHP_CONFIGURE_PART(General settings)
PHP_HELP_SEPARATOR([General settings:])
@@ -604,27 +616,6 @@ if test "$PHP_CONFIG_FILE_SCAN_DIR" = "DEFAULT"; then
PHP_CONFIG_FILE_SCAN_DIR=""
fi
# compatibility
if test -z "$with_pear" && test "$enable_pear" = "no"; then
with_pear=no
fi
PHP_ARG_WITH(pear, [whether to install PEAR, and where],
[ --with-pear=DIR Install PEAR in DIR (default PREFIX/lib/php)
--without-pear Do not install PEAR], DEFAULT, no)
if test "$PHP_PEAR" != "no" && test "$disable_cli" != "1"; then
install_pear="install-pear install-build install-headers install-programs"
PEAR_INSTALLDIR=$PHP_PEAR
fi
if test "$PHP_PEAR" = "DEFAULT" || test "$PHP_PEAR" = "yes"; then
case $PHP_LAYOUT in
GNU) PEAR_INSTALLDIR=$datadir/pear;;
*) PEAR_INSTALLDIR=$libdir/php;;
esac
fi
test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
PHP_ARG_ENABLE(safe-mode, whether to enable safe mode by default,
@@ -722,24 +713,19 @@ if test "$PHP_IPV6" != "no" && test "$ac_cv_ipv6_support" = yes; then
AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
fi
dnl
dnl OpenSSL configure
dnl
PHP_ARG_WITH(openssl,for OpenSSL support,
[ --with-openssl[=DIR] Include OpenSSL support (requires OpenSSL >= 0.9.5) ])
if test "$PHP_OPENSSL" != "no"; then
ext_openssl_shared=$ext_shared
PHP_SETUP_OPENSSL
fi
AC_CHECK_LIB(crypt, crypt, [
PHP_ADD_LIBRARY(crypt)
PHP_ADD_LIBRARY(crypt, 1)
AC_DEFINE(HAVE_CRYPT,1,[ ])
AC_MSG_CHECKING([whether to enable versioning])
AC_ARG_ENABLE(versioning,
[ --enable-versioning Export only required symbols.
See INSTALL for more information], [
if test "x$APXS" != "x"; then
PHP_VERSIONING=$enableval
else
PHP_VERSIONING=no
fi
],[
PHP_VERSIONING=no
])
AC_MSG_RESULT([$PHP_VERSIONING])
divert(5)
@@ -769,34 +755,20 @@ dnl
AC_ARG_ENABLE(all,
[ --disable-all Disable all extensions enabled by default.
--enable-all Enable all extensions.
], [
PHP_ENABLE_ALL=$enableval
])
# reading config stubs
esyscmd(./scripts/config-stubs ext)
esyscmd(./build/config-stubs ext)
dnl Other settings.
dnl Extensions post-config
dnl -------------------------------------------------------------------------
PHP_HELP_SEPARATOR([Other settings:])
AC_MSG_CHECKING([whether to enable versioning])
AC_ARG_ENABLE(versioning,
[ --enable-versioning Export only required symbols.
See INSTALL for more information],[
PHP_VERSIONING=$enableval
],[
PHP_VERSIONING=no
])
AC_MSG_RESULT([$PHP_VERSIONING])
if test "$PHP_VERSIONING" = "yes"; then
test -z "$PHP_SYM_FILE" && PHP_SYM_FILE="$abs_srcdir/sapi/$PHP_SAPI/php.sym"
if test -f "$PHP_SYM_FILE"; then
EXTRA_LDFLAGS="-export-symbols $PHP_SYM_FILE"
EXTRA_LDFLAGS="-export-symbols $PHP_SYM_FILE $EXTRA_LDFLAGS"
fi
fi
@@ -818,15 +790,80 @@ shared)
;;
esac
PHP_REGEX
EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS"
dnl this has to be here to prevent the openssl crypt() from
dnl overriding the system provided crypt().
if test "$ac_cv_lib_crypt_crypt" = "yes"; then
EXTRA_LIBS="-lcrypt $EXTRA_LIBS -lcrypt"
fi
unset LIBS LDFLAGS
dnl PEAR
dnl -------------------------------------------------------------------------
PHP_HELP_SEPARATOR([PEAR:])
PHP_CONFIGURE_PART(Configuring PEAR)
# compatibility
if test -z "$with_pear" && test "$enable_pear" = "no"; then
with_pear=no
fi
PHP_ARG_WITH(pear, [whether to install PEAR],
[ --with-pear=DIR Install PEAR in DIR (default PREFIX/lib/php)
--without-pear Do not install PEAR], DEFAULT, yes)
if test "$PHP_PEAR" != "no"; then
dnl
dnl PEAR dependancies
dnl
if test "$PHP_SAPI_CLI" = "no"; then
pear_error_msg="$pear_error_msg
PEAR requires CLI to be enabled. Add --enable-cli to the configure line."
fi
if test "$PHP_PCRE_REGEX" = "no"; then
pear_error_msg="$pear_error_msg
PEAR requires PCRE to be enabled. Add --with-pcre-regex to the configure line."
fi
if test "$PHP_XML" = "no"; then
pear_error_msg="$pear_error_msg
PEAR requires XML to be enabled. Add --enable-xml to the configure line."
fi
dnl
dnl ext/xmlrpc is not really there yet to be a requirement..
dnl
dnl if test "$PHP_XMLRPC" = "no"; then
dnl pear_error_msg="$pear_error_msg
dnl PEAR requires XML-RPC to be enabled. Add --with-xmlrpc to the configure line."
dnl fi
dnl
if test "$pear_error_msg"; then
AC_MSG_ERROR([$pear_error_msg])
fi
install_pear="install-pear"
PEAR_INSTALLDIR=$PHP_PEAR
if test "$PHP_PEAR" = "DEFAULT" || test "$PHP_PEAR" = "yes"; then
case $PHP_LAYOUT in
GNU) PEAR_INSTALLDIR=$datadir/pear;;
*) PEAR_INSTALLDIR=$libdir/php;;
esac
fi
fi
dnl Configuring Zend and TSRM.
dnl -------------------------------------------------------------------------
PHP_HELP_SEPARATOR([Zend:])
PHP_CONFIGURE_PART(Configuring Zend)
LIBZEND_BASIC_CHECKS
LIBZEND_DLSYM_CHECK
LIBZEND_OTHER_CHECKS
@@ -850,17 +887,21 @@ fi
ZEND_EXTRA_LIBS="$LIBS"
unset LIBS LDFLAGS
PHP_HELP_SEPARATOR([TSRM:])
PHP_CONFIGURE_PART(Configuring TSRM)
TSRM_BASIC_CHECKS
if test "$PHP_THREAD_SAFETY" = "yes"; then
TSRM_THREADS_CHECKS
fi
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LDFLAGS"
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $LDFLAGS"
EXTRA_LIBS="$EXTRA_LIBS $LIBS"
unset LIBS LDFLAGS
test "$prefix" = "NONE" && prefix=/usr/local
test "$exec_prefix" = "NONE" && exec_prefix='${prefix}'
test "$program_prefix" = "NONE" && program_prefix=
test "$program_suffix" = "NONE" && program_suffix=
case $libdir in
'${exec_prefix}/lib')
@@ -955,6 +996,7 @@ if test -z "$php_ldflags_add_usr_lib"; then
fi
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
PHP_BUILD_DATE=`date '+%Y-%m-%d'`
AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
@@ -985,8 +1027,11 @@ PHP_SUBST_OLD(php_abs_top_srcdir)
PHP_SUBST(bindir)
PHP_SUBST(exec_prefix)
PHP_SUBST(program_prefix)
PHP_SUBST(program_suffix)
PHP_SUBST(includedir)
PHP_SUBST(libdir)
PHP_SUBST(mandir)
PHP_SUBST(phplibdir)
PHP_SUBST(phptempdir)
PHP_SUBST(prefix)
@@ -1009,6 +1054,7 @@ PHP_SUBST_OLD(DEBUG_CFLAGS)
PHP_SUBST(DEFS)
PHP_SUBST_OLD(EXTENSION_DIR)
PHP_SUBST_OLD(EXTRA_LDFLAGS)
PHP_SUBST_OLD(EXTRA_LDFLAGS_PROGRAM)
PHP_SUBST_OLD(EXTRA_LIBS)
PHP_SUBST_OLD(ZEND_EXTRA_LIBS)
PHP_SUBST_OLD(INCLUDES)
@@ -1031,6 +1077,7 @@ PHP_SUBST(PHP_RPATHS)
PHP_SUBST(PHP_SAPI)
PHP_SUBST_OLD(PHP_VERSION)
PHP_SUBST(PROG_SENDMAIL)
PHP_SUBST(RE2C)
PHP_SUBST(SHELL)
PHP_SUBST(SHARED_LIBTOOL)
PHP_SUBST(TSRM_DIR)
@@ -1060,11 +1107,21 @@ if test "$PHP_THREAD_SAFETY" = "yes" && test "$PHP_MYSQL" = "yes"; then
CPPFLAGS="$CPPFLAGS -DTHREAD=1"
fi
dnl
dnl Libtool creation
dnl
PHP_HELP_SEPARATOR([Libtool:])
PHP_CONFIGURE_PART(Configuring libtool)
LDFLAGS="$LDFLAGS $PHP_AIX_LDFLAGS"
AC_PROG_LIBTOOL
if test "$enable_debug" != "yes"; then
PHP_SET_LIBTOOL_VARIABLE([--silent])
fi
dnl libtool 1.4.3 needs this.
PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps])
test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<'
test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<'
@@ -1081,10 +1138,19 @@ INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag"
CXXFLAGS="$CXXFLAGS $standard_libtool_flag"
all_targets='$(OVERALL_TARGET) $(PHP_MODULES) $(PHP_CLI_TARGET)'
install_targets="install-sapi install-modules $install_pear"
if test "$PHP_SAPI" != "cgi"; then
install_targets="$PHP_INSTALL_CLI_TARGET $install_targets"
fi
install_targets="$install_modules $install_pear install-build install-headers install-programs"
case $PHP_SAPI in
cgi)
install_targets="install-sapi $install_targets"
;;
cli)
install_targets="$PHP_INSTALL_CLI_TARGET $install_targets"
;;
*)
install_targets="install-sapi $PHP_INSTALL_CLI_TARGET $install_targets"
;;
esac
PHP_SUBST(all_targets)
PHP_SUBST(install_targets)
@@ -1092,7 +1158,7 @@ PHP_SUBST(install_targets)
PHP_ADD_SOURCES(TSRM, TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c)
PHP_ADD_SOURCES(main, main.c snprintf.c spprintf.c php_sprintf.c \
safe_mode.c fopen_wrappers.c alloca.c \
safe_mode.c fopen_wrappers.c alloca.c php_scandir.c \
php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \
strlcat.c mergesort.c reentrancy.c php_variables.c php_ticks.c \
streams.c network.c php_open_temporary_file.c php_logos.c \
@@ -1100,7 +1166,7 @@ PHP_ADD_SOURCES(main, main.c snprintf.c spprintf.c php_sprintf.c \
PHP_ADD_SOURCES(/main, internal_functions.c,, sapi)
PHP_ADD_SOURCES(/main, internal_functions_cli.c,, cli)
PHP_ADD_SOURCES(/Zend, zend_language_parser.c zend_language_scanner.c \
PHP_ADD_SOURCES(/Zend, zend_language_parser.c zend_language_scanner.c \
zend_ini_parser.c zend_ini_scanner.c)
PHP_ADD_SOURCES(Zend, \
@@ -1131,7 +1197,7 @@ PHP_ADD_BUILD_DIR(sapi/$PHP_SAPI sapi/cli)
PHP_ADD_BUILD_DIR(TSRM)
PHP_ADD_BUILD_DIR(Zend)
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/scripts/Makefile.frag,$abs_srcdir/scripts,scripts)
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/pear/Makefile.frag,$abs_srcdir/pear,pear)
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Makefile.frag,$abs_srcdir/Zend,Zend)
@@ -1141,8 +1207,10 @@ PHP_GEN_GLOBAL_MAKEFILE
AC_DEFINE([HAVE_BUILD_DEFS_H], 1, [ ])
$php_shtool mkdir -p pear/scripts
$php_shtool mkdir -p scripts
ALL_OUTPUT_FILES="php4.spec main/build-defs.h \
pear/scripts/phpize pear/scripts/php-config \
scripts/phpize scripts/php-config \
$PHP_OUTPUT_FILES"
AC_OUTPUT($ALL_OUTPUT_FILES, [], [
@@ -1151,21 +1219,14 @@ if test "\$CONFIG_FILES" = "$ALL_OUTPUT_FILES" || test "\$CONFIG_FILES" = " $ALL
REDO_ALL=yes
fi
if test ! -f $srcdir/ext/bcmath/number.c; then
echo "creating number.c"
echo "/* Dummy File */" > $srcdir/ext/bcmath/number.c
echo "creating number.h"
echo "/* Dummy File */" > $srcdir/ext/bcmath/number.h
fi
################################################################
# Create configuration headers
#
test -d TSRM || mkdir TSRM
test -d TSRM || $php_shtool mkdir TSRM
echo '#include "../main/php_config.h"' > TSRM/tsrm_config.h
test -d Zend || mkdir Zend
test -d Zend || $php_shtool mkdir Zend
cat >Zend/zend_config.h <<FEO
#include "../main/php_config.h"
@@ -1251,7 +1312,7 @@ cat <<X
| *** WARNING *** |
| |
| You chose to compile PHP with DB extension. This extension is |
| deprecated and does not support databse locking correctly. Please |
| deprecated and does not support database locking correctly. Please |
| use DBA extension which is a fully operational superset. |
X
fi
@@ -1296,7 +1357,7 @@ X
fi
fi
cat<<X
cat <<X
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
@@ -1316,10 +1377,7 @@ cat<<X
| avoid using it if possible. |
+--------------------------------------------------------------------+
X
PHP_CONFIGURE_PART(Thank you for using PHP.)
cat<<X
Thank you for using PHP.
X
+51 -23
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -96,7 +96,7 @@ PHP_RINIT_FUNCTION(bcmath)
if (cfg_get_long("bcmath.scale", &bc_precision)==FAILURE) {
bc_precision=0;
}
if(bc_precision<0) bc_precision=0;
bc_init_numbers(TSRMLS_C);
return SUCCESS;
@@ -110,6 +110,21 @@ PHP_MINFO_FUNCTION(bcmath)
php_info_print_table_end();
}
/* {{{ php_str2num
Convert to bc_num detecting scale */
static void php_str2num(bc_num *num, char *str TSRMLS_DC)
{
char *p;
if (!(p = strchr(str, '.'))) {
bc_str2num(num, str, 0 TSRMLS_CC);
return;
}
bc_str2num(num, str, strlen(p+1) TSRMLS_CC);
}
/* }}} */
/* {{{ proto string bcadd(string left_operand, string right_operand [, int scale])
Returns the sum of two arbitrary precision numbers */
PHP_FUNCTION(bcadd)
@@ -129,7 +144,7 @@ PHP_FUNCTION(bcadd)
WRONG_PARAM_COUNT;
}
convert_to_long_ex(scale_param);
scale = (int) Z_LVAL_PP(scale_param);
scale = (int) (Z_LVAL_PP(scale_param)<0) ? 0:Z_LVAL_PP(scale_param);
break;
default:
WRONG_PARAM_COUNT;
@@ -140,9 +155,11 @@ PHP_FUNCTION(bcadd)
bc_init_num(&first TSRMLS_CC);
bc_init_num(&second TSRMLS_CC);
bc_init_num(&result TSRMLS_CC);
bc_str2num(&first, Z_STRVAL_PP(left), scale TSRMLS_CC);
bc_str2num(&second, Z_STRVAL_PP(right), scale TSRMLS_CC);
php_str2num(&first, Z_STRVAL_PP(left) TSRMLS_CC);
php_str2num(&second, Z_STRVAL_PP(right) TSRMLS_CC);
bc_add (first, second, &result, scale);
if (result->n_scale > scale)
result->n_scale = scale;
Z_STRVAL_P(return_value) = bc_num2str(result);
Z_STRLEN_P(return_value) = strlen(Z_STRVAL_P(return_value));
Z_TYPE_P(return_value) = IS_STRING;
@@ -172,7 +189,7 @@ PHP_FUNCTION(bcsub)
WRONG_PARAM_COUNT;
}
convert_to_long_ex(scale_param);
scale = (int) Z_LVAL_PP(scale_param);
scale = (int) (Z_LVAL_PP(scale_param)<0) ? 0:Z_LVAL_PP(scale_param);
break;
default:
WRONG_PARAM_COUNT;
@@ -183,9 +200,11 @@ PHP_FUNCTION(bcsub)
bc_init_num(&first TSRMLS_CC);
bc_init_num(&second TSRMLS_CC);
bc_init_num(&result TSRMLS_CC);
bc_str2num(&first, Z_STRVAL_PP(left), scale TSRMLS_CC);
bc_str2num(&second, Z_STRVAL_PP(right), scale TSRMLS_CC);
php_str2num(&first, Z_STRVAL_PP(left) TSRMLS_CC);
php_str2num(&second, Z_STRVAL_PP(right) TSRMLS_CC);
bc_sub (first, second, &result, scale);
if (result->n_scale > scale)
result->n_scale = scale;
Z_STRVAL_P(return_value) = bc_num2str(result);
Z_STRLEN_P(return_value) = strlen(Z_STRVAL_P(return_value));
Z_TYPE_P(return_value) = IS_STRING;
@@ -215,7 +234,7 @@ PHP_FUNCTION(bcmul)
WRONG_PARAM_COUNT;
}
convert_to_long_ex(scale_param);
scale = (int) Z_LVAL_PP(scale_param);
scale = (int) (Z_LVAL_PP(scale_param)<0) ? 0:Z_LVAL_PP(scale_param);
break;
default:
WRONG_PARAM_COUNT;
@@ -226,9 +245,11 @@ PHP_FUNCTION(bcmul)
bc_init_num(&first TSRMLS_CC);
bc_init_num(&second TSRMLS_CC);
bc_init_num(&result TSRMLS_CC);
bc_str2num(&first, Z_STRVAL_PP(left), scale TSRMLS_CC);
bc_str2num(&second, Z_STRVAL_PP(right), scale TSRMLS_CC);
php_str2num(&first, Z_STRVAL_PP(left) TSRMLS_CC);
php_str2num(&second, Z_STRVAL_PP(right) TSRMLS_CC);
bc_multiply (first, second, &result, scale TSRMLS_CC);
if (result->n_scale > scale)
result->n_scale = scale;
Z_STRVAL_P(return_value) = bc_num2str(result);
Z_STRLEN_P(return_value) = strlen(Z_STRVAL_P(return_value));
Z_TYPE_P(return_value) = IS_STRING;
@@ -258,7 +279,7 @@ PHP_FUNCTION(bcdiv)
WRONG_PARAM_COUNT;
}
convert_to_long_ex(scale_param);
scale = (int) Z_LVAL_PP(scale_param);
scale = (int) (Z_LVAL_PP(scale_param)<0) ? 0:Z_LVAL_PP(scale_param);
break;
default:
WRONG_PARAM_COUNT;
@@ -269,10 +290,12 @@ PHP_FUNCTION(bcdiv)
bc_init_num(&first TSRMLS_CC);
bc_init_num(&second TSRMLS_CC);
bc_init_num(&result TSRMLS_CC);
bc_str2num(&first, Z_STRVAL_PP(left), scale TSRMLS_CC);
bc_str2num(&second, Z_STRVAL_PP(right), scale TSRMLS_CC);
php_str2num(&first, Z_STRVAL_PP(left) TSRMLS_CC);
php_str2num(&second, Z_STRVAL_PP(right) TSRMLS_CC);
switch (bc_divide (first, second, &result, scale TSRMLS_CC)) {
case 0: /* OK */
if (result->n_scale > scale)
result->n_scale = scale;
Z_STRVAL_P(return_value) = bc_num2str(result);
Z_STRLEN_P(return_value) = strlen(Z_STRVAL_P(return_value));
Z_TYPE_P(return_value) = IS_STRING;
@@ -348,7 +371,7 @@ PHP_FUNCTION(bcpow)
WRONG_PARAM_COUNT;
}
convert_to_long_ex(scale_param);
scale = (int) Z_LVAL_PP(scale_param);
scale = (int) (Z_LVAL_PP(scale_param)<0) ? 0:Z_LVAL_PP(scale_param);
break;
default:
WRONG_PARAM_COUNT;
@@ -359,9 +382,11 @@ PHP_FUNCTION(bcpow)
bc_init_num(&first TSRMLS_CC);
bc_init_num(&second TSRMLS_CC);
bc_init_num(&result TSRMLS_CC);
bc_str2num(&first, Z_STRVAL_PP(left), scale TSRMLS_CC);
bc_str2num(&second, Z_STRVAL_PP(right), scale TSRMLS_CC);
php_str2num(&first, Z_STRVAL_PP(left) TSRMLS_CC);
php_str2num(&second, Z_STRVAL_PP(right) TSRMLS_CC);
bc_raise (first, second, &result, scale TSRMLS_CC);
if (result->n_scale > scale)
result->n_scale = scale;
Z_STRVAL_P(return_value) = bc_num2str(result);
Z_STRLEN_P(return_value) = strlen(Z_STRVAL_P(return_value));
Z_TYPE_P(return_value) = IS_STRING;
@@ -391,7 +416,7 @@ PHP_FUNCTION(bcsqrt)
WRONG_PARAM_COUNT;
}
convert_to_long_ex(scale_param);
scale = (int) Z_LVAL_PP(scale_param);
scale = (int) (Z_LVAL_PP(scale_param)<0) ? 0:Z_LVAL_PP(scale_param);
break;
default:
WRONG_PARAM_COUNT;
@@ -399,8 +424,10 @@ PHP_FUNCTION(bcsqrt)
}
convert_to_string_ex(left);
bc_init_num(&result TSRMLS_CC);
bc_str2num(&result, Z_STRVAL_PP(left), scale TSRMLS_CC);
php_str2num(&result, Z_STRVAL_PP(left) TSRMLS_CC);
if (bc_sqrt (&result, scale TSRMLS_CC) != 0) {
if (result->n_scale > scale)
result->n_scale = scale;
Z_STRVAL_P(return_value) = bc_num2str(result);
Z_STRLEN_P(return_value) = strlen(Z_STRVAL_P(return_value));
Z_TYPE_P(return_value) = IS_STRING;
@@ -412,7 +439,7 @@ PHP_FUNCTION(bcsqrt)
}
/* }}} */
/* {{{ proto string bccomp(string left_operand, string right_operand [, int scale])
/* {{{ proto int bccomp(string left_operand, string right_operand [, int scale])
Compares two arbitrary precision numbers */
PHP_FUNCTION(bccomp)
{
@@ -431,7 +458,7 @@ PHP_FUNCTION(bccomp)
WRONG_PARAM_COUNT;
}
convert_to_long_ex(scale_param);
scale = (int) Z_LVAL_PP(scale_param);
scale = (int) (Z_LVAL_PP(scale_param)<0) ? 0:Z_LVAL_PP(scale_param);
break;
default:
WRONG_PARAM_COUNT;
@@ -454,7 +481,7 @@ PHP_FUNCTION(bccomp)
}
/* }}} */
/* {{{ proto string bcscale(int scale)
/* {{{ proto bool bcscale(int scale)
Sets default scale parameter for all bc math functions */
PHP_FUNCTION(bcscale)
{
@@ -465,7 +492,8 @@ PHP_FUNCTION(bcscale)
}
convert_to_long_ex(new_scale);
bc_precision = Z_LVAL_PP(new_scale);
bc_precision = (Z_LVAL_PP(new_scale)<0) ? 0 : Z_LVAL_PP(new_scale);
RETURN_TRUE;
}
/* }}} */
+1 -1
View File
@@ -7,7 +7,7 @@ PHP_ARG_ENABLE(bcmath, whether to enable bc style precision math functions,
if test "$PHP_BCMATH" != "no"; then
AC_DEFINE(WITH_BCMATH, 1, [Whether you have bcmath])
PHP_NEW_EXTENSION(bcmath, bcmath.c number.c \
PHP_NEW_EXTENSION(bcmath, bcmath.c \
libbcmath/src/add.c libbcmath/src/div.c libbcmath/src/init.c libbcmath/src/neg.c libbcmath/src/outofmem.c libbcmath/src/raisemod.c libbcmath/src/rt.c libbcmath/src/sub.c \
libbcmath/src/compare.c libbcmath/src/divmod.c libbcmath/src/int2num.c libbcmath/src/num2long.c libbcmath/src/output.c libbcmath/src/recmul.c \
libbcmath/src/sqrt.c libbcmath/src/zero.c libbcmath/src/debug.c libbcmath/src/doaddsub.c libbcmath/src/nearzero.c libbcmath/src/num2str.c libbcmath/src/raise.c \
+5 -2
View File
@@ -52,9 +52,12 @@ typedef struct bc_struct
in the case of leading zeros generated. */
} bc_struct;
#include <php.h>
#include <ext/bcmath/php_bcmath.h>
#ifdef HAVE_CONFIG_H
#include "../../config.h"
#endif
#include "php.h"
#include "../../php_bcmath.h"
/* The base used in storing the numbers in n_value above.
Currently this MUST be 10. */
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
bcadd() function
--SKIP--
--SKIPIF--
<?php if(!extension_loaded("bcmath")) print "skip"; ?>
--INI--
bcmath.scale=0
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
bccomp() function
--SKIP--
--SKIPIF--
<?php if(!extension_loaded("bcmath")) print "skip"; ?>
--INI--
bcmath.scale=0
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
bcdiv() function
--SKIP--
--SKIPIF--
<?php if(!extension_loaded("bcmath")) print "skip"; ?>
--INI--
bcmath.scale=0
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
bcmod() function
--SKIP--
--SKIPIF--
<?php if(!extension_loaded("bcmath")) print "skip"; ?>
--INI--
bcmath.scale=0
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
bcmul() function
--SKIP--
--SKIPIF--
<?php if(!extension_loaded("bcmath")) print "skip"; ?>
--INI--
bcmath.scale=0
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
bcpow() function
--SKIP--
--SKIPIF--
<?php if(!extension_loaded("bcmath")) print "skip"; ?>
--INI--
bcmath.scale=0
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
bcscale() function
--SKIP--
--SKIPIF--
<?php if(!extension_loaded("bcmath")) print "skip"; ?>
--INI--
bcmath.scale=0
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
bcsqrt() function
--SKIP--
--SKIPIF--
<?php if(!extension_loaded("bcmath")) print "skip"; ?>
--INI--
bcmath.scale=0
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
bcsub() function
--SKIP--
--SKIPIF--
<?php if(!extension_loaded("bcmath")) print "skip"; ?>
--INI--
bcmath.scale=0
+2
View File
@@ -0,0 +1,2 @@
Bzip2
Sterling Hughes
+542
View File
@@ -0,0 +1,542 @@
/*
+----------------------------------------------------------------------+
| PHP version 4.0 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://www.php.net/license/2_02.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Sterling Hughes <sterling@php.net> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "php.h"
#include "php_bz2.h"
#if HAVE_BZ2
/* PHP Includes */
#include "ext/standard/file.h"
#include "ext/standard/info.h"
#include "ext/standard/php_string.h"
/* for fileno() */
#include <stdio.h>
/* Internal error constants */
#define PHP_BZ_ERRNO 0
#define PHP_BZ_ERRSTR 1
#define PHP_BZ_ERRBOTH 2
/* Blocksize of the decompression buffer */
#define PHP_BZ_DECOMPRESS_SIZE 4096
function_entry bz2_functions[] = {
PHP_FE(bzopen, NULL)
PHP_FE(bzread, NULL)
PHP_FALIAS(bzwrite, fwrite, NULL)
PHP_FALIAS(bzflush, fflush, NULL)
PHP_FALIAS(bzclose, fclose, NULL)
PHP_FE(bzerrno, NULL)
PHP_FE(bzerrstr, NULL)
PHP_FE(bzerror, NULL)
PHP_FE(bzcompress, NULL)
PHP_FE(bzdecompress, NULL)
{NULL, NULL, NULL}
};
zend_module_entry bz2_module_entry = {
STANDARD_MODULE_HEADER,
"bz2",
bz2_functions,
PHP_MINIT(bz2),
PHP_MSHUTDOWN(bz2),
NULL,
NULL,
PHP_MINFO(bz2),
NO_VERSION_YET,
STANDARD_MODULE_PROPERTIES
};
#ifdef COMPILE_DL_BZ2
ZEND_GET_MODULE(bz2)
#endif
struct php_bz2_stream_data_t {
BZFILE *bz_file;
php_stream *stream;
};
/* {{{ BZip2 stream implementation */
static size_t php_bz2iop_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
{
struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *) stream->abstract;
size_t ret;
ret = BZ2_bzread(self->bz_file, buf, count);
if (ret == 0) {
stream->eof = 1;
}
return ret;
}
static size_t php_bz2iop_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC)
{
struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *) stream->abstract;
return BZ2_bzwrite(self->bz_file, (char*)buf, count);
}
static int php_bz2iop_close(php_stream *stream, int close_handle TSRMLS_DC)
{
struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *)stream->abstract;
int ret = EOF;
if (close_handle) {
BZ2_bzclose(self->bz_file);
}
if (self->stream) {
php_stream_free(self->stream, PHP_STREAM_FREE_CLOSE | (close_handle == 0 ? PHP_STREAM_FREE_PRESERVE_HANDLE : 0));
}
efree(self);
return ret;
}
static int php_bz2iop_flush(php_stream *stream TSRMLS_DC)
{
struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *)stream->abstract;
return BZ2_bzflush(self->bz_file);
}
/* }}} */
php_stream_ops php_stream_bz2io_ops = {
php_bz2iop_write, php_bz2iop_read,
php_bz2iop_close, php_bz2iop_flush,
"BZip2",
NULL, /* seek */
NULL, /* cast */
NULL, /* stat */
NULL /* set_option */
};
/* {{{ Bzip2 stream openers */
PHP_BZ2_API php_stream *_php_stream_bz2open_from_BZFILE(BZFILE *bz,
char *mode, php_stream *innerstream STREAMS_DC TSRMLS_DC)
{
struct php_bz2_stream_data_t *self;
self = emalloc(sizeof(*self));
self->stream = innerstream;
self->bz_file = bz;
return php_stream_alloc_rel(&php_stream_bz2io_ops, self, 0, mode);
}
PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper,
char *path,
char *mode,
int options,
char **opened_path,
php_stream_context *context STREAMS_DC TSRMLS_DC)
{
php_stream *retstream = NULL, *stream = NULL;
char *path_copy = NULL;
BZFILE *bz_file = NULL;
if (strncasecmp("compress.bzip2://", path, 17) == 0) {
path += 17;
}
if (mode[0] != 'w' && mode[0] != 'r' && mode[1] != '\0') {
return NULL;
}
#ifdef VIRTUAL_DIR
virtual_filepath_ex(path, &path_copy, NULL TSRMLS_CC);
#else
path_copy = path;
#endif
/* try and open it directly first */
bz_file = BZ2_bzopen(path_copy, mode);
if (opened_path && bz_file) {
*opened_path = estrdup(path_copy);
}
path_copy = NULL;
if (bz_file == NULL) {
/* that didn't work, so try and get something from the network/wrapper */
stream = php_stream_open_wrapper(path, mode, options, opened_path);
if (stream) {
int fd;
if (SUCCESS == php_stream_cast(stream, PHP_STREAM_AS_FD, (void **) &fd, REPORT_ERRORS)) {
bz_file = BZ2_bzdopen(fd, mode);
}
}
/* remove the file created by php_stream_open_wrapper(), it is not needed since BZ2 functions
* failed.
*/
if (!bz_file && mode[0] == 'w') {
VCWD_UNLINK(*opened_path);
}
}
if (bz_file) {
retstream = _php_stream_bz2open_from_BZFILE(bz_file, mode, stream STREAMS_REL_CC TSRMLS_CC);
if (retstream) {
return retstream;
}
BZ2_bzclose(bz_file);
}
if (stream) {
php_stream_close(stream);
}
return NULL;
}
/* }}} */
static php_stream_wrapper_ops bzip2_stream_wops = {
_php_stream_bz2open,
NULL, /* close */
NULL, /* fstat */
NULL, /* stat */
NULL, /* opendir */
"BZip2"
};
php_stream_wrapper php_stream_bzip2_wrapper = {
&bzip2_stream_wops,
NULL,
0 /* is_url */
};
static void php_bz2_error(INTERNAL_FUNCTION_PARAMETERS, int);
PHP_MINIT_FUNCTION(bz2)
{
php_register_url_stream_wrapper("compress.bzip2", &php_stream_bzip2_wrapper TSRMLS_CC);
return SUCCESS;
}
PHP_MSHUTDOWN_FUNCTION(bz2)
{
php_unregister_url_stream_wrapper("compress.bzip2" TSRMLS_CC);
return SUCCESS;
}
PHP_MINFO_FUNCTION(bz2)
{
php_info_print_table_start();
php_info_print_table_row(2, "BZip2 Support", "Enabled");
php_info_print_table_row(2, "BZip2 Version", (char *) BZ2_bzlibVersion());
php_info_print_table_end();
}
/* {{{ proto string bzread(int bz[, int length])
Reads up to length bytes from a BZip2 stream, or 1024 bytes if length is not specified */
PHP_FUNCTION(bzread)
{
zval *bz;
long len = 1024;
php_stream *stream;
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &bz, &len)) {
RETURN_FALSE;
}
php_stream_from_zval(stream, &bz);
if (len < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "length may not be negative");
RETURN_FALSE;
}
Z_STRVAL_P(return_value) = emalloc(len + 1);
Z_STRLEN_P(return_value) = php_stream_read(stream, Z_STRVAL_P(return_value), len);
if (Z_STRLEN_P(return_value) < 0) {
efree(Z_STRVAL_P(return_value));
php_error_docref(NULL TSRMLS_CC, E_WARNING, "could not read valid bz2 data from stream");
RETURN_FALSE;
}
Z_STRVAL_P(return_value)[Z_STRLEN_P(return_value)] = 0;
if (PG(magic_quotes_runtime)) {
Z_STRVAL_P(return_value) = php_addslashes( Z_STRVAL_P(return_value),
Z_STRLEN_P(return_value),
&Z_STRLEN_P(return_value), 1 TSRMLS_CC);
}
Z_TYPE_P(return_value) = IS_STRING;
}
/* }}} */
/* {{{ proto resource bzopen(string|int file|fp, string mode)
Opens a new BZip2 stream */
PHP_FUNCTION(bzopen)
{
zval **file, /* The file to open */
**mode; /* The mode to open the stream with */
BZFILE *bz; /* The compressed file stream */
php_stream *stream = NULL;
if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &file, &mode) == FAILURE) {
WRONG_PARAM_COUNT;
}
convert_to_string_ex(mode);
if (Z_STRVAL_PP(mode)[0] != 'r' && Z_STRVAL_PP(mode)[0] != 'w' && Z_STRVAL_PP(mode)[1] != '\0') {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "'%s' is not a valid mode for bzopen(). Only 'w' and 'r' are supported.", Z_STRVAL_PP(mode));
RETURN_FALSE;
}
/* If it's not a resource its a string containing the filename to open */
if (Z_TYPE_PP(file) != IS_RESOURCE) {
convert_to_string_ex(file);
stream = php_stream_bz2open(NULL,
Z_STRVAL_PP(file),
Z_STRVAL_PP(mode),
ENFORCE_SAFE_MODE | REPORT_ERRORS,
NULL);
} else {
/* If it is a resource, than its a stream resource */
int fd;
php_stream_from_zval(stream, file);
if (FAILURE == php_stream_cast(stream, PHP_STREAM_AS_FD, (void *) &fd, REPORT_ERRORS)) {
RETURN_FALSE;
}
bz = BZ2_bzdopen(fd, Z_STRVAL_PP(mode));
stream = php_stream_bz2open_from_BZFILE(bz, Z_STRVAL_PP(mode), stream);
}
if (stream) {
php_stream_to_zval(stream, return_value);
} else {
RETURN_FALSE;
}
}
/* }}} */
/* {{{ proto int bzerrno(resource bz)
Returns the error number */
PHP_FUNCTION(bzerrno)
{
php_bz2_error(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_BZ_ERRNO);
}
/* }}} */
/* {{{ proto string bzerrstr(resource bz)
Returns the error string */
PHP_FUNCTION(bzerrstr)
{
php_bz2_error(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_BZ_ERRSTR);
}
/* }}} */
/* {{{ proto array bzerror(resource bz)
Returns the error number and error string in an associative array */
PHP_FUNCTION(bzerror)
{
php_bz2_error(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_BZ_ERRBOTH);
}
/* }}} */
/* {{{ proto string bzcompress(string source [, int blocksize100k [, int workfactor]])
Compresses a string into BZip2 encoded data */
PHP_FUNCTION(bzcompress)
{
zval **source, /* Source data to compress */
**zblock_size, /* Optional block size to use */
**zwork_factor; /* Optional work factor to use */
char *dest = NULL; /* Destination to place the compressed data into */
int error, /* Error Container */
block_size = 4, /* Block size for compression algorithm */
work_factor = 0, /* Work factor for compression algorithm */
argc; /* Argument count */
unsigned int source_len, /* Length of the source data */
dest_len; /* Length of the destination buffer */
argc = ZEND_NUM_ARGS();
if (argc < 1 || argc > 3 || zend_get_parameters_ex(argc, &source, &zblock_size, &zwork_factor) == FAILURE) {
WRONG_PARAM_COUNT;
}
convert_to_string_ex(source);
/* Assign them to easy to use variables, dest_len is initially the length of the data
+ .01 x length of data + 600 which is the largest size the results of the compression
could possibly be, at least that's what the libbz2 docs say (thanks to jeremy@nirvani.net
for pointing this out). */
source_len = Z_STRLEN_PP(source);
dest_len = Z_STRLEN_PP(source) + (0.01 * Z_STRLEN_PP(source)) + 600;
/* Allocate the destination buffer */
dest = emalloc(dest_len + 1);
/* Handle the optional arguments */
if (argc > 1) {
convert_to_long_ex(zblock_size);
block_size = Z_LVAL_PP(zblock_size);
}
if (argc > 2) {
convert_to_long_ex(zwork_factor);
work_factor = Z_LVAL_PP(zwork_factor);
}
error = BZ2_bzBuffToBuffCompress(dest, &dest_len, Z_STRVAL_PP(source), source_len, block_size, 0, work_factor);
if (error != BZ_OK) {
efree(dest);
RETURN_LONG(error);
} else {
/* Copy the buffer, we have perhaps allocate alot more than we need,
so we erealloc() the buffer to the proper size */
dest = erealloc(dest, dest_len + 1);
dest[dest_len] = 0;
RETURN_STRINGL(dest, dest_len, 0);
}
}
/* }}} */
/* {{{ proto string bzdecompress(string source [, int small])
Decompresses BZip2 compressed data */
PHP_FUNCTION(bzdecompress)
{
zval **source, /* Source data to decompress */
**zsmall; /* (Optional) user specified small */
char *dest; /* Destination buffer, initially allocated */
int error, /* Error container */
iter = 1, /* Iteration count for the compression loop */
size, /* Current size to realloc the dest buffer to */
dest_len = PHP_BZ_DECOMPRESS_SIZE, /* Size of the destination length */
small = 0, /* The actual small */
argc = ZEND_NUM_ARGS(); /* Argument count */
if (argc < 1 || argc > 2 || zend_get_parameters_ex(argc, &source, &zsmall) == FAILURE) {
WRONG_PARAM_COUNT;
}
convert_to_string_ex(source);
/* optional small argument handling */
if (argc > 1) {
convert_to_long_ex(zsmall);
small = Z_LVAL_PP(zsmall);
}
/* Depending on the size of the source buffer, either allocate
the length of the source buffer or the a default decompression
size */
dest = emalloc(PHP_BZ_DECOMPRESS_SIZE > Z_STRLEN_PP(source) ? PHP_BZ_DECOMPRESS_SIZE : Z_STRLEN_PP(source));
/* (de)Compression Loop */
do {
/* Handle the (re)allocation of the buffer */
size = dest_len * iter;
if (iter > 1) {
dest = erealloc(dest, size);
}
++iter;
/* Perform the decompression */
error = BZ2_bzBuffToBuffDecompress(dest, &size, Z_STRVAL_PP(source), Z_STRLEN_PP(source), small, 0);
} while (error == BZ_OUTBUFF_FULL);
if (error != BZ_OK) {
efree(dest);
RETURN_LONG(error);
} else {
/* we might have allocated a little to much, so erealloc the buffer
down to size, before returning it */
dest = erealloc(dest, size + 1);
dest[size] = 0;
RETURN_STRINGL(dest, size, 0);
}
}
/* }}} */
/* {{{ php_bz2_error()
The central error handling interface, does the work for bzerrno, bzerrstr and bzerror */
static void php_bz2_error(INTERNAL_FUNCTION_PARAMETERS, int opt)
{
zval **bzp; /* BZip2 Resource Pointer */
php_stream *stream;
const char *errstr; /* Error string */
int errnum; /* Error number */
struct php_bz2_stream_data_t *self;
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &bzp) == FAILURE) {
WRONG_PARAM_COUNT;
}
php_stream_from_zval(stream, bzp);
if (!php_stream_is(stream, PHP_STREAM_IS_BZIP2)) {
RETURN_FALSE;
}
self = (struct php_bz2_stream_data_t *) stream->abstract;
/* Fetch the error information */
errstr = BZ2_bzerror(self->bz_file, &errnum);
/* Determine what to return */
switch (opt) {
case PHP_BZ_ERRNO:
RETURN_LONG(errnum);
break;
case PHP_BZ_ERRSTR:
RETURN_STRING((char*)errstr, 1);
break;
case PHP_BZ_ERRBOTH:
array_init(return_value);
add_assoc_long (return_value, "errno", errnum);
add_assoc_string(return_value, "errstr", (char*)errstr, 1);
break;
}
}
/* }}} */
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: fdm=marker
* vim: noet sw=4 ts=4
*/
+108
View File
@@ -0,0 +1,108 @@
# Microsoft Developer Studio Project File - Name="bz2" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=bz2 - Win32 Debug_TS
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "bz2.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "bz2.mak" CFG="bz2 - Win32 Debug_TS"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "bz2 - Win32 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "bz2 - Win32 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "bz2 - Win32 Release_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release_TS"
# PROP BASE Intermediate_Dir "Release_TS"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_TS"
# PROP Intermediate_Dir "Release_TS"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BZ2_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\..\php_build\includes" /D ZEND_DEBUG=0 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_BZ2" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_BZ2=1 /D "PHP_BZ2_EXPORTS" /FR /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
# ADD LINK32 libbz2.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS/php_bz2.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline" /libpath:"..\..\..\php_build\release"
!ELSEIF "$(CFG)" == "bz2 - Win32 Debug_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug_TS"
# PROP BASE Intermediate_Dir "Debug_TS"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug_TS"
# PROP Intermediate_Dir "Debug_TS"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BZ2_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\..\php_build\includes" /D ZEND_DEBUG=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_BZ2" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_BZ2=1 /D "PHP_BZ2_EXPORTS" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 php4ts_debug.lib libbz2.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"..\..\Debug_TS/php_bz2.dll" /pdbtype:sept /libpath:"..\..\Debug_TS" /libpath:"..\..\..\php_build\release"
!ENDIF
# Begin Target
# Name "bz2 - Win32 Release_TS"
# Name "bz2 - Win32 Debug_TS"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\bz2.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\php_bz2.h
# End Source File
# End Group
# End Target
# End Project
+40
View File
@@ -0,0 +1,40 @@
dnl
dnl $Id$
dnl
PHP_ARG_WITH(bz2, for BZip2 support,
[ --with-bz2[=DIR] Include BZip2 support])
if test "$PHP_BZ2" != "no"; then
if test -r $PHP_BZ2/include/bzlib.h; then
BZIP_DIR=$PHP_BZ2
else
AC_MSG_CHECKING(for BZip2 in default path)
for i in /usr/local /usr; do
if test -r $i/include/bzlib.h; then
BZIP_DIR=$i
AC_MSG_RESULT(found in $i)
break
fi
done
fi
if test -z "$BZIP_DIR"; then
AC_MSG_RESULT(not found)
AC_MSG_ERROR(Please reinstall the BZip2 distribution)
fi
PHP_CHECK_LIBRARY(bz2, BZ2_bzerror,
[
PHP_ADD_INCLUDE($BZIP_DIR/include)
PHP_ADD_LIBRARY_WITH_PATH(bz2, $BZIP_DIR/lib, BZ2_SHARED_LIBADD)
AC_DEFINE(HAVE_BZ2,1,[ ])
], [
AC_MSG_ERROR(bz2 module requires libbz2 >= 1.0.0)
], [
-L$BZIP_DIR/lib
])
PHP_NEW_EXTENSION(bz2, bz2.c, $ext_shared)
PHP_SUBST(BZ2_SHARED_LIBADD)
fi
+35
View File
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- do not use the "Type" attribute here, that one is only for
generated package.xml files -->
<package>
<name>bz2</name>
<summary>A Bzip2 management extension</summary>
<description>
Bz2 is an extension to create and parse bzip2 compressed data.
</description>
<license>PHP License</license>
<maintainers>
<maintainer>
<user>sterling</user>
<name>Sterling Hughes</name>
<email>sterling@php.net</email>
</maintainer>
</maintainers>
<release>
<version>1.0</version>
<date>2003-05-17</date>
<state>stable</state>
<notes>
Initial Release in PECL
</notes>
</release>
<filelist>
<dir role="src" name="/">
<file role="doc">CREDITS</file>
<file role="src">config.m4</file>
<file role="doc">php_bz2.h</file>
<file role="src">bz2.c</file>
<file role="src">bz2.dsp</file>
</dir>
</filelist>
</package>
+72
View File
@@ -0,0 +1,72 @@
/*
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://www.php.net/license/2_02.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Sterling Hughes <sterling@php.net> |
+----------------------------------------------------------------------+
*/
#ifndef PHP_BZ2_H
#define PHP_BZ2_H
#if HAVE_BZ2
extern zend_module_entry bz2_module_entry;
#define phpext_bz2_ptr &bz2_module_entry
/* Bzip2 includes */
#include <bzlib.h>
PHP_MINIT_FUNCTION(bz2);
PHP_MSHUTDOWN_FUNCTION(bz2);
PHP_MINFO_FUNCTION(bz2);
PHP_FUNCTION(bzopen);
PHP_FUNCTION(bzread);
PHP_FUNCTION(bzerrno);
PHP_FUNCTION(bzerrstr);
PHP_FUNCTION(bzerror);
PHP_FUNCTION(bzcompress);
PHP_FUNCTION(bzdecompress);
#else
#define phpext_bz2_ptr NULL
#endif
#ifdef PHP_WIN32
# ifdef PHP_BZ2_EXPORTS
# define PHP_BZ2_API __declspec(dllexport)
# else
# define PHP_BZ2_API __declspec(dllimport)
# endif
#else
# define PHP_BZ2_API
#endif
PHP_BZ2_API PHPAPI php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper, char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);
PHP_BZ2_API PHPAPI php_stream *_php_stream_bz2open_from_BZFILE(BZFILE *bz, char *mode, php_stream *innerstream STREAMS_DC TSRMLS_DC);
#define php_stream_bz2open_from_BZFILE(bz, mode, innerstream) _php_stream_bz2open_from_BZFILE((bz), (mode), (innerstream) STREAMS_CC TSRMLS_CC)
#define php_stream_bz2open(wrapper, path, mode, options, opened_path) _php_stream_bz2open((wrapper), (path), (mode), (options), (opened_path), NULL STREAMS_CC TSRMLS_CC)
php_stream_ops php_stream_bz2io_ops;
#define PHP_STREAM_IS_BZIP2 &php_stream_bz2io_ops
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
*/
+25
View File
@@ -0,0 +1,25 @@
--TEST--
BZ2 with files
--SKIPIF--
<?php if (!extension_loaded("bz2")) print "skip"; ?>
--POST--
--GET--
--FILE--
<?php // $Id$
error_reporting(E_ALL);
$filename = "testfile.bz2";
$str = "This is a test string.\n";
$bz = bzopen($filename, "w");
bzwrite($bz, $str);
bzclose($bz);
$bz = bzopen($filename, "r");
print bzread($bz, 10);
print bzread($bz);
bzclose($bz);
unlink($filename);
--EXPECT--
This is a test string.
+28
View File
@@ -0,0 +1,28 @@
--TEST--
BZ2 with strings
--SKIPIF--
<?php if (!extension_loaded("bz2")) print "skip"; ?>
--POST--
--GET--
--FILE--
<?php // $Id$
error_reporting(E_ALL);
# This FAILS
$blaat = <<<HEREDOC
This is some random data
HEREDOC;
# This Works: (so, is heredoc related)
#$blaat= 'This is some random data';
$blaat2 = bzdecompress(bzcompress($blaat));
$tests = <<<TESTS
\$blaat === \$blaat2
TESTS;
include(dirname(__FILE__) . '/../../../tests/quicktester.inc');
--EXPECT--
OK
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+5 -5
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -161,7 +161,7 @@ PHP_FUNCTION(cal_info)
}
convert_to_long_ex(cal);
if (Z_LVAL_PP(cal) < 0 || Z_LVAL_PP(cal) >= CAL_NUM_CALS) {
zend_error(E_WARNING, "%s(): invalid calendar ID %d", get_active_function_name(TSRMLS_C), Z_LVAL_PP(cal));
zend_error(E_WARNING, "%s(): invalid calendar ID %ld", get_active_function_name(TSRMLS_C), Z_LVAL_PP(cal));
RETURN_FALSE;
}
@@ -203,7 +203,7 @@ PHP_FUNCTION(cal_days_in_month)
convert_to_long_ex(year);
if (Z_LVAL_PP(cal) < 0 || Z_LVAL_PP(cal) >= CAL_NUM_CALS) {
zend_error(E_WARNING, "%s(): invalid calendar ID %d", get_active_function_name(TSRMLS_C), Z_LVAL_PP(cal));
zend_error(E_WARNING, "%s(): invalid calendar ID %ld", get_active_function_name(TSRMLS_C), Z_LVAL_PP(cal));
RETURN_FALSE;
}
@@ -239,7 +239,7 @@ PHP_FUNCTION(cal_to_jd)
convert_to_long_ex(year);
if (Z_LVAL_PP(cal) < 0 || Z_LVAL_PP(cal) >= CAL_NUM_CALS) {
zend_error(E_WARNING, "%s(): invalid calendar ID %d", get_active_function_name(TSRMLS_C), Z_LVAL_PP(cal));
zend_error(E_WARNING, "%s(): invalid calendar ID %ld", get_active_function_name(TSRMLS_C), Z_LVAL_PP(cal));
RETURN_FALSE;
}
@@ -265,7 +265,7 @@ PHP_FUNCTION(cal_from_jd)
convert_to_long_ex(cal);
if (Z_LVAL_PP(cal) < 0 || Z_LVAL_PP(cal) >= CAL_NUM_CALS) {
zend_error(E_WARNING, "%s(): invalid calendar ID %d", get_active_function_name(TSRMLS_C), Z_LVAL_PP(cal));
zend_error(E_WARNING, "%s(): invalid calendar ID %ld", get_active_function_name(TSRMLS_C), Z_LVAL_PP(cal));
RETURN_FALSE;
}
calendar = &cal_conversion_table[Z_LVAL_PP(cal)];
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+4
View File
@@ -260,6 +260,10 @@
*
**************************************************************************/
#if defined(PHP_WIN32) && _MSC_VER >= 1200
#pragma setlocale("english")
#endif
#include "sdncal.h"
#define HALAKIM_PER_HOUR 1080
+87 -179
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -15,7 +15,7 @@
| Author: Zeev Suraski <zeev@zend.com> |
| Harald Radi <h.radi@nme.at> |
| Alan Brown <abrown@pobox.com> |
| Wez Furlong <wez@thebrainroom.com> |
| Wez Furlong <wez@thebrainroom.com> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
@@ -55,7 +55,7 @@
#ifdef PHP_WIN32
#define _WIN32_DCOM
#define COBJMACROS
#include <iostream.h>
#include <math.h>
#include <ocidl.h>
@@ -122,24 +122,7 @@ PHPAPI HRESULT php_COM_invoke(comval *obj, DISPID dispIdMember, WORD wFlags, DIS
*ErrString = NULL;
/* @todo use DispInvoke here ? */
if (C_ISREFD(obj)) {
if (C_HASTLIB(obj)) {
hr = C_TYPEINFO_VT(obj)->Invoke(C_TYPEINFO(obj), C_DISPATCH(obj), dispIdMember, wFlags, pDispParams, pVarResult, &ExceptInfo, &ArgErr);
if (FAILED(hr)) {
hr = C_DISPATCH_VT(obj)->Invoke(C_DISPATCH(obj), dispIdMember, &IID_NULL, LOCALE_SYSTEM_DEFAULT, wFlags, pDispParams, pVarResult, &ExceptInfo, &ArgErr);
if (SUCCEEDED(hr)) {
/*
* ITypLib doesn't work
* Release ITypeLib and fall back to IDispatch
*/
C_TYPEINFO_VT(obj)->Release(C_TYPEINFO(obj));
C_HASTLIB(obj) = FALSE;
C_TYPEINFO(obj) = NULL;
}
}
} else {
hr = C_DISPATCH_VT(obj)->Invoke(C_DISPATCH(obj), dispIdMember, &IID_NULL, LOCALE_SYSTEM_DEFAULT, wFlags, pDispParams, pVarResult, &ExceptInfo, &ArgErr);
}
hr = C_DISPATCH_VT(obj)->Invoke(C_DISPATCH(obj), dispIdMember, &IID_NULL, LOCALE_SYSTEM_DEFAULT, wFlags, pDispParams, pVarResult, &ExceptInfo, &ArgErr);
if (FAILED(hr)) {
switch (hr) {
@@ -726,7 +709,7 @@ PHP_FUNCTION(com_load)
}
}
RETURN_RESOURCE(zend_list_insert(obj, IS_COM));
RETVAL_COM(obj);
}
/* }}} */
@@ -744,7 +727,7 @@ static int do_COM_invoke(comval *obj, WORD dispflags, pval *function_name, VARIA
int current_arg, current_variant;
unsigned long count;
if (C_HASENUM(obj) && strstr(Z_STRVAL_P(function_name), "next")) {
if (C_HASENUM(obj) && strstr(Z_STRVAL_P(function_name), "next")) {
/* Grab one argument off the stack, allocate enough
* VARIANTs
* Get the IEnumVariant interface and call ->Next();
@@ -896,7 +879,7 @@ static int do_COM_invoke(comval *obj, WORD dispflags, pval *function_name, VARIA
efree(funcname);
for (current_arg=0;current_arg<arg_count;current_arg++) {
/* don't release IDispatch pointers as they are used afterwards */
if (V_VT(&variant_args[current_arg]) != VT_DISPATCH) {
if (V_VT(&(variant_args[current_arg])) != VT_DISPATCH) {
/* @todo review this: what happens to an array of IDispatchs or a VARIANT->IDispatch */
VariantClear(&variant_args[current_arg]);
}
@@ -918,6 +901,7 @@ static int do_COM_invoke(comval *obj, WORD dispflags, pval *function_name, VARIA
return SUCCESS;
}
/* {{{ proto mixed com_invoke_ex(int module, int invokeflags, string handler_name [, mixed arg [, mixed ...]])
Invokes a COM module */
PHP_FUNCTION(com_invoke_ex)
@@ -947,17 +931,7 @@ PHP_FUNCTION(com_invoke_ex)
dispflags = (WORD)Z_LVAL_P(invokeflags);
/* obtain IDispatch interface */
if (Z_TYPE_P(object) == IS_OBJECT && (Z_OBJCE_P(object) == &COM_class_entry || !strcmp(Z_OBJCE_P(object)->name, "COM"))) {
zval **tmp;
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void**)&tmp);
ZEND_FETCH_RESOURCE(obj, comval*, tmp, -1, "comval", IS_COM);
} else if (Z_TYPE_P(object) == IS_RESOURCE) {
ZEND_FETCH_RESOURCE(obj, comval*, &object, -1, "comval", IS_COM);
}
if (obj == NULL) {
php_error(E_WARNING, "%d is not a COM object handler", Z_LVAL_P(object));
RETURN_NULL();
}
FETCH_COM_SAFE(object, obj);
ALLOC_VARIANT(var_result);
@@ -982,7 +956,6 @@ PHP_FUNCTION(com_invoke)
pval **arguments;
pval *object, *function_name;
comval *obj;
int type;
int arg_count = ZEND_NUM_ARGS();
VARIANT *var_result;
@@ -998,12 +971,7 @@ PHP_FUNCTION(com_invoke)
function_name = arguments[1];
/* obtain IDispatch interface */
convert_to_long(object);
obj = (comval *)zend_list_find(Z_LVAL_P(object), &type);
if (!obj || (type != IS_COM)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s is not a COM object handler", Z_STRVAL_P(function_name));
RETURN_NULL();
}
FETCH_COM_SAFE(object, obj);
/* obtain property/method handler */
convert_to_string_ex(&function_name);
@@ -1030,7 +998,6 @@ PHP_FUNCTION(com_release)
{
pval *object;
comval *obj;
int type;
int arg_count = ZEND_NUM_ARGS();
if (arg_count != 1) {
@@ -1042,12 +1009,7 @@ PHP_FUNCTION(com_release)
}
/* obtain IDispatch interface */
convert_to_long_ex(&object);
obj = (comval *)zend_list_find(Z_LVAL_P(object), &type);
if (!obj || (type != IS_COM)) {
php_error(E_WARNING, "%s(): %d is not a COM object handler", get_active_function_name(TSRMLS_C));
RETURN_FALSE;
}
FETCH_COM_SAFE(object, obj);
RETURN_LONG(php_COM_release(obj TSRMLS_CC))
}
@@ -1060,7 +1022,6 @@ PHP_FUNCTION(com_addref)
{
pval *object;
comval *obj;
int type;
int arg_count = ZEND_NUM_ARGS();
if (arg_count != 1) {
@@ -1072,13 +1033,7 @@ PHP_FUNCTION(com_addref)
}
/* obtain IDispatch interface */
convert_to_long_ex(&object);
obj = (comval *)zend_list_find(Z_LVAL_P(object), &type);
if (!obj || (type != IS_COM))
{
php_error(E_WARNING, "%s(): %d is not a COM object handler", get_active_function_name(TSRMLS_C));
RETURN_FALSE;
}
FETCH_COM_SAFE(object, obj);
RETURN_LONG(php_COM_addref(obj TSRMLS_CC));
}
@@ -1453,12 +1408,8 @@ PHP_FUNCTION(com_print_typeinfo)
RETURN_FALSE;
}
if (Z_TYPE_P(arg1) == IS_OBJECT && (Z_OBJCE_P(arg1) == &COM_class_entry || !strcmp(Z_OBJCE_P(arg1)->name, "COM"))) {
zval **tmp;
zend_hash_index_find(Z_OBJPROP_P(arg1), 0, (void**)&tmp);
ZEND_FETCH_RESOURCE(obj, comval*, tmp, -1, "comval", IS_COM);
} else if (Z_TYPE_P(arg1) == IS_RESOURCE) {
ZEND_FETCH_RESOURCE(obj, comval*, &arg1, -1, "comval", IS_COM);
if (Z_TYPE_P(arg1) == IS_OBJECT) {
FETCH_COM_SAFE(arg1, obj);
} else {
convert_to_string(arg1);
typelibname = Z_STRVAL_P(arg1);
@@ -1492,14 +1443,8 @@ PHP_FUNCTION(com_event_sink)
RETURN_FALSE;
}
if (Z_TYPE_P(object) == IS_OBJECT && (Z_OBJCE_P(object) == &COM_class_entry || !strcmp(Z_OBJCE_P(object)->name, "COM"))) {
zval **tmp;
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void**)&tmp);
ZEND_FETCH_RESOURCE(obj, comval*, tmp, -1, "comval", IS_COM);
} else {
ZEND_FETCH_RESOURCE(obj, comval*, &object, -1, "comval", IS_COM);
}
FETCH_COM_SAFE(object, obj);
if (sink && Z_TYPE_P(sink) == IS_ARRAY) {
/* 0 => typelibname, 1 => dispname */
zval **tmp;
@@ -1665,6 +1610,11 @@ static void do_COM_propput(pval *return_value, comval *obj, pval *arg_property,
FREE_VARIANT(var_result);
/* free the string we allocated; invoked object made its own copy */
if (V_VT(new_value) == VT_BSTR) {
VariantClear(new_value);
}
efree(new_value);
efree(propname);
@@ -1682,8 +1632,10 @@ static void do_COM_propput(pval *return_value, comval *obj, pval *arg_property,
hr = php_COM_invoke(obj, dispid, DISPATCH_PROPERTYGET, &dispparams, var_result, &ErrString TSRMLS_CC);
if (SUCCEEDED(hr)) {
php_variant_to_pval(var_result, return_value, codepage TSRMLS_CC);
RETVAL_VARIANT(var_result);
} else {
FREE_VARIANT(var_result);
*return_value = *value;
zval_copy_ctor(return_value);
}
@@ -1691,11 +1643,15 @@ static void do_COM_propput(pval *return_value, comval *obj, pval *arg_property,
if (ErrString) {
pefree(ErrString, 1);
}
} else {
FREE_VARIANT(var_result);
}
FREE_VARIANT(var_result);
efree(new_value); // FREE_VARIANT does a VariantClear() which is not desired here !
/* free the string we allocated; invoked object made its own copy */
if (V_VT(new_value) == VT_BSTR) {
VariantClear(new_value);
}
efree(new_value);
efree(propname);
}
@@ -1721,18 +1677,8 @@ PHP_FUNCTION(com_propget)
object = arguments[0];
function_name = arguments[1];
if (Z_TYPE_P(object) == IS_OBJECT && (Z_OBJCE_P(object) == &COM_class_entry || !strcmp(Z_OBJCE_P(object)->name, "COM"))) {
zval **tmp;
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void**)&tmp);
ZEND_FETCH_RESOURCE(obj, comval*, tmp, -1, "comval", IS_COM);
} else if (Z_TYPE_P(object) == IS_RESOURCE) {
ZEND_FETCH_RESOURCE(obj, comval*, &object, -1, "comval", IS_COM);
}
if (obj == NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "parameter 1 is not a COM object handler");
RETURN_NULL();
}
FETCH_COM_SAFE(object, obj);
/* obtain property/method handler */
convert_to_string_ex(&function_name);
@@ -1773,18 +1719,8 @@ PHP_FUNCTION(com_propput)
object = arguments[0];
function_name = arguments[1];
if (Z_TYPE_P(object) == IS_OBJECT && (Z_OBJCE_P(object) == &COM_class_entry || !strcmp(Z_OBJCE_P(object)->name, "COM"))) {
zval **tmp;
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void**)&tmp);
ZEND_FETCH_RESOURCE(obj, comval*, tmp, -1, "comval", IS_COM);
} else if (Z_TYPE_P(object) == IS_RESOURCE) {
ZEND_FETCH_RESOURCE(obj, comval*, &object, -1, "comval", IS_COM);
}
if (obj == NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "parameter 1 is not a COM object handler");
RETURN_NULL();
}
FETCH_COM_SAFE(object, obj);
/* obtain property/method handler */
convert_to_string_ex(&function_name);
@@ -1844,7 +1780,7 @@ PHPAPI pval php_COM_get_property_handler(zend_property_reference *property_refer
{
zend_overloaded_element *overloaded_property;
zend_llist_element *element;
pval return_value;
pval retval;
pval **comval_handle;
pval *object = property_reference->object;
int type;
@@ -1852,14 +1788,14 @@ PHPAPI pval php_COM_get_property_handler(zend_property_reference *property_refer
VARIANT *var_result;
TSRMLS_FETCH();
INIT_ZVAL(return_value);
ZVAL_NULL(&return_value);
INIT_ZVAL(retval);
ZVAL_NULL(&retval);
/* fetch the IDispatch interface */
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void **) &comval_handle);
obj = (comval *) zend_list_find(Z_LVAL_P(*comval_handle), &type);
if (!obj || (type != IS_COM)) {
return return_value;
return retval;
}
ALLOC_COM(obj_prop);
@@ -1873,7 +1809,7 @@ PHPAPI pval php_COM_get_property_handler(zend_property_reference *property_refer
FREE_VARIANT(var_result);
FREE_COM(obj_prop);
return return_value;
return retval;
}
break;
@@ -1882,7 +1818,7 @@ PHPAPI pval php_COM_get_property_handler(zend_property_reference *property_refer
FREE_VARIANT(var_result);
FREE_COM(obj_prop);
return return_value;
return retval;
}
break;
@@ -1890,35 +1826,32 @@ PHPAPI pval php_COM_get_property_handler(zend_property_reference *property_refer
FREE_VARIANT(var_result);
if (obj != obj_prop) {
FREE_COM(obj_prop);
efree(obj_prop);
return_value = *object;
ZVAL_ADDREF(&return_value);
retval = *object;
zval_copy_ctor(&retval);
} else {
RETVAL_COM(obj);
ZVAL_COM(&retval, obj);
}
return return_value;
return retval;
}
if (obj == obj_prop) {
// not head
pval_destructor(&overloaded_property->element);
}
zval_dtor(&overloaded_property->element);
if (V_VT(var_result) == VT_DISPATCH) {
if (V_DISPATCH(var_result) == NULL) {
FREE_VARIANT(var_result);
FREE_COM(obj_prop);
return return_value;
return retval;
}
obj = obj_prop;
php_COM_set(obj, &V_DISPATCH(var_result), TRUE TSRMLS_CC);
VariantInit(var_result); // to protect C_DISPATCH(obj) from being freed when var_result is destructed
} else {
php_variant_to_pval(var_result, &return_value, codepage TSRMLS_CC);
php_variant_to_pval(var_result, &retval, codepage TSRMLS_CC);
FREE_COM(obj_prop);
obj_prop = NULL;
@@ -1926,13 +1859,13 @@ PHPAPI pval php_COM_get_property_handler(zend_property_reference *property_refer
}
if (obj_prop != NULL) {
RETVAL_COM(obj);
ZVAL_COM(&retval, obj);
}
FREE_VARIANT(var_result);
return return_value;
return retval;
}
@@ -2002,7 +1935,7 @@ PHPAPI int php_COM_set_property_handler(zend_property_reference *property_refere
}
VariantInit(var_result); // to protect C_DISPATCH(obj) from being freed when var_result is destructed
pval_destructor(&overloaded_property->element);
zval_dtor(&overloaded_property->element);
}
FREE_VARIANT(var_result);
@@ -2010,7 +1943,7 @@ PHPAPI int php_COM_set_property_handler(zend_property_reference *property_refere
do_COM_propput(NULL, obj, &overloaded_property->element, value TSRMLS_CC);
FREE_COM(obj_prop);
pval_destructor(&overloaded_property->element);
zval_dtor(&overloaded_property->element);
return SUCCESS;
}
@@ -2041,20 +1974,15 @@ PHPAPI void php_COM_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_pro
if (zend_llist_count(property_reference->elements_list)==1
&& !strcmp(Z_STRVAL(function_name->element), "com")) {
/* constructor */
pval *object_handle;
PHP_FN(com_load)(INTERNAL_FUNCTION_PARAM_PASSTHRU);
if (zend_is_true(return_value)) {
ALLOC_ZVAL(object_handle);
*object_handle = *return_value;
pval_copy_constructor(object_handle);
INIT_PZVAL(object_handle);
zend_hash_index_update(Z_OBJPROP_P(object), 0, &object_handle, sizeof(pval *), NULL);
pval_destructor(&function_name->element);
} else {
ZVAL_NULL(object);
}
/* free instance created by 'new' */
zval_dtor(object);
/* and override it with the instance created by 'com_load()' */
*object = *return_value;
INIT_ZVAL(*return_value);
zval_dtor(&function_name->element);
return;
}
@@ -2062,8 +1990,8 @@ PHPAPI void php_COM_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_pro
property = php_COM_get_property_handler(property_reference);
if (Z_TYPE(property) != IS_OBJECT) {
pval_destructor(&property);
pval_destructor(&function_name->element);
zval_dtor(&property);
zval_dtor(&function_name->element);
/* error message - function call on a non-object */
return;
@@ -2073,8 +2001,8 @@ PHPAPI void php_COM_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_pro
obj = (comval *)zend_list_find(Z_LVAL_PP(handle), &type);
if (!obj || (type != IS_COM)) {
pval_destructor(&property);
pval_destructor(&function_name->element);
zval_dtor(&property);
zval_dtor(&function_name->element);
return;
}
@@ -2092,24 +2020,20 @@ PHPAPI void php_COM_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_pro
ALLOC_VARIANT(var_result);
arguments = (pval **) emalloc(sizeof(pval *)*arg_count);
arguments = (zval **) emalloc(sizeof(zval *)*arg_count);
zend_get_parameters_array(ht, arg_count, arguments);
if (do_COM_invoke(obj , DISPATCH_METHOD|DISPATCH_PROPERTYGET, &function_name->element, var_result, arguments, arg_count TSRMLS_CC) == SUCCESS) {
php_variant_to_pval(var_result, return_value, codepage TSRMLS_CC);
RETVAL_VARIANT(var_result);
} else {
FREE_VARIANT(var_result);
}
FREE_VARIANT(var_result);
efree(arguments);
}
if (zend_llist_count(property_reference->elements_list) > 1) {
/* destruct temporary object */
zend_list_delete(Z_LVAL_PP(handle));
pval_destructor(&property);
}
pval_destructor(&function_name->element);
zval_dtor(&property);
zval_dtor(&function_name->element);
}
@@ -2283,7 +2207,6 @@ static ITypeLib *php_COM_find_typelib(char *search_string, int mode TSRMLS_DC)
PHPAPI int php_COM_load_typelib(ITypeLib *TypeLib, int mode TSRMLS_DC)
{
ITypeComp *TypeComp;
int i;
int interfaces;
@@ -2291,40 +2214,33 @@ PHPAPI int php_COM_load_typelib(ITypeLib *TypeLib, int mode TSRMLS_DC)
return FAILURE;
}
interfaces = TypeLib->lpVtbl->GetTypeInfoCount(TypeLib);
interfaces = ITypeLib_GetTypeInfoCount(TypeLib);
TypeLib->lpVtbl->GetTypeComp(TypeLib, &TypeComp);
for (i=0; i<interfaces; i++) {
TYPEKIND pTKind;
TypeLib->lpVtbl->GetTypeInfoType(TypeLib, i, &pTKind);
if (pTKind==TKIND_ENUM) {
ITypeLib_GetTypeInfoType(TypeLib, i, &pTKind);
if (pTKind == TKIND_ENUM) {
ITypeInfo *TypeInfo;
VARDESC *pVarDesc;
UINT NameCount;
int j;
#if 0
BSTR bstr_EnumId;
char *EnumId;
TypeLib->lpVtbl->GetDocumentation(TypeLib, i, &bstr_EnumId, NULL, NULL, NULL);
EnumId = php_OLECHAR_to_char(bstr_EnumId, NULL, codepage);
printf("Enumeration %d - %s:\n", i, EnumId);
efree(EnumId);
#endif
ITypeLib_GetTypeInfo(TypeLib, i, &TypeInfo);
TypeLib->lpVtbl->GetTypeInfo(TypeLib, i, &TypeInfo);
j=0;
while (SUCCEEDED(TypeInfo->lpVtbl->GetVarDesc(TypeInfo, j, &pVarDesc))) {
for (j = 0; ; j++) {
BSTR bstr_ids;
zend_constant c;
zval exists, results, value;
char *const_name;
TypeInfo->lpVtbl->GetNames(TypeInfo, pVarDesc->memid, &bstr_ids, 1, &NameCount);
if (NameCount!=1) {
j++;
if (FAILED(ITypeInfo_GetVarDesc(TypeInfo, j, &pVarDesc))) {
break;
}
ITypeInfo_GetNames(TypeInfo, pVarDesc->memid, &bstr_ids, 1, &NameCount);
if (NameCount != 1) {
ITypeInfo_ReleaseVarDesc(TypeInfo, pVarDesc);
continue;
}
const_name = php_OLECHAR_to_char(bstr_ids, &c.name_len, codepage TSRMLS_CC);
@@ -2341,7 +2257,7 @@ PHPAPI int php_COM_load_typelib(ITypeLib *TypeLib, int mode TSRMLS_DC)
php_error(E_WARNING, "%s(): Type library value %s is already defined and has a different value", get_active_function_name(TSRMLS_C), c.name);
}
free(c.name);
j++;
ITypeInfo_ReleaseVarDesc(TypeInfo, pVarDesc);
continue;
}
@@ -2355,10 +2271,9 @@ PHPAPI int php_COM_load_typelib(ITypeLib *TypeLib, int mode TSRMLS_DC)
zend_register_constant(&c TSRMLS_CC);
}
j++;
ITypeInfo_ReleaseVarDesc(TypeInfo, pVarDesc);
}
TypeInfo->lpVtbl->Release(TypeInfo);
ITypeInfo_Release(TypeInfo);
}
}
@@ -2370,9 +2285,7 @@ PHPAPI int php_COM_load_typelib(ITypeLib *TypeLib, int mode TSRMLS_DC)
PHP_FUNCTION(com_isenum)
{
pval *object;
pval **comval_handle;
comval *obj;
int type;
if (ZEND_NUM_ARGS() != 1) {
ZEND_WRONG_PARAM_COUNT();
@@ -2381,12 +2294,7 @@ PHP_FUNCTION(com_isenum)
zend_get_parameters(ht, 1, &object);
/* obtain IDispatch interface */
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void **) &comval_handle);
obj = (comval *) zend_list_find(Z_LVAL_PP(comval_handle), &type);
if (!obj || (type != IS_COM)) {
php_error(E_WARNING,"%s(): %s is not a COM object handler", get_active_function_name(TSRMLS_C), "");
RETURN_FALSE;
}
FETCH_COM_SAFE(object, obj);
RETURN_BOOL(C_HASENUM(obj));
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+17 -4
View File
@@ -42,20 +42,33 @@ END_EXTERN_C()
} \
ZVAL_RESOURCE(handle, zend_list_insert((o), IS_COM)); \
\
zval_copy_ctor(handle); \
zend_hash_index_update(properties, 0, &handle, sizeof(zval *), NULL); \
object_and_properties_init(z, &COM_class_entry, properties); \
(z)->is_ref=1; \
}
#define RETVAL_COM(o) ZVAL_COM(&return_value, o);
#define RETVAL_COM(o) ZVAL_COM(return_value, o);
#define RETURN_COM(o) RETVAL_COM(o) \
return;
#define ALLOC_COM(z) (z) = (comval *) ecalloc(1, sizeof(comval)); \
C_REFCOUNT(z) = 0;
#define ALLOC_COM(z) (z) = (comval *) ecalloc(1, sizeof(comval));
#define FREE_COM(z) php_COM_destruct(z TSRMLS_CC);
#define FETCH_COM(z, obj) { \
zval **tmp; \
zend_hash_index_find(Z_OBJPROP_P(z), 0, (void**)&tmp); \
ZEND_FETCH_RESOURCE(obj, comval*, tmp, -1, "comval", IS_COM); \
} \
if (obj == NULL) { \
php_error(E_WARNING, "%d is not a COM object handler", Z_LVAL_P(z)); \
RETURN_NULL(); \
}
#define FETCH_COM_SAFE(z, obj) \
if ((Z_TYPE_P(z) == IS_OBJECT) && (Z_OBJCE_P(z) == &COM_class_entry)) \
FETCH_COM(z, obj)
#define IS_COM php_COM_get_le_comval()
#define C_HASTLIB(x) ((x)->typelib)
+1 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -729,7 +729,6 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int codepage TS
php_COM_set(obj, &V_DISPATCH(var_arg), FALSE TSRMLS_CC);
ZVAL_COM(pval_arg, obj);
VariantInit(var_arg); // to protect C_DISPATCH(obj) from being freed when var_result is destructed
}
}
break;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -58,7 +58,7 @@ ZEND_BEGIN_MODULE_GLOBALS(com)
int nothing;
ZEND_END_MODULE_GLOBALS(com)
PHPAPI ZEND_EXTERN_MODULE_GLOBALS(com);
PHPAPI ZEND_EXTERN_MODULE_GLOBALS(com)
#ifdef ZTS
#define COMG(v) TSRMG(com_globals_id, zend_com_globals *, v)
+13 -8
View File
@@ -12,14 +12,19 @@
#define IS_VARIANT php_VARIANT_get_le_variant()
#define ZVAL_VARIANT(z, v) if (V_VT(v) == VT_DISPATCH) { \
comval *obj; \
ALLOC_COM(obj); \
php_COM_set(obj, &V_DISPATCH(v), TRUE TSRMLS_CC); \
ZVAL_RESOURCE((z), zend_list_insert(obj, IS_COM)); \
} else { \
php_variant_to_pval((v), (z), codepage TSRMLS_CC); \
FREE_VARIANT(v); \
#define ZVAL_VARIANT(z, v) if (V_VT(v) == VT_DISPATCH) { \
if (V_DISPATCH(v)) { \
comval *obj; \
ALLOC_COM(obj); \
php_COM_set(obj, &V_DISPATCH(v), TRUE TSRMLS_CC); \
ZVAL_COM((z), obj); \
efree(v); \
} else { \
ZVAL_NULL(z); \
} \
} else { \
php_variant_to_pval((v), (z), codepage TSRMLS_CC); \
FREE_VARIANT(v); \
}
#define RETVAL_VARIANT(v) ZVAL_VARIANT(return_value, (v));
+75 -58
View File
@@ -1,70 +1,87 @@
dnl $Id$
AC_DEFUN(CPDF_JPEG_TEST,[
AC_ARG_WITH(jpeg-dir,
[ --with-jpeg-dir[=DIR] CPDF: Set the path to libjpeg install prefix.],[
for i in $withval /usr/local /usr; do
if test -f "$i/lib/libjpeg.$SHLIB_SUFFIX_NAME" -o -f "$i/lib/libjpeg.a"; then
CPDF_JPEG_DIR=$i
break;
fi
done
if test -z "$CPDF_JPEG_DIR"; then
AC_MSG_CHECKING([for libjpeg (needed by cpdflib 2.x)])
AC_MSG_ERROR([libjpeg.(a|so) not found.])
fi
PHP_CHECK_LIBRARY(jpeg, jpeg_read_header, [
PHP_ADD_LIBRARY_WITH_PATH(jpeg, $CPDF_JPEG_DIR/lib, CPDF_SHARED_LIBADD)
] ,[
AC_MSG_ERROR([CPDF: Problem with libjpeg.(a|so). Please check config.log for more information.])
], [
-L$CPDF_JPEG_DIR/lib
])
],)
])
AC_DEFUN(CPDF_TIFF_TEST,[
AC_ARG_WITH(tiff-dir,
[ --with-tiff-dir[=DIR] CPDF: Set the path to libtiff install prefix.],[
for i in $withval /usr/local /usr; do
if test -f "$i/lib/libtiff.$SHLIB_SUFFIX_NAME" -o -f "$i/lib/libtiff.a"; then
CPDF_TIFF_DIR=$i
break;
fi
done
if test -z "$CPDF_TIFF_DIR"; then
AC_MSG_CHECKING([for libtiff (needed by cpdflib 2.x)])
AC_MSG_ERROR([libtiff.(a|so) not found.])
fi
PHP_CHECK_LIBRARY(tiff, TIFFOpen, [
PHP_ADD_LIBRARY_WITH_PATH(tiff, $CPDF_TIFF_DIR/lib, CPDF_SHARED_LIBADD)
] ,[
AC_MSG_ERROR([CPDF: Problem with libtiff.(a|so). Please check config.log for more information.])
], [
-L$CPDF_TIFF_DIR/lib
])
],)
])
AC_MSG_CHECKING(for cpdflib support)
AC_ARG_WITH(cpdflib,
[ --with-cpdflib[=DIR] Include cpdflib support (requires cpdflib >= 2).],
[
case $withval in
no)
AC_MSG_RESULT(no) ;;
yes)
AC_MSG_RESULT(yes)
PHP_NEW_EXTENSION(cpdf, cpdf.c)
AC_CHECK_LIB(cpdf, cpdf_open, [AC_DEFINE(HAVE_CPDFLIB,1,[Whether you have cpdflib])],
[AC_MSG_ERROR([Cpdf module requires cpdflib >= 2.])])
PHP_ADD_LIBRARY(cpdf)
PHP_ADD_LIBRARY(tiff)
PHP_ADD_LIBRARY(jpeg)
;;
*)
test -f $withval/include/cpdflib.h && CPDFLIB_INCLUDE=$withval/include
if test -n "$CPDFLIB_INCLUDE" ; then
AC_MSG_RESULT(yes)
PHP_NEW_EXTENSION(cpdf, cpdf.c)
old_LIBS=$LIBS
old_withval=$withval
PHP_WITH_SHARED
if test "$withval" != "no"; then
cpdf_withval=$withval
PHP_NEW_EXTENSION(cpdf, cpdf.c, $ext_shared,, \\$(GDLIB_CFLAGS))
PHP_SUBST(CPDF_SHARED_LIBADD)
CPDF_JPEG_TEST
CPDF_TIFF_TEST
AC_MSG_CHECKING([for libjpeg (needed by cpdflib 2.x)])
AC_ARG_WITH(jpeg-dir,
[ --with-jpeg-dir[=DIR] jpeg dir for cpdflib 2.x],[
AC_MSG_RESULT(yes)
if test -z $withval; then
withval=/usr/local
fi
LIBS="$LIBS -L$withval/lib"
AC_CHECK_LIB(jpeg,jpeg_read_header, ,[AC_MSG_RESULT(no)],)
PHP_ADD_LIBRARY_WITH_PATH(jpeg, $withval/lib)
],[
AC_MSG_RESULT(no)
AC_MSG_WARN(If configure fails try --with-jpeg-dir=<DIR>)
])
for i in $cpdf_withval /usr/local /usr; do
if test -f "$i/include/cpdflib.h"; then
CPDFLIB_INCLUDE=$i/include
AC_MSG_CHECKING(for cpdflib.h)
AC_MSG_RESULT([in $i/include])
AC_MSG_CHECKING([for libtiff (needed by cpdflib 2.x)])
AC_ARG_WITH(tiff-dir,
[ --with-tiff-dir[=DIR] tiff dir for cpdflib 2.x],[
AC_MSG_RESULT(yes)
if test -z $withval; then
withval=/usr/local
fi
LIBS="$LIBS -L$withval/lib"
AC_CHECK_LIB(tiff,TIFFOpen, ,[AC_MSG_RESULT(no)],)
PHP_ADD_LIBRARY_WITH_PATH(tiff, $withval/lib)
],[
AC_MSG_RESULT(no)
AC_MSG_WARN(If configure fails try --with-tiff-dir=<DIR>)
])
withval=$old_withval
PHP_CHECK_LIBRARY(cpdf, cpdf_open, [
PHP_ADD_INCLUDE($CPDFLIB_INCLUDE)
PHP_ADD_LIBRARY_WITH_PATH(cpdf, $i/lib, CPDF_SHARED_LIBADD)
AC_DEFINE(HAVE_CPDFLIB,1,[Whether you have cpdflib])
], [
AC_MSG_ERROR([Cpdflib module requires cpdflib >= 2.])
], [
-L$i/lib $CPDF_SHARED_LIBADD
])
break
fi
done
LIBS="$LIBS -L$withval/lib"
AC_CHECK_LIB(cpdf, cpdf_open, [AC_DEFINE(HAVE_CPDFLIB,1,[Whether you have cpdflib])],
[AC_MSG_ERROR([Cpdflib module requires cpdflib >= 2.])])
LIBS=$old_LIBS
PHP_ADD_LIBRARY_WITH_PATH(cpdf, $withval/lib)
PHP_ADD_INCLUDE($CPDFLIB_INCLUDE)
else
AC_MSG_RESULT(no)
fi ;;
esac
if test -z "$CPDFLIB_INCLUDE"; then
AC_MSG_CHECKING(for cpdflib.h)
AC_MSG_ERROR([not found])
fi
fi
],[
AC_MSG_RESULT(no)
])
+83 -64
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -41,6 +41,8 @@
#include <gd.h>
#endif
#include <cpdflib.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
@@ -220,7 +222,7 @@ PHP_MSHUTDOWN_FUNCTION(cpdf)
return SUCCESS;
}
/* {{{ proto void cpdf_global_set_document_limits(int maxPages, int maxFonts, int maxImages, int maxAnnots, int maxObjects)
/* {{{ proto bool cpdf_global_set_document_limits(int maxPages, int maxFonts, int maxImages, int maxAnnots, int maxObjects)
Sets document settings for all documents */
PHP_FUNCTION(cpdf_global_set_document_limits)
{
@@ -354,7 +356,7 @@ PHP_FUNCTION(cpdf_set_keywords)
}
/* }}} */
/* {{{ proto void cpdf_set_viewer_preferences(int pdfdoc, array preferences)
/* {{{ proto bool cpdf_set_viewer_preferences(int pdfdoc, array preferences)
How to show the document in the viewer */
PHP_FUNCTION(cpdf_set_viewer_preferences)
{
@@ -473,6 +475,10 @@ PHP_FUNCTION(cpdf_open)
if(strcmp(Z_STRVAL_P(arg2), "-") == 0)
php_error(E_WARNING, "%s(): Writing to stdout as described in the ClibPDF manual is not possible if php is used as an Apache module. Write to a memory stream and use cpdf_output_buffer() instead.", get_active_function_name(TSRMLS_C));
#endif
if (php_check_open_basedir(Z_STRVAL_P(arg2) TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(Z_STRVAL_P(arg2), "rb+", CHECKUID_CHECK_MODE_PARAM))) {
RETURN_FALSE;
}
cpdf_setOutputFilename(cpdf, Z_STRVAL_P(arg2));
}
cpdf_init(cpdf);
@@ -508,7 +514,7 @@ PHP_FUNCTION(cpdf_close)
/* }}} */
#define BUFFERLEN 40
/* {{{ proto void cpdf_page_init(int pdfdoc, int pagenr, int orientation, int height, int width [, float unit])
/* {{{ proto bool cpdf_page_init(int pdfdoc, int pagenr, int orientation, int height, int width [, float unit])
Starts page */
PHP_FUNCTION(cpdf_page_init)
{
@@ -553,7 +559,7 @@ PHP_FUNCTION(cpdf_page_init)
/* }}} */
#undef BUFFERLEN
/* {{{ proto void cpdf_finalize_page(int pdfdoc, int pagenr)
/* {{{ proto bool cpdf_finalize_page(int pdfdoc, int pagenr)
Ends the page to save memory */
PHP_FUNCTION(cpdf_finalize_page)
{
@@ -581,7 +587,7 @@ PHP_FUNCTION(cpdf_finalize_page)
}
/* }}} */
/* {{{ proto void cpdf_set_current_page(int pdfdoc, int pagenr)
/* {{{ proto bool cpdf_set_current_page(int pdfdoc, int pagenr)
Sets page for output */
PHP_FUNCTION(cpdf_set_current_page)
{
@@ -609,7 +615,7 @@ PHP_FUNCTION(cpdf_set_current_page)
}
/* }}} */
/* {{{ proto void cpdf_begin_text(int pdfdoc)
/* {{{ proto bool cpdf_begin_text(int pdfdoc)
Starts text section */
PHP_FUNCTION(cpdf_begin_text)
{
@@ -635,7 +641,7 @@ PHP_FUNCTION(cpdf_begin_text)
}
/* }}} */
/* {{{ proto void cpdf_end_text(int pdfdoc)
/* {{{ proto bool cpdf_end_text(int pdfdoc)
Ends text section */
PHP_FUNCTION(cpdf_end_text)
{
@@ -661,7 +667,7 @@ PHP_FUNCTION(cpdf_end_text)
}
/* }}} */
/* {{{ proto void cpdf_show(int pdfdoc, string text)
/* {{{ proto bool cpdf_show(int pdfdoc, string text)
Output text at current position */
PHP_FUNCTION(cpdf_show)
{
@@ -688,7 +694,7 @@ PHP_FUNCTION(cpdf_show)
}
/* }}} */
/* {{{ proto void cpdf_show_xy(int pdfdoc, string text, float x-koor, float y-koor [, int mode])
/* {{{ proto bool cpdf_show_xy(int pdfdoc, string text, float x-koor, float y-koor [, int mode])
Output text at position */
PHP_FUNCTION(cpdf_show_xy)
{
@@ -726,7 +732,7 @@ PHP_FUNCTION(cpdf_show_xy)
}
/* }}} */
/* {{{ proto void cpdf_continue_text(int pdfdoc, string text)
/* {{{ proto bool cpdf_continue_text(int pdfdoc, string text)
Outputs text in next line */
PHP_FUNCTION(cpdf_continue_text)
{
@@ -753,7 +759,7 @@ PHP_FUNCTION(cpdf_continue_text)
}
/* }}} */
/* {{{ proto void cpdf_text(int pdfdoc, string text [, float x-koor, float y-koor [, int mode [, float orientation [, int alignmode]]]])
/* {{{ proto bool cpdf_text(int pdfdoc, string text [, float x-koor, float y-koor [, int mode [, float orientation [, int alignmode]]]])
Outputs text */
PHP_FUNCTION(cpdf_text)
{
@@ -843,7 +849,7 @@ PHP_FUNCTION(cpdf_text)
}
/* }}} */
/* {{{ proto void cpdf_set_font(int pdfdoc, string font, float size, string encoding)
/* {{{ proto bool cpdf_set_font(int pdfdoc, string font, float size, string encoding)
Selects the current font face, size and encoding */
PHP_FUNCTION(cpdf_set_font)
{
@@ -877,7 +883,7 @@ PHP_FUNCTION(cpdf_set_font)
}
/* }}} */
/* {{{ proto void cpdf_set_font_directories(int pdfdoc, string pfmdir, string pfbdir)
/* {{{ proto bool cpdf_set_font_directories(int pdfdoc, string pfmdir, string pfbdir)
Sets directories to search when using external fonts */
PHP_FUNCTION(cpdf_set_font_directories)
{
@@ -905,7 +911,7 @@ PHP_FUNCTION(cpdf_set_font_directories)
}
/* }}} */
/* {{{ proto void cpdf_set_font_map_file(int pdfdoc, string filename)
/* {{{ proto bool cpdf_set_font_map_file(int pdfdoc, string filename)
Sets fontname to filename translation map when using external fonts */
PHP_FUNCTION(cpdf_set_font_map_file)
{
@@ -926,13 +932,17 @@ PHP_FUNCTION(cpdf_set_font_map_file)
RETURN_FALSE;
}
if (php_check_open_basedir(Z_STRVAL_P(arg2) TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(Z_STRVAL_P(arg2), "rb+", CHECKUID_CHECK_MODE_PARAM))) {
RETURN_FALSE;
}
cpdf_setFontMapFile(pdf, Z_STRVAL_P(arg2));
RETURN_TRUE;
}
/* }}} */
/* {{{ proto void cpdf_set_leading(int pdfdoc, float distance)
/* {{{ proto bool cpdf_set_leading(int pdfdoc, float distance)
Sets distance between text lines */
PHP_FUNCTION(cpdf_set_leading)
{
@@ -959,7 +969,7 @@ PHP_FUNCTION(cpdf_set_leading)
}
/* }}} */
/* {{{ proto void cpdf_set_text_rendering(int pdfdoc, int rendermode)
/* {{{ proto bool cpdf_set_text_rendering(int pdfdoc, int rendermode)
Determines how text is rendered */
PHP_FUNCTION(cpdf_set_text_rendering)
{
@@ -986,7 +996,7 @@ PHP_FUNCTION(cpdf_set_text_rendering)
}
/* }}} */
/* {{{ proto void cpdf_set_horiz_scaling(int pdfdoc, float scale)
/* {{{ proto bool cpdf_set_horiz_scaling(int pdfdoc, float scale)
Sets horizontal scaling of text */
PHP_FUNCTION(cpdf_set_horiz_scaling)
{
@@ -1013,7 +1023,7 @@ PHP_FUNCTION(cpdf_set_horiz_scaling)
}
/* }}} */
/* {{{ proto void cpdf_set_text_rise(int pdfdoc, float value)
/* {{{ proto bool cpdf_set_text_rise(int pdfdoc, float value)
Sets the text rise */
PHP_FUNCTION(cpdf_set_text_rise)
{
@@ -1040,7 +1050,7 @@ PHP_FUNCTION(cpdf_set_text_rise)
}
/* }}} */
/* {{{ proto void cpdf_set_text_matrix(int pdfdoc, arry matrix)
/* {{{ proto bool cpdf_set_text_matrix(int pdfdoc, arry matrix)
Sets the text matrix */
PHP_FUNCTION(cpdf_set_text_matrix)
{
@@ -1093,7 +1103,7 @@ PHP_FUNCTION(cpdf_set_text_matrix)
}
/* }}} */
/* {{{ proto void cpdf_set_text_pos(int pdfdoc, float x, float y [, int mode])
/* {{{ proto bool cpdf_set_text_pos(int pdfdoc, float x, float y [, int mode])
Sets the position of text for the next cpdf_show call */
PHP_FUNCTION(cpdf_set_text_pos)
{
@@ -1130,7 +1140,7 @@ PHP_FUNCTION(cpdf_set_text_pos)
}
/* }}} */
/* {{{ proto void cpdf_rotate_text(int pdfdoc, float angle)
/* {{{ proto bool cpdf_rotate_text(int pdfdoc, float angle)
Sets text rotation angle */
PHP_FUNCTION(cpdf_rotate_text)
{
@@ -1157,7 +1167,7 @@ PHP_FUNCTION(cpdf_rotate_text)
}
/* }}} */
/* {{{ proto void cpdf_set_char_spacing(int pdfdoc, float space)
/* {{{ proto bool cpdf_set_char_spacing(int pdfdoc, float space)
Sets character spacing */
PHP_FUNCTION(cpdf_set_char_spacing)
{
@@ -1184,7 +1194,7 @@ PHP_FUNCTION(cpdf_set_char_spacing)
}
/* }}} */
/* {{{ proto void cpdf_set_word_spacing(int pdfdoc, float space)
/* {{{ proto bool cpdf_set_word_spacing(int pdfdoc, float space)
Sets spacing between words */
PHP_FUNCTION(cpdf_set_word_spacing)
{
@@ -1239,7 +1249,7 @@ PHP_FUNCTION(cpdf_stringwidth)
}
/* }}} */
/* {{{ proto void cpdf_save(int pdfdoc)
/* {{{ proto bool cpdf_save(int pdfdoc)
Saves current enviroment */
PHP_FUNCTION(cpdf_save)
{
@@ -1265,7 +1275,7 @@ PHP_FUNCTION(cpdf_save)
}
/* }}} */
/* {{{ proto void cpdf_restore(int pdfdoc)
/* {{{ proto bool cpdf_restore(int pdfdoc)
Restores formerly saved enviroment */
PHP_FUNCTION(cpdf_restore)
{
@@ -1291,7 +1301,7 @@ PHP_FUNCTION(cpdf_restore)
}
/* }}} */
/* {{{ proto void cpdf_translate(int pdfdoc, float x, float y)
/* {{{ proto bool cpdf_translate(int pdfdoc, float x, float y)
Sets origin of coordinate system */
PHP_FUNCTION(cpdf_translate)
{
@@ -1319,7 +1329,7 @@ PHP_FUNCTION(cpdf_translate)
}
/* }}} */
/* {{{ proto void cpdf_scale(int pdfdoc, float x_scale, float y_scale)
/* {{{ proto bool cpdf_scale(int pdfdoc, float x_scale, float y_scale)
Sets scaling */
PHP_FUNCTION(cpdf_scale)
{
@@ -1347,7 +1357,7 @@ PHP_FUNCTION(cpdf_scale)
}
/* }}} */
/* {{{ proto void cpdf_rotate(int pdfdoc, float angle)
/* {{{ proto bool cpdf_rotate(int pdfdoc, float angle)
Sets rotation */
PHP_FUNCTION(cpdf_rotate)
{
@@ -1374,7 +1384,7 @@ PHP_FUNCTION(cpdf_rotate)
}
/* }}} */
/* {{{ proto void cpdf_setflat(int pdfdoc, float value)
/* {{{ proto bool cpdf_setflat(int pdfdoc, float value)
Sets flatness */
PHP_FUNCTION(cpdf_setflat)
{
@@ -1406,7 +1416,7 @@ PHP_FUNCTION(cpdf_setflat)
}
/* }}} */
/* {{{ proto void cpdf_setlinejoin(int pdfdoc, int value)
/* {{{ proto bool cpdf_setlinejoin(int pdfdoc, int value)
Sets linejoin parameter */
PHP_FUNCTION(cpdf_setlinejoin)
{
@@ -1438,7 +1448,7 @@ PHP_FUNCTION(cpdf_setlinejoin)
}
/* }}} */
/* {{{ proto void cpdf_setlinecap(int pdfdoc, int value)
/* {{{ proto bool cpdf_setlinecap(int pdfdoc, int value)
Sets linecap parameter */
PHP_FUNCTION(cpdf_setlinecap)
{
@@ -1470,7 +1480,7 @@ PHP_FUNCTION(cpdf_setlinecap)
}
/* }}} */
/* {{{ proto void cpdf_setmiterlimit(int pdfdoc, float value)
/* {{{ proto bool cpdf_setmiterlimit(int pdfdoc, float value)
Sets miter limit */
PHP_FUNCTION(cpdf_setmiterlimit)
{
@@ -1502,7 +1512,7 @@ PHP_FUNCTION(cpdf_setmiterlimit)
}
/* }}} */
/* {{{ proto void cpdf_setlinewidth(int pdfdoc, float width)
/* {{{ proto bool cpdf_setlinewidth(int pdfdoc, float width)
Sets line width */
PHP_FUNCTION(cpdf_setlinewidth)
{
@@ -1530,7 +1540,7 @@ PHP_FUNCTION(cpdf_setlinewidth)
/* }}} */
#define BUFFERLEN 20
/* {{{ proto void cpdf_setdash(int pdfdoc, long white, long black)
/* {{{ proto bool cpdf_setdash(int pdfdoc, long white, long black)
Sets dash pattern */
PHP_FUNCTION(cpdf_setdash)
{
@@ -1561,7 +1571,7 @@ PHP_FUNCTION(cpdf_setdash)
/* }}} */
#undef BUFFERLEN
/* {{{ proto void cpdf_moveto(int pdfdoc, float x, float y [, int mode])
/* {{{ proto bool cpdf_moveto(int pdfdoc, float x, float y [, int mode])
Sets current point */
PHP_FUNCTION(cpdf_moveto)
{
@@ -1598,7 +1608,7 @@ PHP_FUNCTION(cpdf_moveto)
}
/* }}} */
/* {{{ proto void cpdf_rmoveto(int pdfdoc, float x, float y [, int mode])
/* {{{ proto bool cpdf_rmoveto(int pdfdoc, float x, float y [, int mode])
Sets current point */
PHP_FUNCTION(cpdf_rmoveto)
{
@@ -1635,7 +1645,7 @@ PHP_FUNCTION(cpdf_rmoveto)
}
/* }}} */
/* {{{ proto void cpdf_curveto(int pdfdoc, float x1, float y1, float x2, float y2, float x3, float y3 [, int mode])
/* {{{ proto bool cpdf_curveto(int pdfdoc, float x1, float y1, float x2, float y2, float x3, float y3 [, int mode])
Draws a curve */
PHP_FUNCTION(cpdf_curveto)
{
@@ -1686,7 +1696,7 @@ PHP_FUNCTION(cpdf_curveto)
}
/* }}} */
/* {{{ proto void cpdf_lineto(int pdfdoc, float x, float y [, int mode])
/* {{{ proto bool cpdf_lineto(int pdfdoc, float x, float y [, int mode])
Draws a line */
PHP_FUNCTION(cpdf_lineto)
{
@@ -1723,7 +1733,7 @@ PHP_FUNCTION(cpdf_lineto)
}
/* }}} */
/* {{{ proto void cpdf_rlineto(int pdfdoc, float x, float y [, int mode])
/* {{{ proto bool cpdf_rlineto(int pdfdoc, float x, float y [, int mode])
Draws a line relative to current point */
PHP_FUNCTION(cpdf_rlineto)
{
@@ -1760,7 +1770,7 @@ PHP_FUNCTION(cpdf_rlineto)
}
/* }}} */
/* {{{ proto void cpdf_circle(int pdfdoc, float x, float y, float radius [, int mode])
/* {{{ proto bool cpdf_circle(int pdfdoc, float x, float y, float radius [, int mode])
Draws a circle */
PHP_FUNCTION(cpdf_circle)
{
@@ -1798,7 +1808,7 @@ PHP_FUNCTION(cpdf_circle)
}
/* }}} */
/* {{{ proto void cpdf_arc(int pdfdoc, float x, float y, float radius, float start, float end [, int mode])
/* {{{ proto bool cpdf_arc(int pdfdoc, float x, float y, float radius, float start, float end [, int mode])
Draws an arc */
PHP_FUNCTION(cpdf_arc)
{
@@ -1838,7 +1848,7 @@ PHP_FUNCTION(cpdf_arc)
}
/* }}} */
/* {{{ proto void cpdf_rect(int pdfdoc, float x, float y, float width, float height [, int mode])
/* {{{ proto bool cpdf_rect(int pdfdoc, float x, float y, float width, float height [, int mode])
Draws a rectangle */
PHP_FUNCTION(cpdf_rect)
{
@@ -1883,7 +1893,7 @@ PHP_FUNCTION(cpdf_rect)
}
/* }}} */
/* {{{ proto void cpdf_newpath(int pdfdoc)
/* {{{ proto bool cpdf_newpath(int pdfdoc)
Starts new path */
PHP_FUNCTION(cpdf_newpath)
{
@@ -1909,7 +1919,7 @@ PHP_FUNCTION(cpdf_newpath)
}
/* }}} */
/* {{{ proto void cpdf_closepath(int pdfdoc)
/* {{{ proto bool cpdf_closepath(int pdfdoc)
Close path */
PHP_FUNCTION(cpdf_closepath)
{
@@ -1935,7 +1945,7 @@ PHP_FUNCTION(cpdf_closepath)
}
/* }}} */
/* {{{ proto void cpdf_closepath_stroke(int pdfdoc)
/* {{{ proto bool cpdf_closepath_stroke(int pdfdoc)
Close path and draw line along path */
PHP_FUNCTION(cpdf_closepath_stroke)
{
@@ -1962,7 +1972,7 @@ PHP_FUNCTION(cpdf_closepath_stroke)
}
/* }}} */
/* {{{ proto void cpdf_stroke(int pdfdoc)
/* {{{ proto bool cpdf_stroke(int pdfdoc)
Draws line along path path */
PHP_FUNCTION(cpdf_stroke)
{
@@ -1988,7 +1998,7 @@ PHP_FUNCTION(cpdf_stroke)
}
/* }}} */
/* {{{ proto void cpdf_fill(int pdfdoc)
/* {{{ proto bool cpdf_fill(int pdfdoc)
Fills current path */
PHP_FUNCTION(cpdf_fill)
{
@@ -2014,7 +2024,7 @@ PHP_FUNCTION(cpdf_fill)
}
/* }}} */
/* {{{ proto void cpdf_fill_stroke(int pdfdoc)
/* {{{ proto bool cpdf_fill_stroke(int pdfdoc)
Fills and stroke current path */
PHP_FUNCTION(cpdf_fill_stroke)
{
@@ -2041,7 +2051,7 @@ PHP_FUNCTION(cpdf_fill_stroke)
}
/* }}} */
/* {{{ proto void cpdf_closepath_fill_stroke(int pdfdoc)
/* {{{ proto bool cpdf_closepath_fill_stroke(int pdfdoc)
Close, fill and stroke current path */
PHP_FUNCTION(cpdf_closepath_fill_stroke)
{
@@ -2069,7 +2079,7 @@ PHP_FUNCTION(cpdf_closepath_fill_stroke)
}
/* }}} */
/* {{{ proto void cpdf_clip(int pdfdoc)
/* {{{ proto bool cpdf_clip(int pdfdoc)
Clips to current path */
PHP_FUNCTION(cpdf_clip)
{
@@ -2095,7 +2105,7 @@ PHP_FUNCTION(cpdf_clip)
}
/* }}} */
/* {{{ proto void cpdf_setgray_fill(int pdfdoc, float value)
/* {{{ proto bool cpdf_setgray_fill(int pdfdoc, float value)
Sets filling color to gray value */
PHP_FUNCTION(cpdf_setgray_fill)
{
@@ -2122,7 +2132,7 @@ PHP_FUNCTION(cpdf_setgray_fill)
}
/* }}} */
/* {{{ proto void cpdf_setgray_stroke(int pdfdoc, float value)
/* {{{ proto bool cpdf_setgray_stroke(int pdfdoc, float value)
Sets drawing color to gray value */
PHP_FUNCTION(cpdf_setgray_stroke)
{
@@ -2149,7 +2159,7 @@ PHP_FUNCTION(cpdf_setgray_stroke)
}
/* }}} */
/* {{{ proto void cpdf_setgray(int pdfdoc, float value)
/* {{{ proto bool cpdf_setgray(int pdfdoc, float value)
Sets drawing and filling color to gray value */
PHP_FUNCTION(cpdf_setgray)
{
@@ -2176,7 +2186,7 @@ PHP_FUNCTION(cpdf_setgray)
}
/* }}} */
/* {{{ proto void cpdf_setrgbcolor_fill(int pdfdoc, float red, float green, float blue)
/* {{{ proto bool cpdf_setrgbcolor_fill(int pdfdoc, float red, float green, float blue)
Sets filling color to rgb color value */
PHP_FUNCTION(cpdf_setrgbcolor_fill)
{
@@ -2205,7 +2215,7 @@ PHP_FUNCTION(cpdf_setrgbcolor_fill)
}
/* }}} */
/* {{{ proto void cpdf_setrgbcolor_stroke(int pdfdoc, float red, float green, float blue)
/* {{{ proto bool cpdf_setrgbcolor_stroke(int pdfdoc, float red, float green, float blue)
Sets drawing color to RGB color value */
PHP_FUNCTION(cpdf_setrgbcolor_stroke)
{
@@ -2234,7 +2244,7 @@ PHP_FUNCTION(cpdf_setrgbcolor_stroke)
}
/* }}} */
/* {{{ proto void cpdf_setrgbcolor(int pdfdoc, float red, float green, float blue)
/* {{{ proto bool cpdf_setrgbcolor(int pdfdoc, float red, float green, float blue)
Sets drawing and filling color to RGB color value */
PHP_FUNCTION(cpdf_setrgbcolor)
{
@@ -2263,7 +2273,7 @@ PHP_FUNCTION(cpdf_setrgbcolor)
}
/* }}} */
/* {{{ proto void cpdf_set_page_animation(int pdfdoc, int transition, float duration, float direction, int orientation, int inout)
/* {{{ proto bool cpdf_set_page_animation(int pdfdoc, int transition, float duration, float direction, int orientation, int inout)
Sets transition between pages */
PHP_FUNCTION(cpdf_set_page_animation)
{
@@ -2295,7 +2305,7 @@ PHP_FUNCTION(cpdf_set_page_animation)
}
/* }}} */
/* {{{ proto array cpdf_finalize(int pdfdoc)
/* {{{ proto bool cpdf_finalize(int pdfdoc)
Creates PDF doc in memory */
PHP_FUNCTION(cpdf_finalize)
{
@@ -2321,7 +2331,7 @@ PHP_FUNCTION(cpdf_finalize)
}
/* }}} */
/* {{{ proto array cpdf_output_buffer(int pdfdoc)
/* {{{ proto bool cpdf_output_buffer(int pdfdoc)
Returns the internal memory stream as string */
PHP_FUNCTION(cpdf_output_buffer)
{
@@ -2350,7 +2360,7 @@ PHP_FUNCTION(cpdf_output_buffer)
}
/* }}} */
/* {{{ proto array cpdf_save_to_file(int pdfdoc, string filename)
/* {{{ proto bool cpdf_save_to_file(int pdfdoc, string filename)
Saves the internal memory stream to a file */
PHP_FUNCTION(cpdf_save_to_file)
{
@@ -2376,13 +2386,17 @@ PHP_FUNCTION(cpdf_save_to_file)
php_error(E_WARNING, "%s(): Writing to stdout as described in the ClibPDF manual is not possible if php is used as an Apache module. Use cpdf_output_buffer() instead.", get_active_function_name(TSRMLS_C));
#endif
if (php_check_open_basedir(Z_STRVAL_P(arg2) TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(Z_STRVAL_P(arg2), "wb+", CHECKUID_CHECK_MODE_PARAM))) {
RETURN_FALSE;
}
cpdf_savePDFmemoryStreamToFile(pdf, Z_STRVAL_P(arg2));
RETURN_TRUE;
}
/* }}} */
/* {{{ proto void cpdf_import_jpeg(int pdfdoc, string filename, float x, float y, float angle, float width, float height, float x_scale, float y_scale, int gsave [, int mode])
/* {{{ proto bool cpdf_import_jpeg(int pdfdoc, string filename, float x, float y, float angle, float width, float height, float x_scale, float y_scale, int gsave [, int mode])
Includes JPEG image */
PHP_FUNCTION(cpdf_import_jpeg)
{
@@ -2399,6 +2413,11 @@ PHP_FUNCTION(cpdf_import_jpeg)
convert_to_long(argv[0]);
convert_to_string(argv[1]);
if (php_check_open_basedir(Z_STRVAL_P(argv[1]) TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(Z_STRVAL_P(argv[1]), "rb+", CHECKUID_CHECK_MODE_PARAM))) {
RETURN_FALSE;
}
convert_to_double(argv[2]);
convert_to_double(argv[3]);
convert_to_double(argv[4]);
@@ -2450,7 +2469,7 @@ PHP_FUNCTION(cpdf_import_jpeg)
/* }}} */
#if HAVE_LIBGD13
/* {{{ proto void cpdf_place_inline_image(int pdfdoc, int gdimage, float x, float y, float angle, fload width, float height, int gsave [, int mode])
/* {{{ proto bool cpdf_place_inline_image(int pdfdoc, int gdimage, float x, float y, float angle, fload width, float height, int gsave [, int mode])
Includes image */
PHP_FUNCTION(cpdf_place_inline_image)
{
@@ -2542,7 +2561,7 @@ PHP_FUNCTION(cpdf_place_inline_image)
/* }}} */
#endif
/* {{{ proto void cpdf_add_annotation(int pdfdoc, float xll, float yll, float xur, float xur, string title, string text [, int mode])
/* {{{ proto bool cpdf_add_annotation(int pdfdoc, float xll, float yll, float xur, float xur, string title, string text [, int mode])
Sets annotation */
PHP_FUNCTION(cpdf_add_annotation)
{
+1 -3
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -29,8 +29,6 @@
#undef T
#endif
#include <cpdflib.h>
extern zend_module_entry cpdf_module_entry;
#define cpdf_module_ptr &cpdf_module_entry
+18 -19
View File
@@ -7,27 +7,26 @@ PHP_ARG_WITH(crack, for CRACKlib support,
if test "$PHP_CRACK" != "no"; then
for i in /usr/local/lib /usr/lib $PHP_CRACK/lib $PHP_CRACK/cracklib; do
test -f $i/libcrack.$SHLIB_SUFFIX_NAME -o -f $i/libcrack.a && CRACK_LIBDIR=$i
done
for i in $PHP_CRACK/lib $PHP_CRACK/cracklib /usr/local/lib /usr/lib; do
test -f $i/libcrack.$SHLIB_SUFFIX_NAME -o -f $i/libcrack.a && CRACK_LIBDIR=$i && break
done
for i in /usr/local/include /usr/include $PHP_CRACK/include $PHP_CRACK/cracklib; do
test -f $i/packer.h && CRACK_INCLUDEDIR=$i
done
if test -z "$CRACK_LIBDIR"; then
AC_MSG_ERROR(Cannot find the cracklib library file)
fi
for i in $PHP_CRACK/include $PHP_CRACK/cracklib /usr/local/include /usr/include; do
test -f $i/packer.h && CRACK_INCLUDEDIR=$i && break
done
if test -z "$CRACK_LIBDIR"; then
AC_MSG_ERROR(Cannot find the cracklib library file)
fi
if test -z "$CRACK_INCLUDEDIR"; then
AC_MSG_ERROR(Cannot find a cracklib header file)
fi
if test -z "$CRACK_INCLUDEDIR"; then
AC_MSG_ERROR(Cannot find a cracklib header file)
fi
PHP_ADD_INCLUDE($CRACK_INCLUDEDIR)
PHP_ADD_LIBRARY_WITH_PATH(crack, $CRACK_LIBDIR, CRACK_SHARED_LIBADD)
PHP_ADD_INCLUDE($CRACK_INCLUDEDIR)
PHP_ADD_LIBRARY_WITH_PATH(crack, $CRACK_LIBDIR, CRACK_SHARED_LIBADD)
PHP_NEW_EXTENSION(crack, crack.c, $ext_shared)
PHP_SUBST(CRACK_SHARED_LIBADD)
AC_DEFINE(HAVE_CRACK, 1, [ ])
PHP_NEW_EXTENSION(crack, crack.c, $ext_shared)
PHP_SUBST(CRACK_SHARED_LIBADD)
AC_DEFINE(HAVE_CRACK, 1, [ ])
fi
+20 -9
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -29,6 +29,9 @@
#include <packer.h>
extern char * FascistLook(PWDICT *pwp, char *instring);
extern int PWClose(PWDICT *pwp);
ZEND_DECLARE_MODULE_GLOBALS(crack)
/* True global resources - no need for thread safety here */
@@ -69,11 +72,16 @@ long _crack_open_dict(char *dictpath TSRMLS_DC)
long resource;
if (CRACKG(current_id) != -1) {
zend_error(E_WARNING, "Can not use more than one open dictionary with this implementation of libcrack");
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can not use more than one open dictionary with this implementation of libcrack");
return -1;
}
if ((PG(safe_mode) && (!php_checkuid(dictpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(dictpath TSRMLS_CC)) {
return -1;
}
if (NULL == (pwdict = PWOpen(dictpath, "r"))) {
zend_error(E_WARNING, "Unable to open a crack dictionary");
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open a crack dictionary");
return -1;
}
@@ -140,7 +148,7 @@ ZEND_MODULE_INFO_D(crack)
DISPLAY_INI_ENTRIES();
}
/* {{{ proto string crack_opendict(string dictionary)
/* {{{ proto resource crack_opendict(string dictionary)
Opens a new cracklib dictionary */
ZEND_FUNCTION(crack_opendict)
{
@@ -156,12 +164,12 @@ ZEND_FUNCTION(crack_opendict)
if (-1 == (resource = _crack_open_dict(Z_STRVAL_PP(dictpath) TSRMLS_CC))) {
RETURN_FALSE;
}
RETURN_RESOURCE(resource);
}
/* }}} */
/* {{{ proto string crack_closedict([int link_identifier])
/* {{{ proto bool crack_closedict([resource dictionary])
Closes an open cracklib dictionary */
ZEND_FUNCTION(crack_closedict)
{
@@ -184,6 +192,10 @@ ZEND_FUNCTION(crack_closedict)
break;
}
if (id < 1) {
RETURN_FALSE;
}
ZEND_FETCH_RESOURCE(pwdict, PWDICT *, dictionary, id, "cracklib dictionary", le_crack);
if (CRACKG(current_id) == id) {
CRACKG(current_id) = -1;
@@ -194,7 +206,7 @@ ZEND_FUNCTION(crack_closedict)
}
/* }}} */
/* {{{ proto string crack_check([int dictionary,] string password)
/* {{{ proto bool crack_check([resource dictionary,] string password)
Performs an obscure check with the given password */
ZEND_FUNCTION(crack_check)
{
@@ -218,7 +230,6 @@ ZEND_FUNCTION(crack_check)
if (zend_get_parameters_ex(2, &dictionary, &password) == FAILURE) {
RETURN_FALSE;
}
id = -1;
break;
default:
WRONG_PARAM_COUNT;
@@ -256,7 +267,7 @@ ZEND_FUNCTION(crack_getlastmessage)
}
if (NULL == CRACKG(last_message)) {
zend_error(E_WARNING, "No obscure checks in this session");
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No obscure checks in this session");
RETURN_FALSE;
}
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -105,7 +105,7 @@ PHP_MINFO_FUNCTION(ctype)
p=Z_STRVAL_P(c); \
len = Z_STRLEN_P(c); \
for(n=0;n<len;n++) { \
if(!iswhat(*p++)) RETURN_FALSE; \
if(!iswhat((int)*(unsigned char *)(p++))) RETURN_FALSE; \
} \
RETURN_TRUE; \
} \
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #25745 (ctype functions fail with non-ascii characters)
--FILE--
<?php
$funcs = array(
"ctype_alnum", "ctype_alpha", "ctype_cntrl", "ctype_digit",
"ctype_graph", "ctype_lower", "ctype_print", "ctype_punct",
"ctype_space", "ctype_upper", "ctype_xdigit"
);
foreach ($funcs as $ctype_func) {
for ($i = 0; $i < 256; $i++) {
$a = $ctype_func($i);
$b = $ctype_func(chr($i));
if ($a != $b) {
echo "broken... $ctype_func($i) = $a, $ctype_func(chr($i)) = $b\n";
exit;
}
}
}
echo "ok\n";
?>
--EXPECT--
ok
+1
View File
@@ -18,6 +18,7 @@ if test "$PHP_CURL" != "no"; then
if test -r $i/include/curl/easy.h; then
CURL_DIR=$i
AC_MSG_RESULT(found in $i)
break
fi
done
fi
+103 -54
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -191,7 +191,10 @@ PHP_MINIT_FUNCTION(curl)
REGISTER_CURL_CONSTANT(CURLOPT_SSLENGINE);
REGISTER_CURL_CONSTANT(CURLOPT_SSLENGINE_DEFAULT);
REGISTER_CURL_CONSTANT(CURLOPT_CRLF);
#if LIBCURL_VERSION_NUM >= 0x070a00
REGISTER_CURL_CONSTANT(CURLOPT_ENCODING);
#endif
/* Constants effecting the way CURLOPT_CLOSEPOLICY works */
REGISTER_CURL_CONSTANT(CURLCLOSEPOLICY_LEAST_RECENTLY_USED);
REGISTER_CURL_CONSTANT(CURLCLOSEPOLICY_LEAST_TRAFFIC);
@@ -335,7 +338,7 @@ static size_t curl_write(char *data, size_t size, size_t nmemb, void *ctx)
switch (t->method) {
case PHP_CURL_STDOUT:
PUTS(data);
PHPWRITE(data, length);
break;
case PHP_CURL_FILE:
return fwrite(data, size, nmemb, t->fp);
@@ -346,7 +349,6 @@ static size_t curl_write(char *data, size_t size, size_t nmemb, void *ctx)
zval *argv[2];
zval *retval;
int error;
TSRMLS_FETCH();
MAKE_STD_ZVAL(argv[0]);
MAKE_STD_ZVAL(argv[1]);
@@ -391,7 +393,9 @@ static size_t curl_read(char *data, size_t size, size_t nmemb, void *ctx)
switch (t->method) {
case PHP_CURL_DIRECT:
length = fread(data, size, nmemb, t->fp);
if (t->fp) {
length = fread(data, size, nmemb, t->fp);
}
break;
case PHP_CURL_USER: {
zval *argv[3];
@@ -453,7 +457,7 @@ static size_t curl_write_header(char *data, size_t size, size_t nmemb, void *ctx
if (ch->handlers->write->method == PHP_CURL_RETURN)
smart_str_appendl(&ch->handlers->write->buf, data, (int) length);
else
PUTS(data);
PHPWRITE(data, length);
break;
case PHP_CURL_FILE:
return fwrite(data, size, nmemb, t->fp);
@@ -569,7 +573,7 @@ static void curl_free_slist(void **slist)
/* }}} */
/* {{{ proto array curl_version(void)
/* {{{ proto string curl_version(void)
Return cURL version information. */
PHP_FUNCTION(curl_version)
{
@@ -627,6 +631,8 @@ PHP_FUNCTION(curl_init)
ch->handlers->read->method = PHP_CURL_DIRECT;
ch->handlers->write_header->method = PHP_CURL_IGNORE;
ch->uses = 0;
curl_easy_setopt(ch->cp, CURLOPT_NOPROGRESS, 1);
curl_easy_setopt(ch->cp, CURLOPT_VERBOSE, 0);
curl_easy_setopt(ch->cp, CURLOPT_ERRORBUFFER, ch->err.str);
@@ -722,21 +728,20 @@ PHP_FUNCTION(curl_setopt)
case CURLOPT_USERAGENT:
case CURLOPT_FTPPORT:
case CURLOPT_COOKIE:
case CURLOPT_COOKIEFILE:
case CURLOPT_REFERER:
case CURLOPT_INTERFACE:
case CURLOPT_KRB4LEVEL:
case CURLOPT_RANDOM_FILE:
case CURLOPT_EGDSOCKET:
case CURLOPT_CAINFO:
case CURLOPT_CAPATH:
case CURLOPT_COOKIEJAR:
case CURLOPT_SSL_CIPHER_LIST:
case CURLOPT_SSLKEY:
case CURLOPT_SSLCERT:
case CURLOPT_SSLKEYTYPE:
case CURLOPT_SSLKEYPASSWD:
case CURLOPT_SSLKEYPASSWD:
case CURLOPT_SSLENGINE:
#if LIBCURL_VERSION_NUM >= 0x070a00
case CURLOPT_ENCODING:
#endif
case CURLOPT_SSLENGINE_DEFAULT: {
char *copystr = NULL;
@@ -881,7 +886,7 @@ PHP_FUNCTION(curl_setopt)
error = curl_formadd(&first, &last,
CURLFORM_COPYNAME, string_key,
CURLFORM_NAMELENGTH, string_key_len - 1,
CURLFORM_PTRCONTENTS, postval,
(ZVAL_REFCOUNT(*zvalue) > 1 ? CURLFORM_PTRCONTENTS : CURLFORM_COPYCONTENTS), postval,
CURLFORM_CONTENTSLENGTH, Z_STRLEN_PP(current),
CURLFORM_END);
}
@@ -944,6 +949,28 @@ PHP_FUNCTION(curl_setopt)
error = curl_easy_setopt(ch->cp, option, slist);
break;
}
/* the following options deal with files, therefor safe_mode & open_basedir checks
* are required.
*/
case CURLOPT_COOKIEJAR:
case CURLOPT_SSLCERT:
case CURLOPT_RANDOM_FILE:
case CURLOPT_COOKIEFILE: {
char *copystr = NULL;
convert_to_string_ex(zvalue);
if (php_check_open_basedir(Z_STRVAL_PP(zvalue) TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(Z_STRVAL_PP(zvalue), "rb+", CHECKUID_CHECK_MODE_PARAM))) {
RETURN_FALSE;
}
copystr = estrndup(Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue));
error = curl_easy_setopt(ch->cp, option, copystr);
zend_llist_add_element(&ch->to_free.str, &copystr);
break;
}
}
@@ -1013,7 +1040,7 @@ PHP_FUNCTION(curl_exec)
}
/* }}} */
/* {{{ proto string curl_getinfo(resource ch, int opt)
/* {{{ proto mixed curl_getinfo(resource ch, int opt)
Get information regarding a specific transfer */
PHP_FUNCTION(curl_getinfo)
{
@@ -1036,46 +1063,68 @@ PHP_FUNCTION(curl_getinfo)
array_init(return_value);
curl_easy_getinfo(ch->cp, CURLINFO_EFFECTIVE_URL, &s_code);
CAAS("url", s_code);
curl_easy_getinfo(ch->cp, CURLINFO_CONTENT_TYPE, &s_code);
CAAS("content_type", s_code);
curl_easy_getinfo(ch->cp, CURLINFO_HTTP_CODE, &l_code);
CAAL("http_code", l_code);
curl_easy_getinfo(ch->cp, CURLINFO_HEADER_SIZE, &l_code);
CAAL("header_size", l_code);
curl_easy_getinfo(ch->cp, CURLINFO_REQUEST_SIZE, &l_code);
CAAL("request_size", l_code);
curl_easy_getinfo(ch->cp, CURLINFO_FILETIME, &l_code);
CAAL("filetime", l_code);
curl_easy_getinfo(ch->cp, CURLINFO_SSL_VERIFYRESULT, &l_code);
CAAL("ssl_verify_result", l_code);
curl_easy_getinfo(ch->cp, CURLINFO_REDIRECT_COUNT, &l_code);
CAAL("redirect_count", l_code);
curl_easy_getinfo(ch->cp, CURLINFO_TOTAL_TIME, &d_code);
CAAD("total_time", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_NAMELOOKUP_TIME, &d_code);
CAAD("namelookup_time", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_CONNECT_TIME, &d_code);
CAAD("connect_time", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_PRETRANSFER_TIME, &d_code);
CAAD("pretransfer_time", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_SIZE_UPLOAD, &d_code);
CAAD("size_upload", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_SIZE_DOWNLOAD, &d_code);
CAAD("size_download", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_SPEED_DOWNLOAD, &d_code);
CAAD("speed_download", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_SPEED_UPLOAD, &d_code);
CAAD("speed_upload", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &d_code);
CAAD("download_content_length", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_CONTENT_LENGTH_UPLOAD, &d_code);
CAAD("upload_content_length", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_STARTTRANSFER_TIME, &d_code);
CAAD("starttransfer_time", d_code);
curl_easy_getinfo(ch->cp, CURLINFO_REDIRECT_TIME, &d_code);
CAAD("redirect_time", d_code);
if (curl_easy_getinfo(ch->cp, CURLINFO_EFFECTIVE_URL, &s_code) == CURLE_OK) {
CAAS("url", s_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_CONTENT_TYPE, &s_code) == CURLE_OK) {
if (s_code != NULL) {
CAAS("content_type", s_code);
}
}
if (curl_easy_getinfo(ch->cp, CURLINFO_HTTP_CODE, &l_code) == CURLE_OK) {
CAAL("http_code", l_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_HEADER_SIZE, &l_code) == CURLE_OK) {
CAAL("header_size", l_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_REQUEST_SIZE, &l_code) == CURLE_OK) {
CAAL("request_size", l_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_FILETIME, &l_code) == CURLE_OK) {
CAAL("filetime", l_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_SSL_VERIFYRESULT, &l_code) == CURLE_OK) {
CAAL("ssl_verify_result", l_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_REDIRECT_COUNT, &l_code) == CURLE_OK) {
CAAL("redirect_count", l_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_TOTAL_TIME, &d_code) == CURLE_OK) {
CAAD("total_time", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_NAMELOOKUP_TIME, &d_code) == CURLE_OK) {
CAAD("namelookup_time", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_CONNECT_TIME, &d_code) == CURLE_OK) {
CAAD("connect_time", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_PRETRANSFER_TIME, &d_code) == CURLE_OK) {
CAAD("pretransfer_time", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_SIZE_UPLOAD, &d_code) == CURLE_OK) {
CAAD("size_upload", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_SIZE_DOWNLOAD, &d_code) == CURLE_OK) {
CAAD("size_download", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_SPEED_DOWNLOAD, &d_code) == CURLE_OK) {
CAAD("speed_download", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_SPEED_UPLOAD, &d_code) == CURLE_OK) {
CAAD("speed_upload", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &d_code) == CURLE_OK) {
CAAD("download_content_length", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_CONTENT_LENGTH_UPLOAD, &d_code) == CURLE_OK) {
CAAD("upload_content_length", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_STARTTRANSFER_TIME, &d_code) == CURLE_OK) {
CAAD("starttransfer_time", d_code);
}
if (curl_easy_getinfo(ch->cp, CURLINFO_REDIRECT_TIME, &d_code) == CURLE_OK) {
CAAD("redirect_time", d_code);
}
} else {
option = Z_LVAL_PP(zoption);
switch (option) {
+2 -2
View File
@@ -113,7 +113,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 php4ts_debug.lib libcurl.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /debug /machine:I386 /nodefaultlib:"msvcrtd.lib" /out:"..\..\Debug_TS/php_curl.dll" /libpath:"..\..\Debug_TS"
# SUBTRACT BASE LINK32 /pdb:none
# ADD LINK32 php4ts_debug.lib libcurl.lib ssleay32.lib libeay32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /dll /incremental:yes /debug /machine:I386 /nodefaultlib:"MSVCRTD" /out:"..\..\Debug_TS/php_curl.dll" /libpath:"..\..\Debug_TS" /libpath:"..\..\..\php_build\curl\lib"
# ADD LINK32 php4ts_debug.lib libcurl.lib ssleay32.lib libeay32.lib msvcrt.lib ws2_32.lib winmm.lib zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /dll /incremental:yes /debug /machine:I386 /nodefaultlib:"MSVCRTD" /out:"..\..\Debug_TS/php_curl.dll" /libpath:"..\..\Debug_TS" /libpath:"..\..\..\php_build\curl\lib"
# SUBTRACT LINK32 /pdb:none /nodefaultlib
!ELSEIF "$(CFG)" == "curl - Win32 Release_TS_SSL"
@@ -142,7 +142,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 php4ts.lib libcurl.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"msvcrt.lib" /out:"..\..\Release_TS/php_curl.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline"
# SUBTRACT BASE LINK32 /pdb:none
# ADD LINK32 php4ts.lib libcurl.lib ssleay32.lib libeay32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /dll /machine:I386 /nodefaultlib:"MSVCRT" /out:"..\..\Release_TS/php_curl.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline" /libpath:"..\..\..\php_build\curl\lib"
# ADD LINK32 php4ts.lib libcurl.lib ssleay32.lib libeay32.lib msvcrt.lib ws2_32.lib winmm.lib zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /dll /machine:I386 /nodefaultlib:"MSVCRT" /out:"..\..\Release_TS/php_curl.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline" /libpath:"..\..\..\php_build\curl\lib"
# SUBTRACT LINK32 /pdb:none
!ENDIF
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -3,7 +3,7 @@ dnl $Id$
dnl
PHP_ARG_WITH(cyrus, for cyrus imap support,
[ --with-cyrus[=dir] Include Cyrus IMAP support])
[ --with-cyrus[=DIR] Include Cyrus IMAP support])
if test "$PHP_CYRUS" != "no"; then
found_cyrus=no
+44 -44
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -53,7 +53,7 @@ zend_module_entry cyrus_module_entry = {
cyrus_functions,
PHP_MINIT(cyrus),
NULL,
NULL,
NULL,
NULL,
PHP_MINFO(cyrus),
NO_VERSION_YET,
@@ -71,7 +71,7 @@ static void cyrus_free(zend_rsrc_list_entry *rsrc)
if (conn->client)
imclient_close(conn->client);
if (conn->host)
if (conn->host)
efree(conn->host);
if (conn->port)
@@ -79,16 +79,16 @@ static void cyrus_free(zend_rsrc_list_entry *rsrc)
efree(conn);
}
PHP_MINIT_FUNCTION(cyrus)
{
le_cyrus = zend_register_list_destructors_ex(cyrus_free, NULL,
le_cyrus = zend_register_list_destructors_ex(cyrus_free, NULL,
le_cyrus_name, module_number);
REGISTER_LONG_CONSTANT("CYRUS_CONN_NONSYNCLITERAL",
REGISTER_LONG_CONSTANT("CYRUS_CONN_NONSYNCLITERAL",
IMCLIENT_CONN_NONSYNCLITERAL,
CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CYRUS_CONN_INITIALRESPONSE",
REGISTER_LONG_CONSTANT("CYRUS_CONN_INITIALRESPONSE",
IMCLIENT_CONN_INITIALRESPONSE,
CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CYRUS_CALLBACK_NUMBERED", CALLBACK_NUMBERED,
@@ -108,7 +108,7 @@ PHP_MINFO_FUNCTION(cyrus)
extern void fatal(char *s, int exit)
{
php_error(E_ERROR, s);
php_error(E_ERROR, "%s", s);
}
/* {{{ proto resource cyrus_connect([ string host [, string port [, int flags]]])
@@ -125,7 +125,7 @@ PHP_FUNCTION(cyrus_connect)
int flags = 0;
int error;
int argc = ZEND_NUM_ARGS();
if (argc < 0 || argc > 3 ||
zend_get_parameters_ex(argc, &z_host, &z_port, &z_flags) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -169,7 +169,7 @@ PHP_FUNCTION(cyrus_connect)
case -1:
php_error(E_WARNING, "%s(): Invalid hostname: %s", get_active_function_name(TSRMLS_C), host);
RETURN_FALSE;
case -2:
php_error(E_WARNING, "%s(): Invalid port: %d", get_active_function_name(TSRMLS_C), port);
RETURN_FALSE;
@@ -181,14 +181,14 @@ PHP_FUNCTION(cyrus_connect)
/* }}} */
static void cyrus_capable_callback(struct imclient *client, void *rock,
static void cyrus_capable_callback(struct imclient *client, void *rock,
struct imclient_reply *reply)
{
char *token = NULL;
char *token_buf;
char *mechanism = rock;
/* We need to split the reply up by the whitespace */
token = php_strtok_r(reply->text, " ", &token_buf);
while (token != NULL) {
@@ -202,7 +202,7 @@ static void cyrus_capable_callback(struct imclient *client, void *rock,
}
/* {{{ proto bool cyrus_authenticate( resource connection [, string mechlist [, string service [, string user [, int minssf [, int maxssf]]]]])
/* {{{ proto void cyrus_authenticate( resource connection [, string mechlist [, string service [, string user [, int minssf [, int maxssf]]]]])
Authenticate agaings a Cyrus IMAP server */
PHP_FUNCTION(cyrus_authenticate)
{
@@ -235,26 +235,26 @@ PHP_FUNCTION(cyrus_authenticate)
else {
char tmp_mechlist[100];
int pos = 0;
/* NULL out the buffer, ensures it has a safe ending and allows us to
* test properly for the end of the buffer
*/
memset(tmp_mechlist, 0, sizeof tmp_mechlist);
/* We'll be calling the "CAPABILITY" command, which will give us a list
* of the types of authorization the server is capable of
* of the types of authorization the server is capable of
*/
imclient_addcallback(conn->client, "CAPABILITY", 0,
imclient_addcallback(conn->client, "CAPABILITY", 0,
cyrus_capable_callback, (void *) tmp_mechlist, 0);
imclient_send(conn->client, NULL, NULL, "CAPABILITY");
/* Grab the end of string position into pos */
while (tmp_mechlist[pos++] != 0)
while (tmp_mechlist[pos++] != 0)
;
/* Tack on PLAIN to whatever the auth string is */
memcpy(tmp_mechlist + pos, " PLAIN", 6);
/* Copy it onto the main buffer */
mechlist = estrndup(tmp_mechlist, pos + 6);
}
@@ -277,22 +277,22 @@ PHP_FUNCTION(cyrus_authenticate)
/* XXX: UGLY, but works, determines the username to use */
user = (char *) sapi_getenv("USER", 4);
if (! user) {
user = (char *) getenv("USER");
if (! user) {
user = (char *) sapi_getenv("LOGNAME", 7);
user = (char *) getenv("USER");
if (! user) {
user = (char *) getenv("LOGNAME");
if (! user) {
struct passwd *pwd = getpwuid(getuid());
if (! pwd) {
php_error(E_WARNING, "%s(): Couldn't determine user id", get_active_function_name(TSRMLS_C));
RETURN_FALSE;
user = (char *) sapi_getenv("LOGNAME", 7);
if (! user) {
user = (char *) getenv("LOGNAME");
if (! user) {
struct passwd *pwd = getpwuid(getuid());
if (! pwd) {
php_error(E_WARNING, "%s(): Couldn't determine user id", get_active_function_name(TSRMLS_C));
RETURN_FALSE;
}
user = estrdup(pwd->pw_name);
}
}
user = estrdup(pwd->pw_name);
}
}
}
}
}
@@ -314,7 +314,7 @@ PHP_FUNCTION(cyrus_authenticate)
maxssf = 1000;
}
imclient_authenticate(conn->client, mechlist, service,
imclient_authenticate(conn->client, mechlist, service,
user, minssf, maxssf);
efree(mechlist);
@@ -324,8 +324,8 @@ PHP_FUNCTION(cyrus_authenticate)
/* }}} */
static void cyrus_generic_callback(struct imclient *client,
void *rock,
static void cyrus_generic_callback(struct imclient *client,
void *rock,
struct imclient_reply *reply)
{
php_cyrus_callback *callback = rock;
@@ -356,7 +356,7 @@ static void cyrus_generic_callback(struct imclient *client,
argv[2] = &text;
argv[3] = &msgno;
if (call_user_function_ex(EG(function_table), NULL, callback->function,
if (call_user_function_ex(EG(function_table), NULL, callback->function,
&retval, 4, argv, 0, NULL TSRMLS_CC) == FAILURE) {
php_error(E_WARNING, "%s(): Couldn't call the %s handler",
get_active_function_name(TSRMLS_C), callback->trigger);
@@ -374,8 +374,8 @@ static void cyrus_generic_callback(struct imclient *client,
}
}
/* {{{ proto bool cyrus_bind( resource connection, array callbacks)
/* {{{ proto bool cyrus_bind( resource connection, array callbacks)
Bind callbacks to a Cyrus IMAP connection */
PHP_FUNCTION(cyrus_bind)
{
@@ -397,7 +397,7 @@ PHP_FUNCTION(cyrus_bind)
hash = HASH_OF(*z_callback);
if (! hash) {
php_error(E_WARNING,
php_error(E_WARNING,
"%s(): Second argument must be an array or object", get_active_function_name(TSRMLS_C));
RETURN_FALSE;
}
@@ -407,9 +407,9 @@ PHP_FUNCTION(cyrus_bind)
zend_hash_move_forward(hash)) {
SEPARATE_ZVAL(tmp);
zend_hash_get_current_key(hash, &string_key, &num_key, 0);
if (! string_key)
if (! string_key)
continue;
if (! strcasecmp(string_key, "trigger")) {
convert_to_string_ex(tmp);
callback.trigger = estrndup(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
@@ -436,7 +436,7 @@ PHP_FUNCTION(cyrus_bind)
callback.le = conn->id;
imclient_addcallback(conn->client, callback.trigger, callback.flags,
imclient_addcallback(conn->client, callback.trigger, callback.flags,
cyrus_generic_callback, (void **) &callback, 0);
RETURN_TRUE;
@@ -458,14 +458,14 @@ PHP_FUNCTION(cyrus_unbind)
ZEND_FETCH_RESOURCE(conn, php_cyrus *, z_conn, -1, le_cyrus_name, le_cyrus);
convert_to_string_ex(trigger_name);
imclient_addcallback(conn->client, Z_STRVAL_PP(trigger_name), 0,
imclient_addcallback(conn->client, Z_STRVAL_PP(trigger_name), 0,
NULL, NULL, 0);
RETURN_TRUE;
}
/* }}} */
/* {{{ proto bool cyrus_query( resource connection, string query)
/* {{{ proto bool cyrus_query( resource connection, string query)
Send a query to a Cyrus IMAP server */
PHP_FUNCTION(cyrus_query)
{
@@ -480,7 +480,7 @@ PHP_FUNCTION(cyrus_query)
ZEND_FETCH_RESOURCE(conn, php_cyrus *, z_conn, -1, le_cyrus_name, le_cyrus);
convert_to_string_ex(query);
imclient_send(conn->client, NULL, NULL, Z_STRVAL_PP(query));
imclient_send(conn->client, NULL, NULL, Z_STRVAL_PP(query));
RETURN_TRUE;
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -26,7 +26,7 @@ AC_DEFUN(AC_PREFERRED_DB_LIB,[
PHP_ARG_WITH(db, for xDBM support,
[ --with-db Include old xDBM support (deprecated use --with-dba)])
[ --with-db Include old xDBM support (deprecated, use --enable-dba instead)])
if test "$PHP_DB" != "no"; then
+9 -9
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -260,7 +260,7 @@ PHP_MINFO_FUNCTION(db)
{
/* this isn't pretty ... should break out the info a bit more (cmv) */
php_info_print_box_start(0);
php_printf(php_get_info_db());
php_printf("%s", php_get_info_db());
php_info_print_box_end();
}
/* }}} */
@@ -513,7 +513,7 @@ PHP_FUNCTION(dbminsert)
info = php_find_dbm(id TSRMLS_CC);
if (!info) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %d", Z_LVAL_P(id));
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %ld", Z_LVAL_P(id));
RETURN_FALSE;
}
@@ -539,7 +539,7 @@ PHP_FUNCTION(dbmreplace)
info = php_find_dbm(id TSRMLS_CC);
if (!info) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %d", Z_LVAL_P(id));
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %ld", Z_LVAL_P(id));
RETURN_FALSE;
}
@@ -607,7 +607,7 @@ PHP_FUNCTION(dbmfetch)
info = php_find_dbm(id TSRMLS_CC);
if (!info) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %d", Z_LVAL_P(id));
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %ld", Z_LVAL_P(id));
RETURN_FALSE;
}
@@ -683,7 +683,7 @@ PHP_FUNCTION(dbmexists)
info = php_find_dbm(id TSRMLS_CC);
if (!info) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %d", Z_LVAL_P(id));
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %ld", Z_LVAL_P(id));
RETURN_FALSE;
}
@@ -732,7 +732,7 @@ PHP_FUNCTION(dbmdelete)
info = php_find_dbm(id TSRMLS_CC);
if (!info) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %d", Z_LVAL_P(id));
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %ld", Z_LVAL_P(id));
RETURN_FALSE;
}
@@ -779,7 +779,7 @@ PHP_FUNCTION(dbmfirstkey)
info = php_find_dbm(id TSRMLS_CC);
if (!info) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %d", Z_LVAL_P(id));
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %ld", Z_LVAL_P(id));
RETURN_FALSE;
}
@@ -841,7 +841,7 @@ PHP_FUNCTION(dbmnextkey)
info = php_find_dbm(id TSRMLS_CC);
if (!info) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %d", Z_LVAL_P(id));
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database identifier %ld", Z_LVAL_P(id));
RETURN_FALSE;
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
Executable
+48
View File
@@ -0,0 +1,48 @@
These functions build the foundation for accessing Berkeley DB style
databases.
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.)
This extensions allows to work with the following 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.
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.
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.
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
this is that on several systems these libraries are part of more than one
other library. The configuration test only prevents you from configuring
malfaunctioning single handlers but not combinations.
+290 -135
View File
@@ -2,7 +2,11 @@ dnl
dnl $Id$
dnl
dnl Suppose we need FlatFile if no or only CDB is used.
dnl Suppose we need FlatFile if no support or only CDB is used.
AC_DEFUN(PHP_DBA_STD_BEGIN,[
unset THIS_INCLUDE THIS_LIBS THIS_LFLAGS THIS_PREFIX THIS_RESULT
])
AC_DEFUN(PHP_TEMP_LDFLAGS,[
old_LDFLAGS=$LDFLAGS
@@ -14,7 +18,6 @@ AC_DEFUN(PHP_TEMP_LDFLAGS,[
dnl Assign INCLUDE/LFLAGS from PREFIX
AC_DEFUN(PHP_DBA_STD_ASSIGN,[
if test -n "$THIS_PREFIX" && test "$THIS_PREFIX" != "/usr"; then
THIS_INCLUDE=$THIS_PREFIX/include
THIS_LFLAGS=$THIS_PREFIX/lib
fi
])
@@ -22,198 +25,322 @@ AC_DEFUN(PHP_DBA_STD_ASSIGN,[
dnl Standard check
AC_DEFUN(PHP_DBA_STD_CHECK,[
THIS_RESULT="yes"
if test "$THIS_PREFIX" != "/usr" -a "$THIS_INCLUDE" = ""; then
AC_MSG_ERROR(cannot find necessary header file(s))
if test -z "$THIS_INCLUDE"; then
AC_MSG_ERROR([DBA: Could not find necessary header file(s).])
fi
if test "$THIS_LIBS" = "" ; then
AC_MSG_ERROR(cannot find necessary library)
if test -z "$THIS_LIBS"; then
AC_MSG_ERROR([DBA: Could not find necessary library.])
fi
])
dnl Attach THIS_x to DBA_x
AC_DEFUN(PHP_DBA_STD_ATTACH,[
PHP_ADD_INCLUDE($THIS_INCLUDE)
PHP_ADD_LIBRARY_WITH_PATH($THIS_LIBS, $THIS_LFLAGS, DBA_SHARED_LIBADD)
unset THIS_INCLUDE THIS_LIBS THIS_LFLAGS THIS_PREFIX
])
dnl Print the result message
dnl parameters(name [, full name [, empty or error message]])
AC_DEFUN(AC_DBA_STD_RESULT,[
THIS_NAME=[]translit($1,a-z0-9-,A-Z0-9_)
if test -n "$2"; then
THIS_FULL_NAME="$2"
else
THIS_FULL_NAME="$THIS_NAME"
fi
AC_MSG_CHECKING(for $THIS_FULL_NAME support)
if test -n "$3"; then
AC_MSG_ERROR($3)
fi
if test "$THIS_RESULT" = "yes" -o "$THIS_RESULT" = "builtin"; then
HAVE_DBA=1
eval HAVE_$THIS_NAME=1
AC_MSG_RESULT($THIS_RESULT)
else
AC_MSG_RESULT(no)
fi
unset THIS_RESULT
unset THIS_RESULT THIS_NAME THIS_FULL_NAME
])
PHP_ARG_ENABLE(dba,whether to enable DBA,
[ --enable-dba Build DBA with builtin modules])
AC_ARG_WITH(gdbm,
[ --with-gdbm[=DIR] Include GDBM support],[
[ --with-gdbm[=DIR] DBA: Include GDBM support],[
if test "$withval" != "no"; then
for i in /usr/local /usr $withval; do
PHP_DBA_STD_BEGIN
for i in $withval /usr/local /usr; do
if test -f "$i/include/gdbm.h"; then
THIS_PREFIX="$i"
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/gdbm.h
break
fi
done
unset ac_cv_lib_gdbm_gdbm_open
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB(gdbm, gdbm_open, [AC_DEFINE(DBA_GDBM, 1, [ ]) THIS_LIBS=gdbm])
])
if test -n "$THIS_INCLUDE"; then
unset ac_cv_lib_gdbm_gdbm_open
PHP_CHECK_LIBRARY(gdbm, gdbm_open, [
AC_DEFINE_UNQUOTED(GDBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
AC_DEFINE(DBA_GDBM, 1, [ ])
THIS_LIBS=gdbm
], [], [-L$THIS_PREFIX/lib])
fi
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
fi
])
AC_MSG_CHECKING(for GDBM support)
AC_DBA_STD_RESULT
AC_DBA_STD_RESULT(gdbm)
AC_ARG_WITH(ndbm,
[ --with-ndbm[=DIR] Include NDBM support],[
[ --with-ndbm[=DIR] DBA: Include NDBM support],[
if test "$withval" != "no"; then
for i in /usr/local /usr $withval; do
if test -f "$i/include/db1/ndbm.h" ; then
PHP_DBA_STD_BEGIN
for i in $withval /usr/local /usr; do
if test -f "$i/include/ndbm.h"; then
THIS_PREFIX=$i
NDBM_EXTRA=db1/ndbm.h
elif test -f "$i/include/ndbm.h" ; then
THIS_INCLUDE=$i/include/ndbm.h
break
elif test -f "$i/include/db1/ndbm.h"; then
THIS_PREFIX=$i
NDBM_EXTRA=ndbm.h
THIS_INCLUDE=$i/include/db1/ndbm.h
break
fi
done
if test "$NDBM_EXTRA" != ""; then
AC_DEFINE_UNQUOTED(NDBM_INCLUDE_FILE, "$NDBM_EXTRA", [ ])
fi
for LIB in db1 ndbm c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB($LIB, dbm_open, [AC_DEFINE(DBA_NDBM,1, [ ]) THIS_LIBS=$LIB])
])
done
if test -n "$THIS_INCLUDE"; then
for LIB in ndbm db1 c; do
PHP_CHECK_LIBRARY($LIB, dbm_open, [
AC_DEFINE_UNQUOTED(NDBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
AC_DEFINE(DBA_NDBM, 1, [ ])
THIS_LIBS=$LIB
], [], [-L$THIS_PREFIX/lib])
if test -n "$THIS_LIBS"; then
break
fi
done
fi
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
fi
])
AC_MSG_CHECKING(for NDBM support)
AC_DBA_STD_RESULT
AC_DBA_STD_RESULT(ndbm)
AC_ARG_WITH(db2,
[ --with-db2[=DIR] Include Berkeley DB2 support],[
if test "$withval" != "no"; then
for i in /usr/local /usr /usr/BerkeleyDB $withval/BerkeleyDB $withval; do
if test -f "$i/db2/db.h"; then
THIS_PREFIX=$i
DB2_EXTRA=db2
elif test -f "$i/include/db2/db.h"; then
THIS_PREFIX=$i
DB2_EXTRA=db2/db.h
elif test -f "$i/include/db/db2.h"; then
THIS_PREFIX=$i
DB2_EXTRA=db/db2.h
elif test -f "$i/include/db2.h"; then
THIS_PREFIX=$i
DB2_EXTRA=db2.h
elif test -f "$i/include/db.h" ; then
THIS_PREFIX=$i
DB2_EXTRA=db.h
fi
done
if test "$DB2_EXTRA" = "db2" ; then
DBA_INCLUDE="$DBA_INCLUDE -I$THIS_PREFIX/db2"
DB2_EXTRA=db.h
fi
if test -n "$DB2_EXTRA"; then
AC_DEFINE_UNQUOTED(DB2_INCLUDE_FILE, "$DB2_EXTRA", [ ])
fi
for LIB in db db2 c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB($LIB, db_appinit, [AC_DEFINE(DBA_DB2,1,[ ]) THIS_LIBS=$LIB])
dnl Berkeley specific (library and version test)
dnl parameters(version, library list, function)
AC_DEFUN(PHP_DBA_DB_CHECK,[
for LIB in $2; do
if test -f $THIS_PREFIX/lib/lib$LIB.a -o -f $THIS_PREFIX/lib/lib$LIB.$SHLIB_SUFFIX_NAME; then
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib -l$LIB,[
AC_TRY_LINK([
#include "$THIS_INCLUDE"
],[
$3;
],[
AC_EGREP_CPP(yes,[
#include "$THIS_INCLUDE"
#if DB_VERSION_MAJOR == $1
yes
#endif
],[
THIS_LIBS=$LIB
break
])
])
])
done
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
fi
done
if test -z "$THIS_LIBS"; then
AC_MSG_CHECKING(for db$1 major version)
AC_MSG_ERROR(Header contains different version)
fi
if test "$1" = "4"; then
AC_MSG_CHECKING(for db4 minor version and patch level)
AC_EGREP_CPP(yes,[
#include "$THIS_INCLUDE"
#if DB_VERSION_MINOR != 1 || DB_VERSION_PATCH >= 25
yes
#endif
],[
AC_MSG_RESULT(ok)
],[
AC_MSG_ERROR(Version 4.1 requires patch level 25)
])
fi
if test "$ext_shared" = "yes"; then
AC_MSG_CHECKING(if db can be used as shared extension)
AC_EGREP_CPP(yes,[
#include "$THIS_INCLUDE"
#if DB_VERSION_MAJOR > 3 || (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR > 2)
yes
#endif
],[
AC_MSG_RESULT(yes)
],[
AC_MSG_ERROR(At least version 3.3 is required)
])
fi
if test -n "$THIS_LIBS"; then
AC_DEFINE(DBA_DB$1, 1, [ ])
if test -n "$THIS_INCLUDE"; then
AC_DEFINE_UNQUOTED(DB$1_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
fi
fi
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
])
AC_MSG_CHECKING(for Berkeley DB2 support)
AC_DBA_STD_RESULT
AC_ARG_WITH(db3,
[ --with-db3[=DIR] Include Berkeley DB3 support],[
AC_ARG_WITH(db4,
[ --with-db4[=DIR] DBA: Include Berkeley DB4 support],[
if test "$withval" != "no"; then
for i in /usr/local /usr /usr/local/BerkeleyDB.3.0 $withval; do
if test -f "$i/db3/db.h"; then
PHP_DBA_STD_BEGIN
for i in $withval /usr/local/BerkeleyDB.4.1 /usr/local/BerkeleyDB.4.0 /usr/local /usr; do
if test -f "$i/db4/db.h"; then
THIS_PREFIX=$i
DB3_EXTRA=db3
elif test -f "$i/include/db3/db.h"; then
THIS_INCLUDE=$i/db4/db.h
break
elif test -f "$i/include/db4/db.h"; then
THIS_PREFIX=$i
DB3_EXTRA=db3/db.h
elif test -f "$i/include/db/db3.h"; then
THIS_INCLUDE=$i/include/db4/db.h
break
elif test -f "$i/include/db/db4.h"; then
THIS_PREFIX=$i
DB3_EXTRA=db/db3.h
elif test -f "$i/include/db3.h"; then
THIS_INCLUDE=$i/include/db/db4.h
break
elif test -f "$i/include/db4.h"; then
THIS_PREFIX=$i
DB3_EXTRA=db3.h
THIS_INCLUDE=$i/include/db4.h
break
elif test -f "$i/include/db.h"; then
THIS_PREFIX=$i
DB3_EXTRA=db.h
THIS_INCLUDE=$i/include/db.h
break
fi
done
if test -n "$DB3_EXTRA"; then
AC_DEFINE_UNQUOTED(DB3_INCLUDE_FILE, "$DB3_EXTRA", [ ])
fi
for LIB in db-3.1 db-3 db3 db; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB($LIB, db_create, [AC_DEFINE(DBA_DB3,1,[ ]) THIS_LIBS=$LIB])
])
done
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
PHP_DBA_DB_CHECK(4, db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
fi
])
AC_MSG_CHECKING(for Berkeley DB3 support)
AC_DBA_STD_RESULT
AC_DBA_STD_RESULT(db4,Berkeley DB4)
AC_ARG_WITH(db3,
[ --with-db3[=DIR] DBA: Include Berkeley DB3 support],[
if test "$withval" != "no"; then
PHP_DBA_STD_BEGIN
if test "$HAVE_DB4" = "1"; then
AC_DBA_STD_RESULT(db3,Berkeley DB3,You cannot combine --with-db3 with --with-db4)
fi
for i in $withval /usr/local/BerkeleyDB.3.3 /usr/local/BerkeleyDB.3.2 /usr/local/BerkeleyDB.3.1 /usr/local/BerkeleyDB.3.0 /usr/local /usr; do
if test -f "$i/db3/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db3/db.h
break
elif test -f "$i/include/db3/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db3/db.h
break
elif test -f "$i/include/db/db3.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db/db3.h
break
elif test -f "$i/include/db3.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db3.h
break
elif test -f "$i/include/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db.h
break
fi
done
PHP_DBA_DB_CHECK(3, db-3.3 db-3.2 db-3.1 db-3.0 db-3 db3 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
fi
])
AC_DBA_STD_RESULT(db3,Berkeley DB3)
AC_ARG_WITH(db2,
[ --with-db2[=DIR] DBA: Include Berkeley DB2 support],[
if test "$withval" != "no"; then
PHP_DBA_STD_BEGIN
if test "$HAVE_DB3" = "1" -o "$HAVE_DB4" = "1"; then
AC_DBA_STD_RESULT(db2,Berkeley DB2,You cannot combine --with-db2 with --with-db3 or --with-db4)
fi
for i in $withval $withval/BerkeleyDB /usr/BerkeleyDB /usr/local /usr; do
if test -f "$i/db2/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/db2/db.h
break
elif test -f "$i/include/db2/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db2/db.h
break
elif test -f "$i/include/db/db2.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db/db2.h
break
elif test -f "$i/include/db2.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db2.h
break
elif test -f "$i/include/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db.h
break
fi
done
PHP_DBA_DB_CHECK(2, db-2 db2 db, [(void)db_appinit("", NULL, (DB_ENV*)0, 0)])
fi
])
AC_DBA_STD_RESULT(db2,Berkeley DB2)
AC_ARG_WITH(dbm,
[ --with-dbm[=DIR] Include DBM support],[
[ --with-dbm[=DIR] DBA: Include DBM support],[
if test "$withval" != "no"; then
for i in /usr/local /usr $withval; do
if test -f "$i/include/dbm.h" ; then
PHP_DBA_STD_BEGIN
for i in $withval /usr/local /usr; do
if test -f "$i/include/dbm.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/dbm.h
break
elif test -f "$i/include/gdbm/dbm.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/gdbm/dbm.h
break
fi
done
for LIB in db1 dbm c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB($LIB, dbminit, [AC_DEFINE(DBA_DBM,1,[ ]) THIS_LIBS=$LIB])
])
done
if test -n "$THIS_INCLUDE"; then
for LIB in dbm c gdbm; do
PHP_CHECK_LIBRARY($LIB, dbminit, [
AC_MSG_CHECKING(for DBM using GDBM)
AC_DEFINE_UNQUOTED(DBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
if test "$LIB" = "gdbm"; then
AC_DEFINE_UNQUOTED(DBM_VERSION, "GDBM", [ ])
AC_MSG_RESULT(yes)
else
AC_DEFINE_UNQUOTED(DBM_VERSION, "DBM", [ ])
AC_MSG_RESULT(no)
fi
AC_DEFINE(DBA_DBM, 1, [ ])
THIS_LIBS=$LIB
], [], [-L$THIS_PREFIX/lib])
if test -n "$THIS_LIBS"; then
break
fi
done
fi
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
fi
])
AC_MSG_CHECKING(for DBM support)
AC_DBA_STD_RESULT
AC_DBA_STD_RESULT(dbm)
AC_DEFUN(PHP_DBA_BUILTIN_CDB,[
PHP_ADD_BUILD_DIR($ext_builddir/libcdb)
AC_DEFINE(DBA_CDB_BUILTIN, 1, [ ])
AC_DEFINE(DBA_CDB_MAKE, 1, [ ])
AC_DEFINE(DBA_CDB, 1, [ ])
@@ -222,38 +349,64 @@ AC_DEFUN(PHP_DBA_BUILTIN_CDB,[
])
AC_ARG_WITH(cdb,
[ --with-cdb[=DIR] Include CDB support],[
if test "$withval" != "no"; then
[ --with-cdb[=DIR] DBA: Include CDB support],[
if test "$withval" = "yes" -o "$HAVE_DBA" = "1"; then
PHP_DBA_BUILTIN_CDB
elif test "$withval" != "no"; then
for i in /usr/local /usr $withval; do
if test -f "$i/include/cdb.h" ; then
PHP_DBA_STD_BEGIN
for i in $withval /usr/local /usr; do
if test -f "$i/include/cdb.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/cdb.h
break
fi
done
for LIB in cdb c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB($LIB, cdb_read, [AC_DEFINE(DBA_CDB,1,[ ]) THIS_LIBS=$LIB])
])
done
if test -n "$THIS_INCLUDE"; then
for LIB in cdb c; do
PHP_CHECK_LIBRARY($LIB, cdb_read, [
AC_DEFINE_UNQUOTED(CDB_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
AC_DEFINE(DBA_CDB, 1, [ ])
THIS_LIBS=$LIB
], [], [-L$THIS_PREFIX/lib])
if test -n "$THIS_LIBS"; then
break
fi
done
fi
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
fi
],[
if test "$PHP_DBA" != "no"; then
if test "$PHP_DBA" != "no" -o "$HAVE_DBA" = "1"; then
PHP_DBA_BUILTIN_CDB
fi
])
AC_MSG_CHECKING(for CDB support)
AC_DBA_STD_RESULT
AC_DBA_STD_RESULT(cdb)
AC_DEFUN(PHP_DBA_BUILTIN_INI,[
AC_DEFINE(DBA_INIFILE, 1, [ ])
ini_sources="libinifile/inifile.c"
THIS_RESULT="builtin"
])
AC_ARG_WITH(inifile,
[ --with-inifile DBA: Include INI support],[
if test "$withval" != "no"; then
PHP_DBA_BUILTIN_INI
fi
],[
if test "$PHP_DBA" != "no" -o "$HAVE_DBA" = "1"; then
PHP_DBA_BUILTIN_INI
fi
])
AC_DBA_STD_RESULT(inifile,INI File)
AC_DEFUN(PHP_DBA_BUILTIN_FLATFILE,[
PHP_ADD_BUILD_DIR($ext_builddir/libflatfile)
AC_DEFINE(DBA_FLATFILE, 1, [ ])
flat_sources="dba_flatfile.c libflatfile/flatfile.c"
flat_sources="libflatfile/flatfile.c"
THIS_RESULT="builtin"
])
@@ -261,23 +414,25 @@ dnl
dnl FlatFile check must be the last one.
dnl
AC_ARG_WITH(flatfile,
[ --with-flatfile Include FlatFile support],[
[ --with-flatfile DBA: Include FlatFile support],[
if test "$withval" != "no"; then
PHP_DBA_BUILTIN_FLATFILE
fi
],[
if test "$PHP_DBA" != "no"; then
if test "$PHP_DBA" != "no" -o "$HAVE_DBA" = "1"; then
PHP_DBA_BUILTIN_FLATFILE
fi
])
AC_MSG_CHECKING(for FlatFile support)
AC_DBA_STD_RESULT
AC_DBA_STD_RESULT(FlatFile,FlatFile)
AC_MSG_CHECKING(whether to enable DBA interface)
if test "$HAVE_DBA" = "1"; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_DBA, 1, [ ])
PHP_NEW_EXTENSION(dba, dba.c dba_cdb.c dba_db2.c dba_dbm.c dba_gdbm.c dba_ndbm.c dba_db3.c $cdb_sources $flat_sources, $ext_shared)
PHP_NEW_EXTENSION(dba, dba.c dba_cdb.c dba_db2.c dba_dbm.c dba_gdbm.c dba_ndbm.c dba_db3.c dba_db4.c dba_flatfile.c dba_inifile.c $cdb_sources $flat_sources $ini_sources, $ext_shared)
PHP_ADD_BUILD_DIR($ext_builddir/libinifile)
PHP_ADD_BUILD_DIR($ext_builddir/libcdb)
PHP_ADD_BUILD_DIR($ext_builddir/libflatfile)
PHP_SUBST(DBA_SHARED_LIBADD)
else
AC_MSG_RESULT(no)
+341 -101
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -27,7 +27,7 @@
#if HAVE_DBA
#include "ext/standard/flock_compat.h"
#include "php_ini.h"
#include <stdio.h>
#include <fcntl.h>
#ifdef HAVE_SYS_FILE_H
@@ -37,6 +37,7 @@
#include "php_dba.h"
#include "ext/standard/info.h"
#include "ext/standard/php_string.h"
#include "ext/standard/flock_compat.h"
#include "php_gdbm.h"
#include "php_ndbm.h"
@@ -44,15 +45,15 @@
#include "php_cdb.h"
#include "php_db2.h"
#include "php_db3.h"
#include "php_db4.h"
#include "php_flatfile.h"
#include "php_inifile.h"
/* {{{ dba_functions[]
*/
function_entry dba_functions[] = {
PHP_FE(dba_open, NULL)
PHP_FALIAS(dba_popen, dba_open, NULL)
/* Disabled until 4.3.1, when persistent STDIO streams are implemented. */
/* PHP_FE(dba_popen, NULL) */
PHP_FE(dba_popen, NULL)
PHP_FE(dba_close, NULL)
PHP_FE(dba_delete, NULL)
PHP_FE(dba_exists, NULL)
@@ -70,6 +71,7 @@ function_entry dba_functions[] = {
/* }}} */
PHP_MINIT_FUNCTION(dba);
PHP_MSHUTDOWN_FUNCTION(dba);
PHP_MINFO_FUNCTION(dba);
zend_module_entry dba_module_entry = {
@@ -77,7 +79,7 @@ zend_module_entry dba_module_entry = {
"dba",
dba_functions,
PHP_MINIT(dba),
NULL,
PHP_MSHUTDOWN(dba),
NULL,
NULL,
PHP_MINFO(dba),
@@ -89,21 +91,6 @@ zend_module_entry dba_module_entry = {
ZEND_GET_MODULE(dba)
#endif
typedef struct dba_handler {
char *name; /* handler name */
int flags; /* whether and how dba does locking and other flags*/
int (*open)(dba_info *, char **error TSRMLS_DC);
void (*close)(dba_info * TSRMLS_DC);
char* (*fetch)(dba_info *, char *, int, int, int * TSRMLS_DC);
int (*update)(dba_info *, char *, int, char *, int, int TSRMLS_DC);
int (*exists)(dba_info *, char *, int TSRMLS_DC);
int (*delete)(dba_info *, char *, int TSRMLS_DC);
char* (*firstkey)(dba_info *, int * TSRMLS_DC);
char* (*nextkey)(dba_info *, int * TSRMLS_DC);
int (*optimize)(dba_info * TSRMLS_DC);
int (*sync)(dba_info * TSRMLS_DC);
} dba_handler;
/* {{{ macromania */
#define DBA_ID_PARS \
@@ -118,15 +105,56 @@ typedef struct dba_handler {
WRONG_PARAM_COUNT; \
}
/* {{{ php_dba_myke_key */
static size_t php_dba_make_key(zval **key, char **key_str, char **key_free TSRMLS_DC)
{
if (Z_TYPE_PP(key) == IS_ARRAY) {
zval **group, **name;
HashPosition pos;
size_t len;
if (zend_hash_num_elements(Z_ARRVAL_PP(key)) != 2) {
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Key does not have exactly two elements: (key, name)");
return -1;
}
zend_hash_internal_pointer_reset_ex(Z_ARRVAL_PP(key), &pos);
zend_hash_get_current_data_ex(Z_ARRVAL_PP(key), (void **) &group, &pos);
zend_hash_move_forward_ex(Z_ARRVAL_PP(key), &pos);
zend_hash_get_current_data_ex(Z_ARRVAL_PP(key), (void **) &name, &pos);
convert_to_string_ex(group);
convert_to_string_ex(name);
if (Z_STRLEN_PP(group) == 0) {
*key_str = Z_STRVAL_PP(name);
*key_free = NULL;
return Z_STRLEN_PP(name);
}
len = spprintf(key_str, 0, "[%s]%s", Z_STRVAL_PP(group), Z_STRVAL_PP(name));
*key_free = *key_str;
return len;
} else {
convert_to_string_ex(key);
*key_str = Z_STRVAL_PP(key);
*key_free = NULL;
return Z_STRLEN_PP(key);
}
}
/* }}} */
#define DBA_GET2 \
zval **key; \
char *key_str, *key_free; \
size_t key_len; \
if(ac != 2 || zend_get_parameters_ex(ac, &key, &id) != SUCCESS) { \
WRONG_PARAM_COUNT; \
} \
convert_to_string_ex(key)
if ((key_len = php_dba_make_key(key, &key_str, &key_free TSRMLS_CC)) == 0) {\
RETURN_FALSE; \
}
#define DBA_GET2_3 \
zval **key; \
char *key_str, *key_free; \
size_t key_len; \
zval **tmp; \
int skip = 0; \
switch(ac) { \
@@ -145,7 +173,21 @@ typedef struct dba_handler {
default: \
WRONG_PARAM_COUNT; \
} \
convert_to_string_ex(key)
if ((key_len = php_dba_make_key(key, &key_str, &key_free TSRMLS_CC)) == 0) {\
RETURN_FALSE; \
}
#define DBA_GET3 \
zval **key, **val; \
char *key_str, *key_free; \
size_t key_len; \
if(ac != 3 || zend_get_parameters_ex(ac, &key, &val, &id) != SUCCESS) { \
WRONG_PARAM_COUNT; \
} \
convert_to_string_ex(val); \
if ((key_len = php_dba_make_key(key, &key_str, &key_free TSRMLS_CC)) == 0) {\
RETURN_FALSE; \
}
#define DBA_ID_GET \
ZEND_FETCH_RESOURCE2(info, dba_info *, id, -1, "DBA identifier", le_db, le_pdb);
@@ -153,17 +195,20 @@ typedef struct dba_handler {
#define DBA_ID_GET1 DBA_ID_PARS; DBA_GET1; DBA_ID_GET
#define DBA_ID_GET2 DBA_ID_PARS; DBA_GET2; DBA_ID_GET
#define DBA_ID_GET2_3 DBA_ID_PARS; DBA_GET2_3; DBA_ID_GET
#define DBA_ID_GET3 DBA_ID_PARS; DBA_GET3; DBA_ID_GET
#define DBA_ID_DONE \
if (key_free) efree(key_free)
/* a DBA handler must have specific routines */
#define DBA_NAMED_HND(name, x, flags) \
#define DBA_NAMED_HND(alias, name, flags) \
{\
#name, flags, dba_open_##x, dba_close_##x, dba_fetch_##x, dba_update_##x, \
dba_exists_##x, dba_delete_##x, dba_firstkey_##x, dba_nextkey_##x, \
dba_optimize_##x, dba_sync_##x \
#alias, flags, dba_open_##name, dba_close_##name, dba_fetch_##name, dba_update_##name, \
dba_exists_##name, dba_delete_##name, dba_firstkey_##name, dba_nextkey_##name, \
dba_optimize_##name, dba_sync_##name, dba_info_##name \
},
#define DBA_HND(x, flags) DBA_NAMED_HND(x, x, flags)
#define DBA_HND(name, flags) DBA_NAMED_HND(name, name, flags)
/* check whether the user has write access */
#define DBA_WRITE_CHECK \
@@ -198,30 +243,105 @@ static dba_handler handler[] = {
#if DBA_DB3
DBA_HND(db3, DBA_LOCK_ALL) /* No lock in lib */
#endif
#if DBA_DB4
DBA_HND(db4, DBA_LOCK_ALL) /* No lock in lib */
#endif
#if DBA_INIFILE
DBA_HND(inifile, DBA_STREAM_OPEN|DBA_LOCK_ALL) /* No lock in lib */
#endif
#if DBA_FLATFILE
DBA_HND(flatfile, DBA_STREAM_OPEN|DBA_LOCK_ALL) /* No lock in lib */
#endif
{ NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
{ NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
};
#if DBA_FLATFILE
#define DBA_DEFAULT "flatfile"
#elif DBA_DB4
#define DBA_DEFAULT "db4"
#elif DBA_DB3
#define DBA_DEFAULT "db3"
#elif DBA_DB2
#define DBA_DEFAULT "db2"
#elif DBA_GDBM
#define DBA_DEFAULT "gdbm"
#elif DBA_NBBM
#define DBA_DEFAULT "ndbm"
#elif DBA_DBM
#define DBA_DEFAULT "dbm"
#else
#define DBA_DEFAULT ""
#endif
/* cdb/cdb_make and ini are no option here */
ZEND_BEGIN_MODULE_GLOBALS(dba)
char *default_handler;
dba_handler *default_hptr;
ZEND_END_MODULE_GLOBALS(dba)
ZEND_DECLARE_MODULE_GLOBALS(dba)
#ifdef ZTS
#define DBA_G(v) TSRMG(dba_globals_id, zend_dba_globals *, v)
#else
#define DBA_G(v) (dba_globals.v)
#endif
static int le_db;
static int le_pdb;
/* {{{ dba_fetch_resource
PHPAPI void dba_fetch_resource(dba_info **pinfo, zval **id TSRMLS_DC)
{
dba_info *info;
DBA_ID_FETCH
*pinfo = info;
}
*/
/* }}} */
/* {{{ dba_get_handler
PHPAPI dba_handler *dba_get_handler(const char* handler_name)
{
dba_handler *hptr;
for (hptr = handler; hptr->name && strcasecmp(hptr->name, handler_name); hptr++);
return hptr;
}
*/
/* }}} */
/* {{{ dba_close
*/
static void dba_close(dba_info *info TSRMLS_DC)
{
if (info->hnd) info->hnd->close(info TSRMLS_CC);
if (info->path) pefree(info->path, info->flags&DBA_PERSISTENT);
if (info->fp && info->fp!=info->lock.fp) php_stream_close(info->fp);
if (info->hnd) {
info->hnd->close(info TSRMLS_CC);
}
if (info->path) {
pefree(info->path, info->flags&DBA_PERSISTENT);
}
if (info->fp && info->fp!=info->lock.fp) {
if(info->flags&DBA_PERSISTENT) {
php_stream_pclose(info->fp);
} else {
php_stream_close(info->fp);
}
}
if (info->lock.fd) {
php_flock(info->lock.fd, LOCK_UN);
/*close(info->lock.fd);*/
info->lock.fd = 0;
}
if (info->lock.fp) php_stream_close(info->lock.fp);
if (info->lock.name) pefree(info->lock.name, info->flags&DBA_PERSISTENT);
if (info->lock.fp) {
if(info->flags&DBA_PERSISTENT) {
php_stream_pclose(info->lock.fp);
} else {
php_stream_close(info->lock.fp);
}
}
if (info->lock.name) {
pefree(info->lock.name, info->flags&DBA_PERSISTENT);
}
pefree(info, info->flags&DBA_PERSISTENT);
}
/* }}} */
@@ -236,12 +356,66 @@ static void dba_close_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC)
}
/* }}} */
/* {{{ dba_close_pe_rsrc_deleter */
int dba_close_pe_rsrc_deleter(list_entry *le, void *pDba TSRMLS_DC)
{
return le->ptr == pDba;
}
/* }}} */
/* {{{ dba_close_pe_rsrc */
static void dba_close_pe_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC)
{
dba_info *info = (dba_info *)rsrc->ptr;
/* closes the resource by calling dba_close_rsrc() */
zend_hash_apply_with_argument(&EG(persistent_list), (apply_func_arg_t) dba_close_pe_rsrc_deleter, info TSRMLS_CC);
}
/* }}} */
/* {{{ PHP_INI
*/
ZEND_INI_MH(OnUpdateDefaultHandler)
{
dba_handler *hptr;
if (!strlen(new_value)) {
DBA_G(default_hptr) = NULL;
return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);
}
for (hptr = handler; hptr->name && strcasecmp(hptr->name, new_value); hptr++);
if (!hptr->name) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No such handler: %s", new_value);
return FAILURE;
}
DBA_G(default_hptr) = hptr;
return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);
}
PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("dba.default_handler", DBA_DEFAULT, PHP_INI_ALL, OnUpdateDefaultHandler, default_handler, zend_dba_globals, dba_globals)
PHP_INI_END()
/* }}} */
/* {{{ php_dba_init_globals
*/
static void php_dba_init_globals(zend_dba_globals *dba_globals)
{
dba_globals->default_handler = "";
dba_globals->default_hptr = NULL;
}
/* }}} */
/* {{{ PHP_MINIT_FUNCTION
*/
PHP_MINIT_FUNCTION(dba)
{
ZEND_INIT_MODULE_GLOBALS(dba, php_dba_init_globals, NULL);
REGISTER_INI_ENTRIES();
le_db = zend_register_list_destructors_ex(dba_close_rsrc, NULL, "dba", module_number);
le_pdb = zend_register_list_destructors_ex(NULL, dba_close_rsrc, "dba persistent", module_number);
le_pdb = zend_register_list_destructors_ex(dba_close_pe_rsrc, dba_close_rsrc, "dba persistent", module_number);
return SUCCESS;
}
/* }}} */
@@ -250,6 +424,7 @@ PHP_MINIT_FUNCTION(dba)
*/
PHP_MSHUTDOWN_FUNCTION(dba)
{
UNREGISTER_INI_ENTRIES();
return SUCCESS;
}
/* }}} */
@@ -285,17 +460,9 @@ PHP_MINFO_FUNCTION(dba)
*/
static void php_dba_update(INTERNAL_FUNCTION_PARAMETERS, int mode)
{
DBA_ID_PARS;
zval **val, **key;
char *v;
int len;
if(ac != 3 || zend_get_parameters_ex(ac, &key, &val, &id) != SUCCESS) {
WRONG_PARAM_COUNT;
}
convert_to_string_ex(key);
convert_to_string_ex(val);
DBA_ID_GET;
DBA_ID_GET3;
DBA_WRITE_CHECK;
@@ -303,15 +470,20 @@ static void php_dba_update(INTERNAL_FUNCTION_PARAMETERS, int mode)
len = Z_STRLEN_PP(val);
v = estrndup(Z_STRVAL_PP(val), len);
php_stripslashes(v, &len TSRMLS_CC);
if(info->hnd->update(info, VALLEN(key), v, len, mode TSRMLS_CC) == SUCCESS) {
if(info->hnd->update(info, key_str, key_len, v, len, mode TSRMLS_CC) == SUCCESS) {
efree(v);
DBA_ID_DONE;
RETURN_TRUE;
}
efree(v);
} else {
if(info->hnd->update(info, VALLEN(key), VALLEN(val), mode TSRMLS_CC) == SUCCESS)
if(info->hnd->update(info, key_str, key_len, VALLEN(val), mode TSRMLS_CC) == SUCCESS)
{
DBA_ID_DONE;
RETURN_TRUE;
}
}
DBA_ID_DONE;
RETURN_FALSE;
}
/* }}} */
@@ -357,14 +529,15 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
int i;
int lock_mode, lock_flag, lock_dbf = 0;
char *file_mode;
char mode[4], *pmode, *lock_file_mode;
char mode[4], *pmode, *lock_file_mode = NULL;
int persistent_flag = persistent ? STREAM_OPEN_PERSISTENT : 0;
if(ac < 3) {
if(ac < 2) {
WRONG_PARAM_COUNT;
}
/* we pass additional args to the respective handler */
args = emalloc(ac * sizeof(zval *));
args = safe_emalloc(ac, sizeof(zval *), 0);
if (zend_get_parameters_array_ex(ac, args) != SUCCESS) {
FREENOW;
WRONG_PARAM_COUNT;
@@ -380,7 +553,8 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
list_entry *le;
/* calculate hash */
key = emalloc(keylen);
key = safe_emalloc(keylen, 1, 1);
key[keylen] = '\0';
keylen = 0;
for(i = 0; i < ac; i++) {
@@ -403,7 +577,16 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
}
}
for (hptr = handler; hptr->name && strcasecmp(hptr->name, Z_STRVAL_PP(args[2])); hptr++);
if (ac==2) {
hptr = DBA_G(default_hptr);
if (!hptr) {
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "No default handler selected");
FREENOW;
RETURN_FALSE;
}
} else {
for (hptr = handler; hptr->name && strcasecmp(hptr->name, Z_STRVAL_PP(args[2])); hptr++);
}
if (!hptr->name) {
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "No such handler: %s", Z_STRVAL_PP(args[2]));
@@ -429,6 +612,10 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
switch (pmode[1]) {
case 'd':
lock_dbf = 1;
if ((hptr->flags & DBA_LOCK_ALL) == 0) {
lock_flag = (hptr->flags & DBA_LOCK_ALL);
break;
}
/* no break */
case 'l':
lock_flag = DBA_LOCK_ALL;
@@ -461,20 +648,39 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
lock_mode = (lock_flag & DBA_LOCK_WRITER) ? LOCK_EX : 0;
file_mode = "r+b";
break;
case 'c':
modenr = DBA_CREAT;
lock_mode = (lock_flag & DBA_LOCK_CREAT) ? LOCK_EX : 0;
if (lock_mode) {
if (lock_dbf) {
/* the create/append check will be done on the lock
* when the lib opens the file it is already created
*/
file_mode = "r+b"; /* read & write, seek 0 */
lock_file_mode = "a+b"; /* append */
} else {
file_mode = "a+b"; /* append */
lock_file_mode = "w+b"; /* create/truncate */
}
} else {
file_mode = "a+b";
}
/* In case of the 'a+b' append mode, the handler is responsible
* to handle any rewind problems (see flatfile handler).
*/
break;
case 'n':
modenr = DBA_TRUNC;
lock_mode = (lock_flag & DBA_LOCK_TRUNC) ? LOCK_EX : 0;
file_mode = "w+b";
break;
case 'c':
modenr = DBA_CREAT;
lock_mode = (lock_flag & DBA_LOCK_CREAT) ? LOCK_EX : 0;
file_mode = "a+b";
break;
default:
modenr = 0;
lock_mode = 0;
file_mode = "";
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Illegal DBA mode");
FREENOW;
RETURN_FALSE;
}
if (!lock_file_mode) {
lock_file_mode = file_mode;
}
if (*pmode=='d' || *pmode=='l' || *pmode=='-') {
pmode++; /* done already - skip here */
@@ -482,7 +688,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
if (*pmode=='t') {
pmode++;
if (!lock_flag) {
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "You cannot combine modifiers - (no lock) and t (test lock)", hptr->name);
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "You cannot combine modifiers - (no lock) and t (test lock)");
FREENOW;
RETURN_FALSE;
}
@@ -500,7 +706,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
lock_mode |= LOCK_NB; /* test =: non blocking */
}
}
if (*pmode || !modenr) {
if (*pmode) {
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Illegal DBA mode");
FREENOW;
RETURN_FALSE;
@@ -532,14 +738,13 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
if (!error && lock_mode) {
if (lock_dbf) {
info->lock.name = pestrdup(info->path, persistent);
lock_file_mode = file_mode;
} else {
spprintf(&info->lock.name, 0, "%s.lck", info->path);
if (!strcmp(file_mode, "r")) {
/* when in read only mode try to use existing .lck file first */
/* do not log errors for .lck file while in read ony mode on .lck file */
lock_file_mode = "rb";
info->lock.fp = php_stream_open_wrapper(info->lock.name, lock_file_mode, STREAM_MUST_SEEK|IGNORE_PATH|ENFORCE_SAFE_MODE, NULL);
info->lock.fp = php_stream_open_wrapper(info->lock.name, lock_file_mode, STREAM_MUST_SEEK|IGNORE_PATH|ENFORCE_SAFE_MODE|persistent_flag, NULL);
}
if (!info->lock.fp) {
/* when not in read mode or failed to open .lck file read only. now try again in create(write) mode and log errors */
@@ -547,7 +752,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
}
}
if (!info->lock.fp) {
info->lock.fp = php_stream_open_wrapper(info->lock.name, lock_file_mode, STREAM_MUST_SEEK|REPORT_ERRORS|IGNORE_PATH|ENFORCE_SAFE_MODE, NULL);
info->lock.fp = php_stream_open_wrapper(info->lock.name, lock_file_mode, STREAM_MUST_SEEK|REPORT_ERRORS|IGNORE_PATH|ENFORCE_SAFE_MODE|persistent_flag, NULL);
}
if (!info->lock.fp) {
dba_close(info TSRMLS_CC);
@@ -555,13 +760,13 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
FREENOW;
RETURN_FALSE;
}
if (php_stream_cast(info->lock.fp, PHP_STREAM_AS_FD, (void*)&info->lock.fd, 1) == FAILURE) {
if (php_stream_cast(info->lock.fp, PHP_STREAM_AS_FD, (void*)&info->lock.fd, 1) == FAILURE) {
dba_close(info TSRMLS_CC);
/* stream operation already wrote an error message */
FREENOW;
RETURN_FALSE;
}
if (php_flock(info->lock.fd, lock_mode)) {
if (php_flock(info->lock.fd, lock_mode)) {
error = "Unable to establish lock"; /* force failure exit */
}
}
@@ -571,7 +776,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
if (info->lock.fp && lock_dbf) {
info->fp = info->lock.fp; /* use the same stream for locking and database access */
} else {
info->fp = php_stream_open_wrapper(info->path, file_mode, STREAM_MUST_SEEK|REPORT_ERRORS|IGNORE_PATH|ENFORCE_SAFE_MODE, NULL);
info->fp = php_stream_open_wrapper(info->path, file_mode, STREAM_MUST_SEEK|REPORT_ERRORS|IGNORE_PATH|ENFORCE_SAFE_MODE|persistent_flag, NULL);
}
if (!info->fp) {
dba_close(info TSRMLS_CC);
@@ -583,7 +788,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
if (error || hptr->open(info, &error TSRMLS_CC) != SUCCESS) {
dba_close(info TSRMLS_CC);
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Driver initialization failed for handler: %s%s%s", Z_STRVAL_PP(args[2]), error?": ":"", error?error:"");
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Driver initialization failed for handler: %s%s%s", hptr->name, error?": ":"", error?error:"");
FREENOW;
RETURN_FALSE;
}
@@ -598,6 +803,8 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
Z_TYPE(new_le) = le_pdb;
new_le.ptr = info;
if (zend_hash_update(&EG(persistent_list), key, keylen+1, &new_le, sizeof(list_entry), NULL) == FAILURE) {
dba_close(info TSRMLS_CC);
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Could not register persistent resource");
FREENOW;
RETURN_FALSE;
}
@@ -609,7 +816,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
/* }}} */
#undef FREENOW
/* {{{ proto int dba_popen(string path, string mode, string handlername [, string ...])
/* {{{ proto resource dba_popen(string path, string mode [, string handlername, string ...])
Opens path using the specified handler in mode persistently */
PHP_FUNCTION(dba_popen)
{
@@ -617,7 +824,7 @@ PHP_FUNCTION(dba_popen)
}
/* }}} */
/* {{{ proto int dba_open(string path, string mode, string handlername [, string ...])
/* {{{ proto resource dba_open(string path, string mode [, string handlername, string ...])
Opens path using the specified handler in mode*/
PHP_FUNCTION(dba_open)
{
@@ -635,20 +842,22 @@ PHP_FUNCTION(dba_close)
}
/* }}} */
/* {{{ proto bool dba_exists(string key, int handle)
/* {{{ proto bool dba_exists(string key, resource handle)
Checks, if the specified key exists */
PHP_FUNCTION(dba_exists)
{
DBA_ID_GET2;
if(info->hnd->exists(info, VALLEN(key) TSRMLS_CC) == SUCCESS) {
if(info->hnd->exists(info, key_str, key_len TSRMLS_CC) == SUCCESS) {
DBA_ID_DONE;
RETURN_TRUE;
}
DBA_ID_DONE;
RETURN_FALSE;
}
/* }}} */
/* {{{ proto string dba_fetch(string key, [int skip ,] int handle)
/* {{{ proto string dba_fetch(string key, [int skip ,] resource handle)
Fetches the data associated with key */
PHP_FUNCTION(dba_fetch)
{
@@ -656,20 +865,43 @@ PHP_FUNCTION(dba_fetch)
int len = 0;
DBA_ID_GET2_3;
if (ac==3 && strcmp(info->hnd->name, "cdb")) {
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Handler %s does not support optional skip parameter", info->hnd->name);
if (ac==3) {
if (!strcmp(info->hnd->name, "cdb")) {
if (skip < 0) {
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Handler %s accepts only skip values greater than or equal to zero, using skip=0", info->hnd->name);
skip = 0;
}
} else if (!strcmp(info->hnd->name, "inifile")) {
/* "-1" is compareable to 0 but allows a non restrictive
* access which is fater. For example 'inifile' uses this
* to allow faster access when the key was already found
* using firstkey/nextkey. However explicitly setting the
* value to 0 ensures the first value.
*/
if (skip < -1) {
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Handler %s accepts only skip value -1 and greater, using skip=0", info->hnd->name);
skip = 0;
}
} else {
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Handler %s does not support optional skip parameter, the value will be ignored", info->hnd->name);
skip = 0;
}
} else {
skip = 0;
}
if((val = info->hnd->fetch(info, VALLEN(key), skip, &len TSRMLS_CC)) != NULL) {
if((val = info->hnd->fetch(info, key_str, key_len, skip, &len TSRMLS_CC)) != NULL) {
if (val && PG(magic_quotes_runtime)) {
val = php_addslashes(val, len, &len, 1 TSRMLS_CC);
}
DBA_ID_DONE;
RETURN_STRINGL(val, len, 0);
}
DBA_ID_DONE;
RETURN_FALSE;
}
/* }}} */
/* {{{ proto string dba_firstkey(int handle)
/* {{{ proto string dba_firstkey(resource handle)
Resets the internal key pointer and returns the first key */
PHP_FUNCTION(dba_firstkey)
{
@@ -684,7 +916,7 @@ PHP_FUNCTION(dba_firstkey)
}
/* }}} */
/* {{{ proto string dba_nextkey(int handle)
/* {{{ proto string dba_nextkey(resource handle)
Returns the next key */
PHP_FUNCTION(dba_nextkey)
{
@@ -699,37 +931,44 @@ PHP_FUNCTION(dba_nextkey)
}
/* }}} */
/* {{{ proto bool dba_delete(string key, int handle)
Deletes the entry associated with key */
/* {{{ proto bool dba_delete(string key, resource handle)
Deletes the entry associated with key
If inifile: remove all other key lines */
PHP_FUNCTION(dba_delete)
{
DBA_ID_GET2;
DBA_WRITE_CHECK;
if(info->hnd->delete(info, VALLEN(key) TSRMLS_CC) == SUCCESS)
if(info->hnd->delete(info, key_str, key_len TSRMLS_CC) == SUCCESS)
{
DBA_ID_DONE;
RETURN_TRUE;
}
DBA_ID_DONE;
RETURN_FALSE;
}
/* }}} */
/* {{{ proto bool dba_insert(string key, string value, int handle)
Inserts value as key, returns false, if key exists already */
/* {{{ proto bool dba_insert(string key, string value, resource handle)
If not inifile: Insert value as key, return false, if key exists already
If inifile: Add vakue as key (next instance of key) */
PHP_FUNCTION(dba_insert)
{
php_dba_update(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1);
}
/* }}} */
/* {{{ proto bool dba_replace(string key, string value, int handle)
Inserts value as key, replaces key, if key exists already */
/* {{{ proto bool dba_replace(string key, string value, resource handle)
Inserts value as key, replaces key, if key exists already
If inifile: remove all other key lines */
PHP_FUNCTION(dba_replace)
{
php_dba_update(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0);
}
/* }}} */
/* {{{ proto bool dba_optimize(int handle)
/* {{{ proto bool dba_optimize(resource handle)
Optimizes (e.g. clean up, vacuum) database */
PHP_FUNCTION(dba_optimize)
{
@@ -743,7 +982,7 @@ PHP_FUNCTION(dba_optimize)
}
/* }}} */
/* {{{ proto bool dba_sync(int handle)
/* {{{ proto bool dba_sync(resource handle)
Synchronizes database */
PHP_FUNCTION(dba_sync)
{
@@ -756,29 +995,32 @@ PHP_FUNCTION(dba_sync)
}
/* }}} */
/* {{{ proto array dba_handlers()
List configured databases */
/* {{{ proto array dba_handlers([bool full_info])
List configured database handlers */
PHP_FUNCTION(dba_handlers)
{
dba_handler *hptr;
zend_bool full_info = 0;
if (ZEND_NUM_ARGS()!=0) {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &full_info) == FAILURE) {
ZEND_WRONG_PARAM_COUNT();
RETURN_FALSE;
}
if (array_init(return_value) == FAILURE) {
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Unable to initialize array");
RETURN_FALSE;
}
array_init(return_value);
for(hptr = handler; hptr->name; hptr++) {
add_next_index_string(return_value, hptr->name, 1);
if (full_info) {
add_assoc_string(return_value, hptr->name, hptr->info(hptr, NULL TSRMLS_CC), 0);
} else {
add_next_index_string(return_value, hptr->name, 1);
}
}
}
/* }}} */
/* {{{ proto array dba_list()
List configured databases */
List opened databases */
PHP_FUNCTION(dba_list)
{
ulong numitems, i;
@@ -790,10 +1032,8 @@ PHP_FUNCTION(dba_list)
RETURN_FALSE;
}
if (array_init(return_value) == FAILURE) {
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Unable to initialize array");
RETURN_FALSE;
}
array_init(return_value);
numitems = zend_hash_next_free_element(&EG(regular_list));
for (i=1; i<numitems; i++) {
if (zend_hash_index_find(&EG(regular_list), i, (void **) &le)==FAILURE) {
@@ -807,7 +1047,7 @@ PHP_FUNCTION(dba_list)
}
/* }}} */
#endif
#endif /* HAVE_DBA */
/*
* Local variables:
+18 -2
View File
@@ -44,7 +44,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /D ZEND_DEBUG=0 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_DBA" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_DBA=1 /D DBA_DB3=1 /D DB3_INCLUDE_FILE="db.h" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /D ZEND_DEBUG=0 /D DBA_DB3=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_DBA" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_DBA=1 /D DBA_FLATFILE=1 /D DBA_CDB=1 /D DBA_CDB_MAKE=1 /D DBA_CDB_BUILTIN=1 /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /D ZEND_DEBUG=0 /D DBA_DB3=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_DBA" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_DBA=1 /D DBA_FLATFILE=1 /D DBA_CDB=1 /D DBA_CDB_MAKE=1 /D DBA_CDB_BUILTIN=1 /D DBA_INIFILE=1 /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "NDEBUG"
@@ -71,7 +71,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /D ZEND_DEBUG=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_DBA" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_DBA=1 /D "DBA_DB3" /D DB3_INCLUDE_FILE="db.h" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /D ZEND_DEBUG=1 /D "DBA_DB3" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_DBA" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_DBA=1 /D DBA_FLATFILE=1 /D DBA_CDB=1 /D DBA_CDB_MAKE=1 /D DBA_CDB_BUILTIN=1 /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /D ZEND_DEBUG=1 /D "DBA_DB3" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_DBA" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_DBA=1 /D DBA_FLATFILE=1 /D DBA_CDB=1 /D DBA_CDB_MAKE=1 /D DBA_CDB_BUILTIN=1 /D DBA_INIFILE=1 /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
@@ -130,6 +130,10 @@ SOURCE=.\dba_gdbm.c
# End Source File
# Begin Source File
SOURCE=.\dba_inifile.c
# End Source File
# Begin Source File
SOURCE=.\dba_ndbm.c
# End Source File
# Begin Source File
@@ -138,6 +142,10 @@ SOURCE=.\libflatfile\flatfile.c
# End Source File
# Begin Source File
SOURCE=.\libinifile\inifile.c
# End Source File
# Begin Source File
SOURCE=.\libcdb\uint32.c
# End Source File
# End Group
@@ -186,12 +194,20 @@ SOURCE=.\php_gdbm.h
# End Source File
# Begin Source File
SOURCE=.\php_inifile.h
# End Source File
# Begin Source File
SOURCE=.\php_ndbm.h
# End Source File
# Begin Source File
SOURCE=.\libcdb\uint32.h
# End Source File
# Begin Source File
SOURCE=.\libinifile\inifile.h
# End Source File
# End Group
# End Target
# End Project
+24 -10
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -35,12 +35,13 @@
#include <fcntl.h>
#if DBA_CDB_BUILTIN
#include "libcdb/cdb.h"
#include "libcdb/cdb_make.h"
#include "libcdb/uint32.h"
# include "libcdb/cdb.h"
# include "libcdb/cdb_make.h"
# include "libcdb/uint32.h"
#else
#include <cdb.h>
#include <uint32.h>
# ifdef CDB_INCLUDE_FILE
# include CDB_INCLUDE_FILE
# endif
#endif
#define CDB_INFO \
@@ -85,10 +86,10 @@ DBA_OPEN_FUNC(cdb)
break;
#if DBA_CDB_BUILTIN
case DBA_TRUNC:
case DBA_CREAT:
make = 1;
file = info->fp;
break;
case DBA_CREAT:
case DBA_WRITER:
*error = "Update operations are not supported";
return FAILURE; /* not supported */
@@ -162,7 +163,7 @@ DBA_FETCH_FUNC(cdb)
}
}
len = cdb_datalen(&cdb->c);
new_entry = emalloc(len+1);
new_entry = safe_emalloc(len, 1, 1);
if (php_cdb_read(&cdb->c, new_entry, len, cdb_datapos(&cdb->c)) == -1) {
efree(new_entry);
@@ -267,7 +268,7 @@ DBA_FIRSTKEY_FUNC(cdb)
uint32_unpack(buf, &klen);
uint32_unpack(buf + 4, &dlen);
key = emalloc(klen + 1);
key = safe_emalloc(klen, 1, 1);
if (cdb_file_read(cdb->file, key, klen) < klen) {
efree(key);
key = NULL;
@@ -299,7 +300,7 @@ DBA_NEXTKEY_FUNC(cdb)
uint32_unpack(buf, &klen);
uint32_unpack(buf + 4, &dlen);
key = emalloc(klen + 1);
key = safe_emalloc(klen, 1, 1);
if (cdb_file_read(cdb->file, key, klen) < klen) {
efree(key);
key = NULL;
@@ -324,6 +325,19 @@ DBA_SYNC_FUNC(cdb)
return SUCCESS;
}
DBA_INFO_FUNC(cdb)
{
#if DBA_CDB_BUILTIN
if (!strcmp(hnd->name, "cdb")) {
return estrdup(cdb_version());
} else {
return estrdup(cdb_make_version());
}
#else
return estrdup("External");
#endif
}
#endif
/*
+6 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -188,6 +188,11 @@ DBA_SYNC_FUNC(db2)
return dba->dbp->sync(dba->dbp, 0) ? FAILURE : SUCCESS;
}
DBA_INFO_FUNC(db2)
{
return estrdup(DB_VERSION_STRING);
}
#endif
/*
+34 -16
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -35,6 +35,13 @@
#include <db.h>
#endif
static void php_dba_db3_errcall_fcn(const char *errpfx, char *msg)
{
TSRMLS_FETCH();
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "%s%s", errpfx?errpfx:"", msg);
}
#define DB3_DATA dba_db3_data *dba = info->dbf
#define DB3_GKEY \
DBT gkey; \
@@ -50,7 +57,7 @@ DBA_OPEN_FUNC(db3)
{
DB *dbp = NULL;
DBTYPE type;
int gmode = 0;
int gmode = 0, err;
int filemode = 0644;
struct stat check_stat;
int s = VCWD_STAT(info->path, &check_stat);
@@ -65,30 +72,36 @@ DBA_OPEN_FUNC(db3)
info->mode == DBA_WRITER ? 0 :
info->mode == DBA_TRUNC ? DB_CREATE | DB_TRUNCATE : -1;
if (gmode == -1)
if (gmode == -1) {
return FAILURE; /* not possible */
}
if (info->argc > 0) {
convert_to_long_ex(info->argv[0]);
filemode = Z_LVAL_PP(info->argv[0]);
}
if (db_create(&dbp, NULL, 0) == 0 &&
#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
dbp->open(dbp, 0, info->path, NULL, type, gmode, filemode) == 0) {
#else
dbp->open(dbp, info->path, NULL, type, gmode, filemode) == 0) {
#ifdef DB_FCNTL_LOCKING
gmode |= DB_FCNTL_LOCKING;
#endif
dba_db3_data *data;
data = pemalloc(sizeof(*data), info->flags&DBA_PERSISTENT);
data->dbp = dbp;
data->cursor = NULL;
info->dbf = data;
if ((err=db_create(&dbp, NULL, 0)) == 0) {
dbp->set_errcall(dbp, php_dba_db3_errcall_fcn);
if ((err=dbp->open(dbp, info->path, NULL, type, gmode, filemode)) == 0) {
dba_db3_data *data;
data = pemalloc(sizeof(*data), info->flags&DBA_PERSISTENT);
data->dbp = dbp;
data->cursor = NULL;
info->dbf = data;
return SUCCESS;
} else if (dbp != NULL) {
dbp->close(dbp, 0);
return SUCCESS;
} else {
dbp->close(dbp, 0);
*error = db_strerror(err);
}
} else {
*error = db_strerror(err);
}
return FAILURE;
@@ -204,6 +217,11 @@ DBA_SYNC_FUNC(db3)
return dba->dbp->sync(dba->dbp, 0) ? FAILURE : SUCCESS;
}
DBA_INFO_FUNC(db3)
{
return estrdup(DB_VERSION_STRING);
}
#endif
/*
+239
View File
@@ -0,0 +1,239 @@
/*
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://www.php.net/license/2_02.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Sascha Schumann <sascha@schumann.cx> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "php.h"
#if DBA_DB4
#include "php_db4.h"
#include <sys/stat.h>
#include <string.h>
#ifdef DB4_INCLUDE_FILE
#include DB4_INCLUDE_FILE
#else
#include <db.h>
#endif
static void php_dba_db4_errcall_fcn(const char *errpfx, char *msg)
{
TSRMLS_FETCH();
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "%s%s", errpfx?errpfx:"", msg);
}
#define DB4_DATA dba_db4_data *dba = info->dbf
#define DB4_GKEY \
DBT gkey; \
memset(&gkey, 0, sizeof(gkey)); \
gkey.data = (char *) key; gkey.size = keylen
typedef struct {
DB *dbp;
DBC *cursor;
} dba_db4_data;
DBA_OPEN_FUNC(db4)
{
DB *dbp = NULL;
DBTYPE type;
int gmode = 0, err;
int filemode = 0644;
struct stat check_stat;
int s = VCWD_STAT(info->path, &check_stat);
type = info->mode == DBA_READER ? DB_UNKNOWN :
info->mode == DBA_TRUNC ? DB_BTREE :
s? DB_BTREE : DB_UNKNOWN;
gmode = info->mode == DBA_READER ? DB_RDONLY :
(info->mode == DBA_CREAT && s) ? DB_CREATE :
(info->mode == DBA_CREAT && !s) ? 0 :
info->mode == DBA_WRITER ? 0 :
info->mode == DBA_TRUNC ? DB_CREATE | DB_TRUNCATE : -1;
if (gmode == -1) {
return FAILURE; /* not possible */
}
if (info->argc > 0) {
convert_to_long_ex(info->argv[0]);
filemode = Z_LVAL_PP(info->argv[0]);
}
#ifdef DB_FCNTL_LOCKING
gmode |= DB_FCNTL_LOCKING;
#endif
if ((err=db_create(&dbp, NULL, 0)) == 0) {
dbp->set_errcall(dbp, php_dba_db4_errcall_fcn);
if (
#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
(err=dbp->open(dbp, 0, info->path, NULL, type, gmode, filemode)) == 0) {
#else
(err=dbp->open(dbp, info->path, NULL, type, gmode, filemode)) == 0) {
#endif
dba_db4_data *data;
data = pemalloc(sizeof(*data), info->flags&DBA_PERSISTENT);
data->dbp = dbp;
data->cursor = NULL;
info->dbf = data;
return SUCCESS;
} else {
dbp->close(dbp, 0);
*error = db_strerror(err);
}
} else {
*error = db_strerror(err);
}
return FAILURE;
}
DBA_CLOSE_FUNC(db4)
{
DB4_DATA;
if (dba->cursor) dba->cursor->c_close(dba->cursor);
dba->dbp->close(dba->dbp, 0);
pefree(dba, info->flags&DBA_PERSISTENT);
}
DBA_FETCH_FUNC(db4)
{
DBT gval;
char *new = NULL;
DB4_DATA;
DB4_GKEY;
memset(&gval, 0, sizeof(gval));
if (!dba->dbp->get(dba->dbp, NULL, &gkey, &gval, 0)) {
if (newlen) *newlen = gval.size;
new = estrndup(gval.data, gval.size);
}
return new;
}
DBA_UPDATE_FUNC(db4)
{
DBT gval;
DB4_DATA;
DB4_GKEY;
memset(&gval, 0, sizeof(gval));
gval.data = (char *) val;
gval.size = vallen;
if (!dba->dbp->put(dba->dbp, NULL, &gkey, &gval,
mode == 1 ? DB_NOOVERWRITE : 0)) {
return SUCCESS;
}
return FAILURE;
}
DBA_EXISTS_FUNC(db4)
{
DBT gval;
DB4_DATA;
DB4_GKEY;
memset(&gval, 0, sizeof(gval));
if (!dba->dbp->get(dba->dbp, NULL, &gkey, &gval, 0)) {
return SUCCESS;
}
return FAILURE;
}
DBA_DELETE_FUNC(db4)
{
DB4_DATA;
DB4_GKEY;
return dba->dbp->del(dba->dbp, NULL, &gkey, 0) ? FAILURE : SUCCESS;
}
DBA_FIRSTKEY_FUNC(db4)
{
DB4_DATA;
if (dba->cursor) {
dba->cursor->c_close(dba->cursor);
}
dba->cursor = NULL;
if (dba->dbp->cursor(dba->dbp, NULL, &dba->cursor, 0) != 0) {
return NULL;
}
/* we should introduce something like PARAM_PASSTHRU... */
return dba_nextkey_db4(info, newlen TSRMLS_CC);
}
DBA_NEXTKEY_FUNC(db4)
{
DB4_DATA;
DBT gkey, gval;
char *nkey = NULL;
memset(&gkey, 0, sizeof(gkey));
memset(&gval, 0, sizeof(gval));
if (dba->cursor->c_get(dba->cursor, &gkey, &gval, DB_NEXT) == 0) {
if (gkey.data) {
nkey = estrndup(gkey.data, gkey.size);
if (newlen) *newlen = gkey.size;
}
}
return nkey;
}
DBA_OPTIMIZE_FUNC(db4)
{
return SUCCESS;
}
DBA_SYNC_FUNC(db4)
{
DB4_DATA;
return dba->dbp->sync(dba->dbp, 0) ? FAILURE : SUCCESS;
}
DBA_INFO_FUNC(db4)
{
return estrdup(DB_VERSION_STRING);
}
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+26 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -27,7 +27,12 @@
#if DBA_DBM
#include "php_dbm.h"
#include <dbm.h>
#ifdef DBM_INCLUDE_FILE
#include DBM_INCLUDE_FILE
#endif
#if DBA_GDBM
#include "php_gdbm.h"
#endif
#include <unistd.h>
#include <sys/types.h>
@@ -108,6 +113,14 @@ DBA_UPDATE_FUNC(dbm)
datum gval;
DBM_GKEY;
if (mode == 1) { /* insert */
gval = fetch(gkey);
if(gval.dptr) {
return FAILURE;
}
}
gval.dptr = (char *) val;
gval.dsize = vallen;
@@ -177,6 +190,17 @@ DBA_SYNC_FUNC(dbm)
return SUCCESS;
}
DBA_INFO_FUNC(dbm)
{
#if DBA_GDBM
if (!strcmp(DBM_VERSION, "GDBM"))
{
return dba_info_gdbm(hnd, info TSRMLS_CC);
}
#endif
return estrdup(DBM_VERSION);
}
#endif
/*
+44 -12
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -41,6 +41,25 @@
DBA_OPEN_FUNC(flatfile)
{
int fd;
#ifdef F_SETFL
int flags;
#endif
if (info->mode != DBA_READER) {
if (SUCCESS != php_stream_cast(info->fp, PHP_STREAM_AS_FD, (void*)&fd, 1)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not cast stream");
return FAILURE;
}
#ifdef F_SETFL
/* Needed becasue some systems do not allow to write to the original
* file contents with O_APPEND being set.
*/
flags = fcntl(fd, F_SETFL);
fcntl(fd, F_SETFL, flags & ~O_APPEND);
#endif
}
info->dbf = pemalloc(sizeof(flatfile), info->flags&DBA_PERSISTENT);
memset(info->dbf, 0, sizeof(flatfile));
@@ -53,8 +72,9 @@ DBA_CLOSE_FUNC(flatfile)
{
FLATFILE_DATA;
if (dba->nextkey.dptr)
if (dba->nextkey.dptr) {
efree(dba->nextkey.dptr);
}
pefree(dba, info->flags&DBA_PERSISTENT);
}
@@ -67,8 +87,10 @@ DBA_FETCH_FUNC(flatfile)
FLATFILE_GKEY;
gval = flatfile_fetch(dba, gkey TSRMLS_CC);
if(gval.dptr) {
if(newlen) *newlen = gval.dsize;
if (gval.dptr) {
if (newlen) {
*newlen = gval.dsize;
}
new = estrndup(gval.dptr, gval.dsize);
efree(gval.dptr);
}
@@ -104,7 +126,7 @@ DBA_EXISTS_FUNC(flatfile)
FLATFILE_GKEY;
gval = flatfile_fetch(dba, gkey TSRMLS_CC);
if(gval.dptr) {
if (gval.dptr) {
efree(gval.dptr);
return SUCCESS;
}
@@ -122,12 +144,14 @@ DBA_FIRSTKEY_FUNC(flatfile)
{
FLATFILE_DATA;
if (dba->nextkey.dptr)
if (dba->nextkey.dptr) {
efree(dba->nextkey.dptr);
}
dba->nextkey = flatfile_firstkey(dba TSRMLS_CC);
if(dba->nextkey.dptr) {
if(newlen)
if (dba->nextkey.dptr) {
if (newlen) {
*newlen = dba->nextkey.dsize;
}
return estrndup(dba->nextkey.dptr, dba->nextkey.dsize);
}
return NULL;
@@ -137,15 +161,18 @@ DBA_NEXTKEY_FUNC(flatfile)
{
FLATFILE_DATA;
if(!dba->nextkey.dptr)
if (!dba->nextkey.dptr) {
return NULL;
}
if (dba->nextkey.dptr)
if (dba->nextkey.dptr) {
efree(dba->nextkey.dptr);
}
dba->nextkey = flatfile_nextkey(dba TSRMLS_CC);
if(dba->nextkey.dptr) {
if(newlen)
if (dba->nextkey.dptr) {
if (newlen) {
*newlen = dba->nextkey.dsize;
}
return estrndup(dba->nextkey.dptr, dba->nextkey.dsize);
}
return NULL;
@@ -163,6 +190,11 @@ DBA_SYNC_FUNC(flatfile)
return SUCCESS;
}
DBA_INFO_FUNC(flatfile)
{
return estrdup(flatfile_version());
}
#endif
/*
+10 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -27,7 +27,9 @@
#if DBA_GDBM
#include "php_gdbm.h"
#include <gdbm.h>
#ifdef GDBM_INCLUDE_FILE
#include GDBM_INCLUDE_FILE
#endif
#define GDBM_DATA dba_gdbm_data *dba = info->dbf
#define GDBM_GKEY datum gkey; gkey.dptr = (char *) key; gkey.dsize = keylen
@@ -180,6 +182,12 @@ DBA_SYNC_FUNC(gdbm)
gdbm_sync(dba->dbf);
return SUCCESS;
}
DBA_INFO_FUNC(gdbm)
{
return estrdup(gdbm_version);
}
#endif
/*
+194
View File
@@ -0,0 +1,194 @@
/*
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://www.php.net/license/2_02.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Marcus Boerger <helly@php.net> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "php.h"
#if DBA_INIFILE
#include "php_inifile.h"
#include "libinifile/inifile.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define INIFILE_DATA \
inifile *dba = info->dbf
#define INIFILE_GKEY \
key_type ini_key; \
if (!key) { \
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No key specified"); \
return 0; \
} \
ini_key = inifile_key_split((char*)key) /* keylen not needed here */
#define INIFILE_DONE \
inifile_key_free(&ini_key)
DBA_OPEN_FUNC(inifile)
{
info->dbf = inifile_alloc(info->fp, info->mode == DBA_READER, info->flags&DBA_PERSISTENT TSRMLS_CC);
return info->dbf ? SUCCESS : FAILURE;
}
DBA_CLOSE_FUNC(inifile)
{
INIFILE_DATA;
inifile_free(dba, info->flags&DBA_PERSISTENT);
}
DBA_FETCH_FUNC(inifile)
{
val_type ini_val;
INIFILE_DATA;
INIFILE_GKEY;
ini_val = inifile_fetch(dba, &ini_key, skip TSRMLS_CC);
*newlen = ini_val.value ? strlen(ini_val.value) : 0;
INIFILE_DONE;
return ini_val.value;
}
DBA_UPDATE_FUNC(inifile)
{
val_type ini_val;
int res;
INIFILE_DATA;
INIFILE_GKEY;
ini_val.value = val;
if (mode == 1) {
res = inifile_append(dba, &ini_key, &ini_val TSRMLS_CC);
} else {
res = inifile_replace(dba, &ini_key, &ini_val TSRMLS_CC);
}
INIFILE_DONE;
switch(res) {
case -1:
php_error_docref1(NULL TSRMLS_CC, key, E_WARNING, "Operation not possible");
return FAILURE;
default:
case 0:
return SUCCESS;
case 1:
php_error_docref1(NULL TSRMLS_CC, key, E_WARNING, "Key already exists");
return SUCCESS;
}
}
DBA_EXISTS_FUNC(inifile)
{
val_type ini_val;
INIFILE_DATA;
INIFILE_GKEY;
ini_val = inifile_fetch(dba, &ini_key, 0 TSRMLS_CC);
INIFILE_DONE;
if (ini_val.value) {
inifile_val_free(&ini_val);
return SUCCESS;
}
return FAILURE;
}
DBA_DELETE_FUNC(inifile)
{
int res;
INIFILE_DATA;
INIFILE_GKEY;
res = inifile_delete(dba, &ini_key TSRMLS_CC);
INIFILE_DONE;
return (res == -1 ? FAILURE : SUCCESS);
}
DBA_FIRSTKEY_FUNC(inifile)
{
INIFILE_DATA;
if (inifile_firstkey(dba TSRMLS_CC)) {
char *result = inifile_key_string(&dba->curr.key);
*newlen = strlen(result);
return result;
} else {
return NULL;
}
}
DBA_NEXTKEY_FUNC(inifile)
{
INIFILE_DATA;
if (!dba->curr.key.group && !dba->curr.key.name) {
return NULL;
}
if (inifile_nextkey(dba TSRMLS_CC)) {
char *result = inifile_key_string(&dba->curr.key);
*newlen = strlen(result);
return result;
} else {
return NULL;
}
}
DBA_OPTIMIZE_FUNC(inifile)
{
/* dummy */
return SUCCESS;
}
DBA_SYNC_FUNC(inifile)
{
/* dummy */
return SUCCESS;
}
DBA_INFO_FUNC(inifile)
{
return estrdup(inifile_version());
}
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+7 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -153,6 +153,12 @@ DBA_SYNC_FUNC(ndbm)
{
return SUCCESS;
}
DBA_INFO_FUNC(ndbm)
{
return estrdup("NDBM");
}
#endif
/*
+8 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -193,3 +193,10 @@ int cdb_find(struct cdb *c, char *key, unsigned int len TSRMLS_DC)
return cdb_findnext(c, key, len TSRMLS_CC);
}
/* }}} */
/* {{{ cdb_version */
char *cdb_version()
{
return "0.75, $Revision$";
}
/* }}} */
+3 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -52,4 +52,6 @@ int cdb_find(struct cdb *, char *, unsigned int TSRMLS_DC);
#define cdb_datapos(c) ((c)->dpos)
#define cdb_datalen(c) ((c)->dlen)
char *cdb_version();
#endif
+9 -5
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -79,8 +79,7 @@ int cdb_make_addend(struct cdb_make *c, unsigned int keylen, unsigned int datale
head = c->head;
if (!head || (head->num >= CDB_HPLIST)) {
head = (struct cdb_hplist *)
emalloc(sizeof(struct cdb_hplist));
head = (struct cdb_hplist *) emalloc(sizeof(struct cdb_hplist));
if (!head)
return -1;
head->num = 0;
@@ -172,8 +171,7 @@ int cdb_make_finish(struct cdb_make *c TSRMLS_DC)
return -1;
}
c->split = (struct cdb_hp *)
emalloc(memsize * sizeof(struct cdb_hp));
c->split = (struct cdb_hp *) safe_emalloc(memsize, sizeof(struct cdb_hp), 0);
if (!c->split)
return -1;
@@ -238,3 +236,9 @@ int cdb_make_finish(struct cdb_make *c TSRMLS_DC)
return php_stream_flush(c->fp);
}
/* }}} */
/* {{{ cdb_make_version */
char *cdb_make_version()
{
return "0.75, $Revision$";
}
+2 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -59,5 +59,6 @@ int cdb_make_addbegin(struct cdb_make *, unsigned int, unsigned int TSRMLS_DC);
int cdb_make_addend(struct cdb_make *, unsigned int, unsigned int, uint32 TSRMLS_DC);
int cdb_make_add(struct cdb_make *, char *, unsigned int, char *, unsigned int TSRMLS_DC);
int cdb_make_finish(struct cdb_make * TSRMLS_DC);
char *cdb_make_version();
#endif
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+132 -116
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2002 The PHP Group |
| Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -38,6 +38,8 @@
#include "flatfile.h"
#define FLATFILE_BLOCK_SIZE 1024
/*
* ret = -1 means that database was opened for read-only
* ret = 0 success
@@ -54,21 +56,25 @@ int flatfile_store(flatfile *dba, datum key_datum, datum value_datum, int mode T
php_stream_seek(dba->fp, 0L, SEEK_END);
php_stream_printf(dba->fp TSRMLS_CC, "%d\n", key_datum.dsize);
php_stream_flush(dba->fp);
if (php_stream_write(dba->fp, key_datum.dptr, key_datum.dsize) < key_datum.dsize)
if (php_stream_write(dba->fp, key_datum.dptr, key_datum.dsize) < key_datum.dsize) {
return -1;
}
php_stream_printf(dba->fp TSRMLS_CC, "%d\n", value_datum.dsize);
php_stream_flush(dba->fp);
if (php_stream_write(dba->fp, value_datum.dptr, value_datum.dsize) < value_datum.dsize)
if (php_stream_write(dba->fp, value_datum.dptr, value_datum.dsize) < value_datum.dsize) {
return -1;
} else { /* DBM_REPLACE */
}
} else { /* FLATFILE_REPLACE */
flatfile_delete(dba, key_datum TSRMLS_CC);
php_stream_printf(dba->fp TSRMLS_CC, "%d\n", key_datum.dsize);
php_stream_flush(dba->fp);
if (php_stream_write(dba->fp, key_datum.dptr, key_datum.dsize) < key_datum.dsize)
if (php_stream_write(dba->fp, key_datum.dptr, key_datum.dsize) < key_datum.dsize) {
return -1;
}
php_stream_printf(dba->fp TSRMLS_CC, "%d\n", value_datum.dsize);
if (php_stream_write(dba->fp, value_datum.dptr, value_datum.dsize) < value_datum.dsize)
if (php_stream_write(dba->fp, value_datum.dptr, value_datum.dsize) < value_datum.dsize) {
return -1;
}
}
php_stream_flush(dba->fp);
@@ -80,25 +86,16 @@ int flatfile_store(flatfile *dba, datum key_datum, datum value_datum, int mode T
*/
datum flatfile_fetch(flatfile *dba, datum key_datum TSRMLS_DC) {
datum value_datum = {NULL, 0};
size_t num=0;
size_t buf_size = 1024;
char *buf;
char buf[16];
if (flatfile_findkey(dba, key_datum TSRMLS_CC)) {
buf = emalloc((buf_size+1) * sizeof(char));
if (php_stream_gets(dba->fp, buf, 15)) {
num = atoi(buf);
if (num > buf_size) {
buf_size+=num;
buf = erealloc(buf, (buf_size+1)*sizeof(char));
}
php_stream_read(dba->fp, buf, num);
value_datum.dptr = buf;
value_datum.dsize = num;
if (php_stream_gets(dba->fp, buf, sizeof(buf))) {
value_datum.dsize = atoi(buf);
value_datum.dptr = safe_emalloc(value_datum.dsize, 1, 1);
value_datum.dsize = php_stream_read(dba->fp, value_datum.dptr, value_datum.dsize);
} else {
value_datum.dptr = NULL;
value_datum.dsize = 0;
efree(buf);
}
}
return value_datum;
@@ -110,57 +107,55 @@ datum flatfile_fetch(flatfile *dba, datum key_datum TSRMLS_DC) {
int flatfile_delete(flatfile *dba, datum key_datum TSRMLS_DC) {
char *key = key_datum.dptr;
size_t size = key_datum.dsize;
char *buf;
size_t buf_size = FLATFILE_BLOCK_SIZE;
char *buf = emalloc(buf_size);
size_t num;
size_t buf_size = 1024;
size_t pos;
php_stream_rewind(dba->fp);
buf = emalloc((buf_size + 1)*sizeof(char));
while(!php_stream_eof(dba->fp)) {
/* read in the length of the key name */
if (!php_stream_gets(dba->fp, buf, 15))
if (!php_stream_gets(dba->fp, buf, 15)) {
break;
}
num = atoi(buf);
if (num > buf_size) {
buf_size += num;
buf = erealloc(buf, (buf_size+1)*sizeof(char));
if (num >= buf_size) {
buf_size = num + FLATFILE_BLOCK_SIZE;
buf = erealloc(buf, buf_size);
}
pos = php_stream_tell(dba->fp);
/* read in the key name */
num = php_stream_read(dba->fp, buf, sizeof(char)*num);
if (num<0)
num = php_stream_read(dba->fp, buf, num);
if (num < 0) {
break;
*(buf+num) = '\0';
}
if (size == num && !memcmp(buf, key, size)) {
php_stream_seek(dba->fp, pos, SEEK_SET);
php_stream_putc(dba->fp, 0);
php_stream_flush(dba->fp);
php_stream_seek(dba->fp, 0L, SEEK_END);
if (buf)
efree(buf);
efree(buf);
return SUCCESS;
}
/* read in the length of the value */
if (!php_stream_gets(dba->fp, buf, 15))
if (!php_stream_gets(dba->fp, buf, 15)) {
break;
}
num = atoi(buf);
if (num > buf_size) {
buf_size+=num;
buf = erealloc(buf, (buf_size+1)*sizeof(char));
if (num >= buf_size) {
buf_size = num + FLATFILE_BLOCK_SIZE;
buf = erealloc(buf, buf_size);
}
/* read in the value */
num = php_stream_read(dba->fp, buf, sizeof(char)*num);
if (num<0)
num = php_stream_read(dba->fp, buf, num);
if (num < 0) {
break;
}
}
if (buf)
efree(buf);
efree(buf);
return FAILURE;
}
/* }}} */
@@ -168,133 +163,154 @@ int flatfile_delete(flatfile *dba, datum key_datum TSRMLS_DC) {
/* {{{ flatfile_findkey
*/
int flatfile_findkey(flatfile *dba, datum key_datum TSRMLS_DC) {
char *buf = NULL;
size_t buf_size = FLATFILE_BLOCK_SIZE;
char *buf = emalloc(buf_size);
size_t num;
size_t buf_size = 1024;
int ret=0;
void *key = key_datum.dptr;
size_t size = key_datum.dsize;
php_stream_rewind(dba->fp);
buf = emalloc((buf_size+1)*sizeof(char));
while (!php_stream_eof(dba->fp)) {
if (!php_stream_gets(dba->fp, buf, 15))
if (!php_stream_gets(dba->fp, buf, 15)) {
break;
}
num = atoi(buf);
if (num >= buf_size) {
buf_size = num + FLATFILE_BLOCK_SIZE;
buf = erealloc(buf, buf_size);
}
num = php_stream_read(dba->fp, buf, num);
if (num < 0) {
break;
num = atoi(buf);
if (num > buf_size) {
buf_size+=num;
buf = erealloc(buf, (buf_size+1)*sizeof(char));
}
num = php_stream_read(dba->fp, buf, sizeof(char)*num);
if (num<0) break;
*(buf+num) = '\0';
if (size == num) {
if (!memcmp(buf, key, size)) {
ret = 1;
break;
}
}
if (!php_stream_gets(dba->fp, buf, 15))
if (!php_stream_gets(dba->fp, buf, 15)) {
break;
num = atoi(buf);
if (num > buf_size) {
buf_size+=num;
buf = erealloc(buf, (buf_size+1)*sizeof(char));
}
num = php_stream_read(dba->fp, buf, sizeof(char)*num);
if (num<0)
num = atoi(buf);
if (num >= buf_size) {
buf_size = num + FLATFILE_BLOCK_SIZE;
buf = erealloc(buf, buf_size);
}
num = php_stream_read(dba->fp, buf, num);
if (num < 0) {
break;
*(buf+num) = '\0';
}
}
if (buf)
efree(buf);
return(ret);
efree(buf);
return ret;
}
/* }}} */
/* {{{ flatfile_firstkey
*/
datum flatfile_firstkey(flatfile *dba TSRMLS_DC) {
datum buf;
datum res;
size_t num;
size_t buf_size = 1024;
size_t buf_size = FLATFILE_BLOCK_SIZE;
char *buf = emalloc(buf_size);
php_stream_rewind(dba->fp);
buf.dptr = emalloc((buf_size+1)*sizeof(char));
while(!php_stream_eof(dba->fp)) {
if (!php_stream_gets(dba->fp, buf.dptr, 15)) break;
num = atoi(buf.dptr);
if (num > buf_size) {
buf_size+=num;
buf.dptr = erealloc(buf.dptr, (buf_size+1)*sizeof(char));
}
num = php_stream_read(dba->fp, buf.dptr, num);
if (num<0)
if (!php_stream_gets(dba->fp, buf, 15)) {
break;
buf.dsize = num;
if (*(buf.dptr)!=0) {
}
num = atoi(buf);
if (num >= buf_size) {
buf_size = num + FLATFILE_BLOCK_SIZE;
buf = erealloc(buf, buf_size);
}
num = php_stream_read(dba->fp, buf, num);
if (num < 0) {
break;
}
if (*(buf) != 0) {
dba->CurrentFlatFilePos = php_stream_tell(dba->fp);
return(buf);
res.dptr = buf;
res.dsize = num;
return res;
}
if (!php_stream_gets(dba->fp, buf.dptr, 15)) break;
num = atoi(buf.dptr);
if (num > buf_size) {
buf_size+=num;
buf.dptr = erealloc(buf.dptr, (buf_size+1)*sizeof(char));
}
num = php_stream_read(dba->fp, buf.dptr, num);
if (num<0)
if (!php_stream_gets(dba->fp, buf, 15)) {
break;
}
num = atoi(buf);
if (num >= buf_size) {
buf_size = num + FLATFILE_BLOCK_SIZE;
buf = erealloc(buf, buf_size);
}
num = php_stream_read(dba->fp, buf, num);
if (num < 0) {
break;
}
}
if (buf.dptr)
efree(buf.dptr);
buf.dptr = NULL;
return(buf);
efree(buf);
res.dptr = NULL;
res.dsize = 0;
return res;
}
/* }}} */
/* {{{ flatfile_nextkey
*/
datum flatfile_nextkey(flatfile *dba TSRMLS_DC) {
datum buf;
datum res;
size_t num;
size_t buf_size = 1024;
size_t buf_size = FLATFILE_BLOCK_SIZE;
char *buf = emalloc(buf_size);
php_stream_seek(dba->fp, dba->CurrentFlatFilePos, SEEK_SET);
buf.dptr = emalloc((buf_size+1)*sizeof(char));
while(!php_stream_eof(dba->fp)) {
if (!php_stream_gets(dba->fp, buf.dptr, 15)) break;
num = atoi(buf.dptr);
if (num > buf_size) {
buf_size+=num;
buf.dptr = erealloc(buf.dptr, (buf_size+1)*sizeof(char));
if (!php_stream_gets(dba->fp, buf, 15)) {
break;
}
num = php_stream_read(dba->fp, buf.dptr, num);
if (num<0)
break;
if (!php_stream_gets(dba->fp, buf.dptr, 15))
break;
num = atoi(buf.dptr);
if (num > buf_size) {
buf_size+=num;
buf.dptr = erealloc(buf.dptr, (buf_size+1)*sizeof(char));
num = atoi(buf);
if (num >= buf_size) {
buf_size = num + FLATFILE_BLOCK_SIZE;
buf = erealloc(buf, buf_size);
}
num = php_stream_read(dba->fp, buf.dptr, num);
if (num<0)
num = php_stream_read(dba->fp, buf, num);
if (num < 0) {
break;
buf.dsize = num;
if (*(buf.dptr)!=0) {
}
if (!php_stream_gets(dba->fp, buf, 15)) {
break;
}
num = atoi(buf);
if (num >= buf_size) {
buf_size = num + FLATFILE_BLOCK_SIZE;
buf = erealloc(buf, buf_size);
}
num = php_stream_read(dba->fp, buf, num);
if (num < 0) {
break;
}
if (*(buf)!=0) {
dba->CurrentFlatFilePos = php_stream_tell(dba->fp);
return(buf);
res.dptr = buf;
res.dsize = num;
return res;
}
}
if (buf.dptr)
efree(buf.dptr);
buf.dptr = NULL;
return(buf);
efree(buf);
res.dptr = NULL;
res.dsize = 0;
return res;
}
/* }}} */
/* {{{ flatfile_version */
char *flatfile_version()
{
return "1.0, $Revision$";
}
/* }}} */
/*
* Local variables:
* tab-width: 4
Loaded 100 of 1410 files, more files were not shown because too many files have changed in this diff. Show more