Compare commits

...
1673 Commits
Author SHA1 Message Date
SVN Migration 23fae3e23d This commit was manufactured by cvs2svn to create tag 'php_5_0_5'. 2005-09-05 10:41:15 +00:00
Zeev Suraski 12fc5ecaa1 Roll 5.0.5 2005-09-05 10:41:14 +00:00
Edin Kadribasic 83edf04cf0 MFH: link zlib only if needed 2005-09-03 21:33:05 +00:00
Edin Kadribasic 1025fc7e29 MFH: added missing export 2005-09-03 21:27:29 +00:00
foobar ec3c8b0744 BFN 2005-09-02 21:12:09 +00:00
foobar a3fb27d824 MFH 2005-09-02 21:08:43 +00:00
Ilia Alshanetsky b905940f9f MFh: Resolved bug #34240. 2005-09-02 17:25:22 +00:00
foobar 0904130f11 MFH 2005-09-02 13:51:26 +00:00
Dmitry Stogov e720f444c0 Fixed bug #34260 (Segfault with callbacks (array_map) + overloading) 2005-09-02 07:46:39 +00:00
Ilia Alshanetsky b56f2fe12d MFH: Fixed bug #34331 (php crashes when variables_order is empty). 2005-09-01 19:15:51 +00:00
Dmitry Stogov 54ee2cf3e4 Fixed bug #34137 (assigning array element by reference causes binary mess) 2005-09-01 13:21:56 +00:00
Dmitry Stogov f86d51727b MFH 2005-09-01 13:04:27 +00:00
Dmitry Stogov e2a0dc72d4 Fixed bug #34277 (array_filter() crashes with references and objects) 2005-09-01 12:01:02 +00:00
Ilia Alshanetsky 60a661d7f9 MFH: Fixed bug #32589 (possible crash inside imap_mail_compose() function). 2005-08-30 22:03:42 +00:00
Derick Rethans cdc11d0f49 - Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9). 2005-08-30 09:15:58 +00:00
Marcus Boerger 42ebe9efb2 - BFN 2005-08-30 06:48:41 +00:00
Marcus Boerger 9ec2a5bba8 - MFH Fix #34299: ReflectionClass::isInstantiable() returns true for abstract classes 2005-08-30 06:46:35 +00:00
Wez Furlong 05f0de0c22 Fixes --enable-sqlite=shared when doing so as part of the php distro 2005-08-28 23:20:20 +00:00
Edin Kadribasic cbacd949f8 MFH: pcrelib update 2005-08-25 18:36:45 +00:00
Zeev Suraski 0785d0d4af Revert to -dev 2005-08-25 18:29:15 +00:00
Zeev Suraski 2650819396 Bump version 2005-08-25 17:41:08 +00:00
Zeev Suraski 82e38322ed Roll RC2 2005-08-25 17:10:24 +00:00
Ilia Alshanetsky 9dd09fa253 MFH: Remainder of the 34191 bug fix. 2005-08-24 16:20:06 +00:00
Dmitry Stogov 78bafb0a0f Fixed boolean encoding (from 0/1 to false/true) to support some buggy soap SDKs.
Fixed support for missing nillable elements of sequnces.
2005-08-24 11:45:58 +00:00
Johannes Schlüter 11e98efaeb - MFH: Fix alphabetic order 2005-08-24 10:18:15 +00:00
Ilia Alshanetsky 4572d1ca93 MFH: removed unused vars 2005-08-23 15:20:48 +00:00
Greg Beaver 2e3affd121 sync with PEAR 1.3.6 2005-08-22 22:04:58 +00:00
Greg Beaver c64fd50c99 delete XML_RPC 1.3.1, add 1.4.0 2005-08-22 21:59:59 +00:00
Greg Beaver d0341050db sync with PEAR 1.3.6 2005-08-22 21:57:36 +00:00
Ilia Alshanetsky 8b5ef28849 MFH: Make dba extension support BerkleyDB 4.3. 2005-08-22 19:59:36 +00:00
Andrei Zmievski ce5840bfdd Upgrade to PCRE 6.0. 2005-08-22 16:56:13 +00:00
Greg Beaver a98e4ef9e8 argh, Archive_Tar is version 1.3.1, not 1.3.2 2005-08-22 16:12:17 +00:00
foobar 68babbb4cd reorder 2005-08-21 23:01:23 +00:00
Zeev Suraski 7547d0cfbd Roll 5.0.5RC1 2005-08-21 18:37:28 +00:00
Zeev Suraski 8e9f4c457e Backport Mike's patch for user sort functions 2005-08-21 18:36:34 +00:00
Ilia Alshanetsky 4e196361d8 MFH: Fixed bug #34191 (ob_gzhandler does not enforce trailing \0). 2005-08-21 16:04:38 +00:00
Ilia Alshanetsky de2f172277 MFH: Fixed bug #34156 (memory usage remains elevated after memory limit is
reached)
2005-08-18 15:14:23 +00:00
Ilia Alshanetsky 06c10055d5 MFH: Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2). 2005-08-18 01:15:23 +00:00
foobar 42b7576ae8 MFH..thank god this ext is NOT in PHP_4_4 branch too.. 2005-08-17 17:04:37 +00:00
Dmitry Stogov 79fcfd26f3 Fixed bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54 seg fault) 2005-08-17 11:54:11 +00:00
Zeev Suraski 4f07d5a965 Add SoapClient::__setSoapHeaders() 2005-08-17 07:02:31 +00:00
Marcus Boerger 426f625c99 - MFH: Prevent E_STRICT from ending up as exception 2005-08-16 18:11:34 +00:00
Ilia Alshanetsky 9a0f85e1fa MFH: Fixed bug #34148 (+,- and . not supported as parts of scheme). 2005-08-16 14:15:43 +00:00
Ilia Alshanetsky ba508184f0 MFH: Input validation part 2. 2005-08-16 00:25:46 +00:00
Ilia Alshanetsky 0833aba80f MFH: Chunk the output 2005-08-15 23:23:51 +00:00
Ilia Alshanetsky 2d820b6dee MFH: input validation. 2005-08-15 16:06:28 +00:00
Antony Dovgal 215ed32e25 BFN 2005-08-11 21:21:56 +00:00
Antony Dovgal 03c4f24419 MF5.1: fix #34078 (Reflection API problems in methods with boolean or null default values) 2005-08-11 21:17:28 +00:00
Dmitry Stogov 5743a33991 Fixed bug #34062 (Crash in catch block when many arguments are used) 2005-08-10 13:11:29 +00:00
Dmitry Stogov 9183f91b50 Fixed bug #34064 (arr[] as param to function is allowed only if function receives argument by reference) 2005-08-10 10:37:24 +00:00
Dmitry Stogov 78ba9bf7d7 Fixed bug #33940 (array_map() fails to pass by reference when called recursively) 2005-08-10 08:23:53 +00:00
Dmitry Stogov b50858afb3 Fixed bug #29253 (array_diff with $GLOBALS argument fails) 2005-08-10 07:43:41 +00:00
Andrey Hristov f865b20700 BFN 2005-08-06 17:09:40 +00:00
Andrey Hristov 13fa7f7256 - fix int-long issue on 64bit (MFH)
- add data checking (MFH)
- add a comment
2005-08-06 16:56:06 +00:00
foobar 3f49790ce6 MFH 2005-08-05 20:39:21 +00:00
foobar f463d67389 MFB_4_4 2005-08-05 20:29:13 +00:00
Anantha Kesari H Y d530f46597 NetWare specific stat structure issues.
--Kamesh
2005-08-05 14:00:47 +00:00
Dmitry Stogov ac6c88a4dc Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP) 2005-08-04 10:35:37 +00:00
Dmitry Stogov 42d4af122b Fixed clone bug in ze1_compatibility mode 2005-08-04 08:46:53 +00:00
Dmitry Stogov c85bb04fa5 Fixed bug #33942 (the patch to #33156 crash cygwin except cli) 2005-08-02 17:01:33 +00:00
Edin Kadribasic 46079e009c A bit too much merging in the previous patch reverted.
We still need parsedate.c in PHP_5_0
2005-08-01 20:43:04 +00:00
Dmitry Stogov 03913f1308 Fixed bug #33723 (php_value overrides php_admin_value) 2005-08-01 08:12:42 +00:00
foobar c82f578f82 MFH 2005-07-29 13:00:11 +00:00
Anantha Kesari H Y 9555ebfabb In NetWare few of the programs like apache2 and ldap use winsock inclusinf sys/socket.h is not desirable.
--Kamesh
2005-07-29 09:20:02 +00:00
Anantha Kesari H Y 8d626495ed Cleaned up the NetWare specific code 2005-07-28 08:57:38 +00:00
Anantha Kesari H Y 5e2f93d2dd Cleaning up the NetWare code sitting in win32/sendmail.c.
Removing netware/sysexits.h
--Kamesh
2005-07-28 08:53:30 +00:00
Anantha Kesari H Y 767c3476f0 defined EX_OK and EX_TEMPFAIL in ext/standard/mail.c for NETWARE rather than including a sysexits.h
--Kamesh
2005-07-28 08:48:31 +00:00
Anantha Kesari H Y 4ef8f95450 removing redundant inclusion of headers for NETWARE
--Kamesh
2005-07-27 12:43:06 +00:00
Anantha Kesari H Y bf6759dd01 configure.in
moved the PHP_OS and PHP_UNAME definitions near the place other oses define them currently it is ggeting redined to build machine values when ./configure script is generated using autoconf version 2.13 but works fine with autoconf 2.51.
Defining the default EXTENSION_DIR for NetWare

--Kamesh
2005-07-27 11:44:08 +00:00
Anantha Kesari H Y af53d53b11 removed main/config.nw.h
-- Kamesh
2005-07-26 08:42:49 +00:00
Anantha Kesari H Y d6463e5a3f ext/pcre/pcrelib/internal.h
NetWare can make use autoconf based build.

main/php_sprintf.c
NetWare can make use autoconf based build.

ext/bcmath/libbcmath/src/config.h
NetWare can make use autoconf based build.

ext/mcve/mcve.c
NetWare can make use autoconf based build.

-- Kamesh
2005-07-26 08:38:25 +00:00
Marcus Boerger ae194a9a9c - MFH: Missing PDO build support 2005-07-25 22:31:07 +00:00
Marcus Boerger 9859b1f397 _ BFN 2005-07-25 21:07:19 +00:00
Marcus Boerger fddecc1352 - Add new test 2005-07-25 21:04:08 +00:00
Marcus Boerger 0d845f2ea4 - MFH: Synch (0.2a, 0.3 suport) 2005-07-25 21:03:33 +00:00
Marcus Boerger 0ddcc317e5 - MFH Bugfix #33853 2005-07-25 20:26:49 +00:00
Anantha Kesari H Y 80fdc3ac5e ext/standard/fsock.h
Removing redundant inclusion of headers for NetWare

ext/standard/lcg.c
NetWare LibC SDK sys/time.h implicitly includes sys/timval.h so nothing special needed for NetWare here.

--Kamesh
2005-07-25 13:10:19 +00:00
Wez Furlong 3b80c7560c merge build changes from HEAD, so that 5.0 builds on systems with recent cygwin
distros.
2005-07-22 18:09:34 +00:00
Anantha Kesari H Y 751bd7f024 NetWare can make use of Autoconf based build 2005-07-22 12:35:09 +00:00
Dmitry Stogov 43fa58a0c1 $context is not longer passed by reference, so its modification has no effect 2005-07-22 07:34:48 +00:00
Dmitry Stogov 5106b38ae5 Fixed bug #33802 (throw Exception in error handler causes crash) 2005-07-22 07:33:28 +00:00
Dmitry Stogov 9e20484a18 Fixed bug #33710 (ArrayAccess objects doen't initialize $this) 2005-07-19 07:33:24 +00:00
foobar 82ddbebbe4 MFB4_4: Fix compile problem with --regex=system on some systems 2005-07-18 23:10:08 +00:00
Brad House 3704f085ed BACKPORT FROM HEAD: sync missing functions from libmonetra-5 2005-07-18 20:11:10 +00:00
foobar 8688512c84 MFH 2005-07-18 18:39:37 +00:00
Dmitry Stogov 2fb797e325 Fixed bug #33558 (warning with nested calls to functions returning by reference) 2005-07-18 07:41:11 +00:00
Anantha Kesari H Y 522bdfb820 NetWare can make use the AutoConf based build system 2005-07-16 12:50:53 +00:00
Anantha Kesari H Y c7ef927a4b removing the redundant file libpq-fs.h 2005-07-16 12:47:18 +00:00
Anantha Kesari H Y 63394e6885 sapi/apache2filter/php_apache.h
Removing redundant CLIB_STAT_PATCH
sapi/apache2filter/sapi_apache2.c
Removing redundant CLIB_STAT_PATCH
-- Kamesh
2005-07-16 12:30:10 +00:00
Anantha Kesari H Y 41ce678468 main/fopen_wrappers.c
NetWare file names are case insensitive
main/main.c
NetWare has no sendmail binary. It uses the smart host mailing code avaiolable in php distro. Could not find a better place to put this than main/main.c.
main/php_open_temporary_file.c,v
Removed the unused variable in NetWare block.
main/php_streams.h
Removing the redundant CLIB_STAT_PATCH
main/safe_mode.c
NetWare has no uid.
-- Kamesh
2005-07-16 12:14:45 +00:00
Anantha Kesari H Y 05b895cd39 TSRM/tsrm_virtual_cwd.c
Removing the redundant CLIB_STAT_PATCH
TSRM/tsrm_virtual_cwd.h
Removing the redundant CLIB_STAT_PATCH
TSRM/TSRM.c
Netware pthreads support is good enough. So removing all these fixes of old times.
-- Kamesh
2005-07-16 11:50:59 +00:00
Anantha Kesari H Y 75841af9f6 NetWare specific dirname fixes.
--Kamesh
2005-07-16 11:18:35 +00:00
Anantha Kesari H Y 55518f5360 ext/standard/file.h NetWare LibC has fnmatch and realpath implemented.
ext/standard/filestat.c Removing redundant CLIB_STAT_PATCH and fixing some NetWare specific stat structure.
ext/standard/link.c Removing redundant CLIB_STAT_PATCH.
ext/standard/pageinfo.c Removing redundant CLIB_STAT_PATCH and fixing some NetWare specific stat structure.
ext/standard/syslog.c Except LOG_SYSLOG NetWare LibC has other macros defined.

-- Kamesh
2005-07-15 09:29:19 +00:00
foobar 740b23ecdf MFH 2005-07-14 00:15:35 +00:00
Ilia Alshanetsky b17ba8c110 MFH: Fixed bug #33673 (Added detection for partially uploaded files). 2005-07-13 20:51:12 +00:00
foobar 3c2689b7a7 MFH 2005-07-13 15:15:56 +00:00
Dmitry Stogov 2556bb635c Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF). (Nuno) 2005-07-12 07:18:57 +00:00
foobar 800e57ea5c MFH 2005-07-09 01:00:11 +00:00
foobar ddac7fe373 MFH 2005-07-09 00:47:01 +00:00
Dmitry Stogov 6d7ea1ac5e Fixed HTTP basic authentication headers during subrequsts to xsd files 2005-07-08 09:36:42 +00:00
Dmitry Stogov 042862140c Fixed support for <any> in base type of extension 2005-07-08 07:17:17 +00:00
Dmitry Stogov 1724f8e6a8 Fixed SIGSEGV on decoding <any> elements 2005-07-07 17:29:39 +00:00
Anantha Kesari H Y fcfc10f3ff zend_stream_getc uses fread internally. NetWare LibC fread reads 4(Which I believe EOT) for EOF(^D) character. This happens when fread is asked to read one and only character as is the case with cl interactive mode.
-- Kamesh
2005-07-07 15:39:35 +00:00
Anantha Kesari H Y ff870e6149 1)gwtcwd of NetWare LibC gives a cwd with a volume information.
So using getcwdpath which gives with volume information.
getcwdpath gives with directory seperator as \ which is against our DEFAULT_SLASH of /.
So finding and replacing \ with /
2)NetWare file path normalization code in virtual_file_ex.
-- Kamesh
2005-07-07 07:32:57 +00:00
Anantha Kesari H Y e0cfa4d51b COPY_WHEN_ABSOLUTE is not needed for NetWare.
NetWare can understand the file paths with volumnename with a colon, starting with / or \\ as absolute paths.
-- Kamesh
2005-07-07 06:38:49 +00:00
Edin Kadribasic 6dba27dc90 MFH: Export missing symbol 2005-07-06 21:19:13 +00:00
Dmitry Stogov da68b9b16f Fixed possible crash 2005-07-06 14:16:03 +00:00
Dmitry Stogov 02dee4ae0f Fixed test to support 64-bit platforms 2005-07-06 07:28:41 +00:00
Dmitry Stogov 342e04ca80 Fixed SIGSEGV during error processing on some systems (linux/ppc) 2005-07-06 06:59:07 +00:00
Dmitry Stogov 8fe2b1bed4 Fixed crash in ext\standard\tests\general_functions\bug32647.php on Windows 2005-07-05 14:14:03 +00:00
Dmitry Stogov f5da540a4a Fixed test file 2005-07-05 14:10:45 +00:00
Derick Rethans c741a9e719 - MFH: Fixed memory corruption in pg_copy_from() in case the as_null parameter was
passed.
2005-07-05 12:47:06 +00:00
Dmitry Stogov 06a2e4ce94 Fixed bug #33520 (crash if safe_mode is on and session.save_path is changed) 2005-07-04 12:47:26 +00:00
Dmitry Stogov 923ec1c813 Fixed bug #31158 (array_splice on $GLOBALS crashes) 2005-07-04 10:08:21 +00:00
Dmitry Stogov b8257c86e2 Fixed test fules (they assumend register_long_arrays=1) 2005-07-03 10:37:11 +00:00
Edin Kadribasic 701d735b4a MFH 2005-07-02 22:50:01 +00:00
Greg Beaver efa98f98a7 XML_RPC -> 1.3.1 2005-07-02 02:53:23 +00:00
Anantha Kesari H Y c65348f1ef NetWare LibC has reentrant versions of time functions this code is of no use.
-- Kamesh from hyanantha's account
2005-07-01 08:00:44 +00:00
Anantha Kesari H Y b64e13a8d8 As fork implementation of NetWare LibC still in experimental stages making the procve based solution ahead of HAVE_FORK. Later When fork becomes stable will revert this fix. 2005-07-01 05:53:06 +00:00
Anantha Kesari H Y ac33ea9aa3 this file is not needed anymore 2005-06-29 13:09:48 +00:00
Anantha Kesari H Y 76f175e312 This file is not used at all. 2005-06-29 12:43:25 +00:00
Anantha Kesari H Y 8b882a5b3f NetWare LibC has mktemp implementation 2005-06-29 12:15:50 +00:00
Anantha Kesari H Y 0a99718803 NetWare LibC has getpwnam, getlogin, getpwuid, getpid, this file is not needed anymore 2005-06-29 12:04:03 +00:00
Anantha Kesari H Y ba4a956864 NetWare LibC has readlink implementation 2005-06-29 11:44:49 +00:00
Anantha Kesari H Y 3190028b5b This file does nothing so removing this file 2005-06-29 11:21:27 +00:00
Anantha Kesari H Y 2e128a6e09 NetWare LibC has grp.h 2005-06-29 11:03:53 +00:00
Anantha Kesari H Y bcc763bfb9 NetWare LibC has param.h 2005-06-29 10:53:15 +00:00
Anantha Kesari H Y cd9eaf74b2 NetWare LibC itself pipe/popen/pclose implementation 2005-06-29 10:17:02 +00:00
Johannes Schlüter 150a72925b - MFH: Fix TSRM build 2005-06-29 09:29:08 +00:00
Anantha Kesari H Y 37d7c2b316 NetWare LibC itself has a pip/popen support 2005-06-29 09:22:20 +00:00
Anantha Kesari H Y 6e06124ea7 NetWare LibC has a pipe and popen implentation 2005-06-29 08:58:18 +00:00
Stanislav Malyshev 5cc99a6ac0 add comment 2005-06-29 08:44:41 +00:00
Stanislav Malyshev a67935f091 fix conditions 2005-06-29 08:36:30 +00:00
Anantha Kesari H Y 47536e7ac1 mktemp functionality is part of Regular NetWare LibC 2005-06-29 08:33:21 +00:00
Anantha Kesari H Y 093a132957 removing pwd.h as NetWare LibC itself supplies pwd.h for quite sometime 2005-06-29 07:01:50 +00:00
Anantha Kesari H Y 1b5f44e88c removed the unwanted NetWare Code 2005-06-29 06:46:59 +00:00
Anantha Kesari H Y d8ea4f11d1 Removing unwanted NetWare Code 2005-06-29 06:41:15 +00:00
Anantha Kesari H Y 0ad3be52c6 removing unwanted NetWare code 2005-06-29 06:28:31 +00:00
Antony Dovgal 2a328b9ba7 MFH: fix leak and improve CS a bit 2005-06-28 22:04:52 +00:00
foobar 96c20f31ba Removed unnecessary entry 2005-06-28 17:07:26 +00:00
Brian France f81d41c762 MFH:
Added a SG(server_context) NULL check to php_apache_getenv.

This can get called when "<key> = ${<key>}:/foo" is used in a .ini file, but <key> has not be set yet.
You will end up with a value of ":/foo", but at least it will not crash.
2005-06-28 16:38:03 +00:00
Anantha Kesari H Y 3059580aed removed redundant NEW_LIBC checks 2005-06-28 15:27:49 +00:00
Anantha Kesari H Y 2183cfb649 removed the unwanted NetWare Code 2005-06-28 15:22:39 +00:00
Anantha Kesari H Y 25cf53b352 removing unwanted NetWare portion 2005-06-28 15:19:35 +00:00
Anantha Kesari H Y eafc0420f0 removing redundant NEW_LIBC checks 2005-06-28 15:14:22 +00:00
Anantha Kesari H Y 7423659c35 removing the redundant NEW_LIBC checks 2005-06-28 14:57:31 +00:00
Anantha Kesari H Y a8a5e7573c removing redundant NEW_LIBC checks for NetWare 2005-06-28 14:49:14 +00:00
Anantha Kesari H Y 146e3220b7 removing redundant NEW_LIBC checks 2005-06-28 13:46:45 +00:00
Anantha Kesari H Y 348694d57c removing the redundant NEW_LIBC checks 2005-06-28 12:48:28 +00:00
Stanislav Malyshev 078c700804 fixes fo rnon-php objects (John Coggeshall) 2005-06-28 10:36:27 +00:00
Stanislav Malyshev 6cb09f8e0b fix non-PHP object handling (from John Coggeshall) 2005-06-28 09:17:19 +00:00
Antony Dovgal 6086495713 MFH: fix #33491 (crash after extending MySQLi internal class) 2005-06-27 18:22:00 +00:00
Antony Dovgal b330229b84 MFH: fix leak appearing when connect fails 2005-06-27 18:20:25 +00:00
Stanislav Malyshev c7200842cc fix various "Class entry requested for an object without PHP class" messages
when working with non-PHP objects.
# Using Z_OBJCE(object)->name is usually bad idea unless you know it's
# a pure PHP object
2005-06-27 17:42:06 +00:00
Stefan Esser bb1332fe02 MFH: also check password 2005-06-27 08:16:42 +00:00
Dmitry Stogov 1ed47a60c6 Fixed SIGSEGV on assigment string offset by reference 2005-06-27 06:15:02 +00:00
Dmitry Stogov 97ec1ff4de Fixed wrong include/requre occurrences in debug backtrace. 2005-06-27 06:02:58 +00:00
Holger Zimmermann 1bf24dcad9 Replaced PCHAR by CHAR * (not defined in pi3web_sapi header) 2005-06-26 16:36:59 +00:00
foobar e414432792 revert the conflicting part 2005-06-26 12:24:38 +00:00
Pierre Joye 3a2fb03556 - Bump xml_rpc version 2005-06-26 07:00:58 +00:00
Dmitry Stogov a029c98992 Partial fix for bug #26584 (Class member - array key overflow)
It doesn't fix integer overflow problem, but allows null, boolean and double keys in array constants in the same way as in runtime.
2005-06-24 09:25:02 +00:00
Dmitry Stogov 7094c2e6cf Fixed bug #30519 (Interface not existing says Class not found) 2005-06-24 08:45:44 +00:00
Dmitry Stogov f275a211cd Fixed bug #28377 (debug_backtrace is intermittently passing args) 2005-06-23 11:59:56 +00:00
Dmitry Stogov 71f96764db Fixed bug #32660 (Assignment by reference causes crash when field access is overloaded (__get)) 2005-06-23 11:04:58 +00:00
Dmitry Stogov 104346f695 Fixed test file according to latest debug_backtrace() fixes 2005-06-23 09:24:10 +00:00
Dmitry Stogov 867e81ddcf Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden methods) 2005-06-23 09:23:03 +00:00
Dmitry Stogov e4782e05ca Test for bug #27268. It is fixed in HEAD but not in PHP_5_0. 2005-06-23 08:24:42 +00:00
Rob Richards b53261c1f7 MFH: Fix bug #33299 (php:function no longer handles returned dom objects)
- maybe fix #33431/33432
2005-06-22 19:58:33 +00:00
Dmitry Stogov d2b516a17e Debug backtrace was fixed 2005-06-22 15:29:18 +00:00
Dmitry Stogov 5343858182 Fixed bug #29896 (Backtrace argument list out of sync) 2005-06-22 15:24:15 +00:00
Anantha Kesari H Y 90b5168603 removing the redundant NEW_LIBC checks 2005-06-22 11:29:07 +00:00
Anantha Kesari H Y 0cdfe8042a NetWare LibC has sys/param.h 2005-06-22 11:23:35 +00:00
Dmitry Stogov b5e1063103 Fixed bug in test file 2005-06-22 08:33:56 +00:00
Dmitry Stogov 21bdd33fff Fixed bug #33257 (array_splice() inconsistent when passed function instead of variable) 2005-06-22 08:31:19 +00:00
foobar b857a3579f MFH 2005-06-21 13:08:29 +00:00
Dmitry Stogov d861d47034 Fixed bug #31213 (Sideeffects caused by fix of bug #29493) 2005-06-21 12:10:59 +00:00
Dmitry Stogov d1b80a614a Remove unnecessary ZEND_FETCH_CLASS together with ZEND_DECLARE_INHERITED_CLASS
in case of early binding
2005-06-21 12:05:23 +00:00
Dmitry Stogov 0857ef4e0e ext/soap should use type defined in SoapVar(), if wsdl defines another type 2005-06-21 06:25:07 +00:00
Dmitry Stogov 52ea2ff77a Fixed test file (the bug was already fixed) 2005-06-21 06:08:10 +00:00
Antony Dovgal 758e9b813f MFH: fix memleak 2005-06-20 23:16:54 +00:00
Antony Dovgal 0d1eea3e50 MFH: reorder and prevent memleak: bailout after free() 2005-06-20 19:59:21 +00:00
Dmitry Stogov 68d3a2a4a3 Fixed possible crash on $x = $obj->$non_string 2005-06-20 18:25:12 +00:00
foobar 4e0748c5cf MFH: netware fixes 2005-06-20 13:46:02 +00:00
Antony Dovgal 6ba14f7c60 MFH: fix #29683 (headers_list() returns empty array) 2005-06-20 12:46:52 +00:00
foobar cee2f89bac MFH 2005-06-20 11:48:25 +00:00
Derick Rethans af2640314c - MFH: - Updated bundled shtool to version 2.0.2 2005-06-18 21:10:59 +00:00
Georg Richter 5a731ab4a8 MFH: fix for bug #33263 2005-06-17 16:37:07 +00:00
Antony Dovgal 3de754c066 MFH: improve error messages in internal classes 2005-06-17 11:28:43 +00:00
Dmitry Stogov 276f733eff Fixed bug #33277 (private method accessed by child class) 2005-06-17 10:51:10 +00:00
Antony Dovgal c2982d7dd0 MFH latest Jani's patch to 5_0 2005-06-15 17:19:41 +00:00
Georg Richter caa994f64a fixed parameter parse string for mysqli_stmt_attr_set 2005-06-15 14:04:23 +00:00
Rob Richards 386958ed03 BFN 2005-06-14 19:41:16 +00:00
Rob Richards 12d269131a MFH: Fixed bug #33340 (CLI Crash when calling php:function from XSLT) 2005-06-14 19:40:33 +00:00
Antony Dovgal d6091a30e2 MFH:
destroy session after destroying error handle
SQLT_CHR is allowed too
2005-06-13 09:31:03 +00:00
foobar 9ba95c7002 MFH 2005-06-10 12:35:21 +00:00
Dmitry Stogov 4e13631ec1 Added test file for bug #31177 (not fixed yet) 2005-06-10 10:44:54 +00:00
Dmitry Stogov ef4e1a153e Fixed support for ZEND_ACC_SHADOW in ReflectionProperty constructor 2005-06-10 10:22:50 +00:00
Stanislav Malyshev 7577029efd RIP abstrace private 2005-06-09 17:13:36 +00:00
Stanislav Malyshev 328a1117f1 Disallow abstract privae methods 2005-06-09 17:04:30 +00:00
Stanislav Malyshev 748de20686 #29689 2005-06-09 17:03:03 +00:00
Stanislav Malyshev 40f8b98419 fix #29689 and more private property problems 2005-06-09 16:59:57 +00:00
Dmitry Stogov 1bdfef5b38 Fixed double call to php_stream_close() on compiler errors 2005-06-09 16:56:59 +00:00
Stanislav Malyshev af2cbccc89 add test for this (to be fixed) bug 2005-06-09 16:51:14 +00:00
Ilia Alshanetsky a958154f5c MFH: Fixed compiler warning. 2005-06-09 16:13:24 +00:00
Dmitry Stogov 3c6eac005e Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may result in seg fault) 2005-06-09 10:14:51 +00:00
Dmitry Stogov 2010493086 Fixed bug (Crash on Windows and ZTS) that was introduced with fix for bug #26456 2005-06-09 08:54:24 +00:00
Dmitry Stogov 17953a4c1d Fixed reference counting and probable crash on fclose() or shutdown 2005-06-09 08:19:18 +00:00
Dmitry Stogov 33218a673f Fixed array type autodetection (use namespace name, but not the namespace prefix) 2005-06-09 08:17:09 +00:00
Ilia Alshanetsky 931158fde1 MFH: Fixed bug #33268 (iconv_strlen() works only with a parameter of < 3
in length).
2005-06-08 23:51:05 +00:00
Dmitry Stogov 5eb5dfa536 Fixed memory allocation bugs in array_reduce() with initial value (#22463 & #24980) 2005-06-08 19:54:46 +00:00
Dmitry Stogov 5e37deccc1 Fixed exception handling in getIterator() callback (bugs #26229 & #30725) 2005-06-08 18:53:39 +00:00
Dmitry Stogov d09cdd9f71 Fixed valgrind errors 2005-06-08 18:10:28 +00:00
foobar eab21631e8 MFH 2005-06-08 15:57:46 +00:00
Dmitry Stogov 79d65efb1d Fixed incorrect usage of zend_mangle_property_name() (valgrind errors) 2005-06-08 15:48:26 +00:00
Dmitry Stogov cff8050b83 Fixed bug #30140 (Problem with array in static properties) 2005-06-08 13:21:01 +00:00
Dmitry Stogov 8622b50012 Added test for bug #32322 (Return values by reference broken( using self::),example singleton instance) 2005-06-08 08:43:58 +00:00
Dmitry Stogov 4413882286 Fixed test file affected by fix for bug #30820 (static member conflict with $this->member silently ignored) 2005-06-08 08:06:27 +00:00
Dmitry Stogov bfc4de7e6f Fixed bug #30820 (static member conflict with $this->member silently ignored) 2005-06-08 08:05:27 +00:00
Dmitry Stogov 55e2692100 Fixed bug #30961 (Wrong linenumber in ReflectionClass getStartLine()) 2005-06-08 06:48:39 +00:00
foobar 2518165f92 MFH 2005-06-07 21:57:06 +00:00
foobar 79b610def8 MFH 2005-06-07 21:40:16 +00:00
Dmitry Stogov d544099dcb Fixed bug #26456 (Wrong results from Reflection-API getDocComment() when called via STDIN) 2005-06-07 18:07:52 +00:00
foobar 3ae330cd00 MFH 2005-06-07 17:22:56 +00:00
Dmitry Stogov bfbbf5cedc Fixed memory allocation bugs. Probably this patch should fix bug #31725. 2005-06-07 15:38:37 +00:00
Ilia Alshanetsky 7de57d1a0f MFH: Fixed ZTS build. 2005-06-07 14:01:46 +00:00
Derick Rethans 221d961e02 - MFH: Added the --disable-zend-memory-manager switch to disable the Zend
memory manager.
#- I discussed this with Dmitry today - we found it useful.
2005-06-07 13:37:13 +00:00
Dmitry Stogov a7d4af0f34 Fixed memory leak in debug_print_backtrace() 2005-06-07 13:14:34 +00:00
Dmitry Stogov df96b038aa fixed memory leak in bug #28972 ([] operator overflow treatment is incorrect), not the bug itself. 2005-06-07 10:29:42 +00:00
Derick Rethans 5db859f053 - MF44: Problems with user defined error handler and references 2005-06-07 09:59:48 +00:00
Derick Rethans a235714d20 - MFH: Don't crash when compiled with the zend memory manager disabled. 2005-06-07 08:25:29 +00:00
Dmitry Stogov c8add6a3c2 Fixed bug #33243 (ze1_compatibility_mode does not work as expected) 2005-06-07 07:03:20 +00:00
Wez Furlong 6deefd1444 mfh: fix solaris build 2005-06-06 22:06:00 +00:00
Brad House a6f21df54c libmonetra 5.0 sync.
added m_validateidentifier, which is enabled by default to keep invalid pointer addresses from causing PHP to crash
kept compatability with older versions of libmonetra.
2005-06-06 16:43:55 +00:00
Ilia Alshanetsky baef306ffe MFH: Better storage size for output length. 2005-06-06 16:31:00 +00:00
Derick Rethans d8eb4055f0 - MH44: Problems with user defined error handler and wrong usage of references 2005-06-06 13:07:56 +00:00
Derick Rethans 2d4b98bf8b - Fixed bug #33242 (Mangled error message when stream fails). 2005-06-06 12:41:28 +00:00
foobar 3df7ed81db ws 2005-06-06 11:50:25 +00:00
Uwe Schindler 38d7c22ee0 Fix bug #33166 for other branches and new bug #33255 2005-06-06 11:00:48 +00:00
Dmitry Stogov 21d984c1bb Fixed bug #32799 (crash: calling the corresponding global var during the destruct) 2005-06-06 10:38:22 +00:00
Dmitry Stogov f5f6a1bb02 Fixed bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct) 2005-06-06 09:50:08 +00:00
Dmitry Stogov 52cd8053dc Added test for bug #32993 (implemented Iterator function current() don't throw
exception)
2005-06-06 08:25:22 +00:00
Dmitry Stogov 3452a4d9cb Fixed bug #33171 (foreach enumerates private fields declared in base classes) 2005-06-06 07:51:19 +00:00
Ilia Alshanetsky a40c67d2fa MFH: Fixed bug #33070 (Improved performance of bzdecompress() by several
orders of magnitude).
2005-06-05 18:05:07 +00:00
Magnus M��tt� f94cbfb33d MFH: Add skipif, test requires iconv. 2005-06-03 22:51:58 +00:00
Dmitry Stogov 3ba3e35a3e Fixed bug #30394 (Assignment operators yield wrong result with __get/__set) 2005-06-03 15:36:48 +00:00
Dmitry Stogov 695d12d0db Fixed bug #30080 (Passing array or non array of objects) 2005-06-03 15:02:09 +00:00
Dmitry Stogov 85a1e14e37 Fixed bug #27598 (list() array key assignment causes HUGE memory leak) 2005-06-03 13:57:01 +00:00
Dmitry Stogov 40d52ebc39 Fixed memory allocation bugs related to magic object handlers (__get(), __set(), ...) 2005-06-03 11:15:50 +00:00
George Schlossnagle b4ff2c495f On architectures that support va_copy (specifically x86_64 linux distros),
if you use va_list args more than once, you can corrupt memory - you
need to use va_copy instead.  man va_copy for details.

Also, derefrencing a void * to a long on 64 bit is totally uncool.
2005-06-03 07:31:59 +00:00
Ilia Alshanetsky 18ccd896c7 MFH: unnecessary variable. 2005-06-03 03:54:02 +00:00
foobar 710d2fef1c MFH: - Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs) 2005-06-02 21:32:09 +00:00
Antony Dovgal 695b15b209 MFH: fix bug #33222 (segfault when CURL handle is closed in a callback).
fix segfaults when CURL callback functions throw exception.
2005-06-02 21:04:43 +00:00
Antony Dovgal fc325ce662 MFH: fix bug #33214 (odbc_next_result does not signal SQL errors with 2-statement SQL batches).
Path by rich at kastle dot com.
2005-06-02 15:42:44 +00:00
Derick Rethans 62a06d2d9e - That should have been removed, not commented out. 2005-06-02 08:51:10 +00:00
Derick Rethans 719b107576 - MFH: Fixed memory corruption in stristr(). 2005-06-02 08:31:03 +00:00
Ilia Alshanetsky 381734bede MFH: Fixed bug #33210 (relax jpeg recursive loop protection). 2005-06-01 22:28:38 +00:00
Dmitry Stogov 7a9d1fb1d5 Disabled search of recored separator outside of buffer 2005-06-01 15:11:15 +00:00
Dmitry Stogov eca56e4b59 Fixed bug #32941 (Sending structured SOAP fault kills a php) 2005-06-01 14:42:50 +00:00
Dmitry Stogov 05affa4c86 Fixed bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded) 2005-06-01 10:53:57 +00:00
Dmitry Stogov 7b23a065e8 Fixed "refcount" counting for autoglobals 2005-06-01 09:43:48 +00:00
Dmitry Stogov ce6b662ed6 Fixed possible memory corruption on request shutdown
`valgrind -q --tool=memcheck sapi/cli/php tests/reflection/001.phpt`
2005-05-31 17:40:48 +00:00
Dmitry Stogov 08fdbaecf8 Fixed usage of uninicialized variable 2005-05-31 14:35:25 +00:00
Magnus M��tt� 9285368cc1 MFH: Fix test 2005-05-31 13:46:59 +00:00
foobar ed160b9a19 MFH: - Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier misbehave) 2005-05-31 12:55:33 +00:00
Ilia Alshanetsky 2063ff5a15 MFH: Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1). 2005-05-30 23:46:28 +00:00
foobar b1c2b7a493 - Fixed bug #33185 (--enable-session=shared does not build) 2005-05-30 15:13:57 +00:00
Sebastian Bergmann 4939dff84e MFH: Sync with config.m4. 2005-05-28 06:38:48 +00:00
Andrei Zmievski 1d019347cd Upgrade PCRE library to 5.0. 2005-05-27 18:07:33 +00:00
Dmitry Stogov 8ce349b8e0 Fixed bug #22836 (returning reference to uninitialized variable) 2005-05-27 16:05:52 +00:00
foobar f3797e0015 Move BFN to correct version.. 2005-05-27 07:21:11 +00:00
Ilia Alshanetsky c60e945965 Fixed bug #33080 (missing MFH of a fix for bug #31465) 2005-05-27 02:03:27 +00:00
Andrei Zmievski 19859a1b35 MFH 2005-05-26 21:49:32 +00:00
Dmitry Stogov 82be7f8f85 Fixed bug #33116 (crash when assigning class name to global variable in __autoload) 2005-05-26 14:40:12 +00:00
Marcus Boerger db4678d6af - Add new tests 2005-05-26 12:24:57 +00:00
Marcus Boerger a86cdc6952 - BFN 2005-05-26 11:59:36 +00:00
Marcus Boerger d7d5069d8b - MFH making SQLiteDatabase derivable 2005-05-26 11:56:03 +00:00
Ilia Alshanetsky 5a27a76b1b MFH: Added scheme validation for parse_url(). 2005-05-26 03:56:34 +00:00
Dmitry Stogov 00448a5211 Fixed bug #29971 (variables_order behaviour) 2005-05-25 17:41:18 +00:00
Stanislav Malyshev 2640b806d6 fix is_object on non-php objects 2005-05-25 10:58:26 +00:00
Ilia Alshanetsky 1930be2528 MFH: Return error on an invalid input to mime_content_type() function. 2005-05-25 03:06:07 +00:00
Andrei Zmievski 6b1cc632d1 MFH 2005-05-24 22:11:39 +00:00
Antony Dovgal 2843a96a82 MFH: make it compile on Win32 2005-05-24 10:14:05 +00:00
Ilia Alshanetsky f4a9417486 MFH: Fixed bug #32810 (temporary files not using plain file wrapper). 2005-05-23 21:49:53 +00:00
Antony Dovgal 254adf10bd revert by Wez's request 2005-05-23 15:37:10 +00:00
Antony Dovgal 770b04e09e BFN 2005-05-23 11:52:23 +00:00
Antony Dovgal f0893ba362 MFH: fix bug #32810 (fread after tmpfile() reads only 8192 bytes) 2005-05-23 11:52:12 +00:00
Antony Dovgal b3a89ba1ba MFH: fix test 2005-05-23 11:38:54 +00:00
foobar 9f24154bed MFH: Upgrade bundled shtool to 2.0.1 2005-05-23 09:46:17 +00:00
foobar d81b8bcb7b MFH: - Fixed bug #33017 ("make distclean" gives an error with VPATH build). 2005-05-23 09:41:51 +00:00
foobar 2399cb1321 Missed the bus now.. 2005-05-23 06:49:48 +00:00
Dmitry Stogov 16a1587e08 Handling responses with Content-Lenght: 0 2005-05-23 06:25:02 +00:00
Ilia Alshanetsky 3b4f3489f9 MFH: adjust highlight test. 2005-05-22 16:41:33 +00:00
Ilia Alshanetsky 4a3be1d920 MFH: Fixed bug #29338 (unencoded spaces get ignored after certain tags). 2005-05-22 16:40:49 +00:00
Antony Dovgal ac378c3b78 MFH: fix compile warning 2005-05-22 12:57:45 +00:00
Stanislav Malyshev c51ccc9243 fix leak 2005-05-22 11:11:42 +00:00
Rasmus Lerdorf 3526bcf9cf MFH Fixed bug 33072 - safemode/open_basedir check for runtime save_path
change
2005-05-21 18:54:57 +00:00
Rasmus Lerdorf 531f14ca6e Ah, never mind. Didn't notice a conflict on my last checkout. Jani's MFH
was fine.
2005-05-21 18:26:27 +00:00
Rasmus Lerdorf d98646435e Roll back Jani's blind MFH here. zend_call_destructors() is PHP 5.1 only. 2005-05-21 18:11:17 +00:00
Georg Richter ebec35f646 MFH:
- fix for bug #33090 (mysqli_prepare doesn't return an error)
- mysql_set_charset now works for MySQL >= 5.0.6
2005-05-21 08:54:57 +00:00
Grant Croker 119e74d6c2 - Fixed bug #30593 (--with-ingres option generates broken Makefile). 2005-05-20 16:13:27 +00:00
Rob Richards 5e63dccbb9 MFH: correct fix for bug #33059
- fix issue in other methods
2005-05-20 15:02:48 +00:00
Antony Dovgal bfdac383dc MFH:
fix bug #33076 (str_ireplace() incorrectly counts result string length and may cause segfault)
add test
2005-05-20 14:24:16 +00:00
Derick Rethans f4feaeeff9 - Update NEWS 2005-05-20 11:15:03 +00:00
Derick Rethans 2e0caa5f5f - MFH: Fixed bug #33013: "next month" was handled wrong. 2005-05-20 11:14:01 +00:00
Antony Dovgal 00b89e2d34 MFH: fix bug #32944 (Disabling session.use_cookies doesn't prevent reading session cookies) 2005-05-20 10:28:16 +00:00
foobar bdbc54c1ab reorder 2005-05-20 06:37:30 +00:00
Rasmus Lerdorf 8fa2dc1c64 . 2005-05-19 16:17:17 +00:00
Rasmus Lerdorf feac7f8dbb MFH Fix for bug #33057 - Don't send extraneous entity-headers on a 304 as per
RFC 2616 section 10.3.5
2005-05-19 16:06:38 +00:00
George Schlossnagle 496a8fbfbd support building on new-fangled 64bit linux distros that stick
libraries in /usr/lib64
2005-05-19 14:23:07 +00:00
Ilia Alshanetsky bb671b8928 MFH: Fixed bug #33059 (crash when moving xml attribute set in dtd). 2005-05-19 13:47:47 +00:00
Dmitry Stogov 4a3aae2b74 Backported fix for bug #30451 2005-05-19 10:37:09 +00:00
Dmitry Stogov 8e5c9a3d35 Strict warnings 2005-05-19 09:56:00 +00:00
Stanislav Malyshev 00e1c513c3 fix for #29890 - part 2 2005-05-18 18:10:17 +00:00
Stanislav Malyshev d16cfb98e1 test 2005-05-18 18:08:36 +00:00
Stanislav Malyshev cc65afef4d fix #29890 - crash when function call fails 2005-05-18 18:01:13 +00:00
Stanislav Malyshev 9d36b04b69 tests 2005-05-18 14:51:08 +00:00
Magnus M��tt� b8a50ab35b MFH: Fix tests. 2005-05-17 18:43:58 +00:00
Antony Dovgal 2cfff608bd MFH: gdImageGifCtx() is always available in bundled lib 2005-05-17 12:23:02 +00:00
Antony Dovgal 7d1ea234ff MFH: fix bugs #32742 (segmentation fault when the stream with a wrapper
is not closed), #32171 (Userspace stream wrapper crashes PHP)
2005-05-16 08:37:41 +00:00
Antony Dovgal cdf0dde4e4 BFN 2005-05-13 23:15:33 +00:00
Antony Dovgal 53db4b6087 MFH: fix bug #29975 (memory leaks when set_error_handler() is used inside error handler) 2005-05-13 23:15:21 +00:00
Georg Richter 146a948d37 MFH:
fixed windows compilation bug
renamed mysqli_set_character_set_name to mysqli_set_charset
2005-05-13 13:53:08 +00:00
Antony Dovgal a778e8ae49 MFH: fix #33019 (socket errors cause memory leaks in php_strerror())
patch by jwozniak23 at poczta dot onet dot pl
2005-05-12 16:27:06 +00:00
Antony Dovgal 28bcbea342 fix both win and gcc compile errors 2005-05-11 21:16:44 +00:00
Antony Dovgal 1887ae79d6 MFH: fix gcc-2.95 problems (reported by Adam Maccabee Trachtenberg) 2005-05-11 20:04:39 +00:00
Joe Orton 85afcb802d MFH: - Fixed bug #29119 (html_decode_entities handling of U+0152-U+0192 range)
(merge error from 4.3)
MFH: Mark pointers in entity tables as const.
2005-05-11 14:58:34 +00:00
Antony Dovgal d9918485df use & and check for the right value of result_type 2005-05-10 23:15:24 +00:00
foobar 2f8f30a9d1 missing blame tag :) 2005-05-10 21:45:25 +00:00
Antony Dovgal 3a121f0377 MFH: fix #32904 (pg_get_notify() ignores result_type parameter) 2005-05-10 20:13:58 +00:00
Dmitry Stogov 8709e2b651 Fixed transparent SoapFault passing 2005-05-10 13:57:47 +00:00
foobar 233a99a4e5 MFB: - Fixed bugs #32800, #32830 (ext/odbc: Problems with 64bit systems) 2005-05-10 13:22:12 +00:00
foobar 32c7c2f458 MFH: ws fix 2005-05-10 12:20:03 +00:00
foobar 9f562a55a4 - Fixed bug #32613 (ext/snmp: use of snmp_shutdown() causes snmpapp.conf
access errors). (Jani, ric at arizona dot edu)
2005-05-10 12:16:42 +00:00
Dmitry Stogov 909033e650 Fixed SIGSEGV 2005-05-10 10:20:38 +00:00
Dmitry Stogov 2284d365f9 "<?xml ..." header is not required by SOAP specification 2005-05-10 08:15:58 +00:00
Andrey Hristov 591103e629 MFH 2005-05-09 22:31:52 +00:00
Andrey Hristov b5e3c39343 warn the user if he wants to prepare before fetching all previous data
(in case mysqli_stmt_store_result() wasn't called or not enough calls
to mysqli_stmt_fetch()).
2005-05-09 21:47:36 +00:00
Zeev Suraski e7c2bb9077 Fix build 2005-05-09 16:01:12 +00:00
foobar 9ae244bca8 MFH: - getlogin() / getgroups() are not necessarily available everywhere 2005-05-09 12:16:11 +00:00
Rasmus Lerdorf 5493a5af6b MFH 2005-05-08 17:29:37 +00:00
foobar 353f3d693d MFH: unnecessary test 2005-05-08 15:59:18 +00:00
foobar c941788794 MFH: - Fixed bug #32932 (Oracle LDAP: ldap_get_entries invalid pointer) 2005-05-08 15:44:15 +00:00
Georg Richter db46216831 added new function mysqli_set_character_set_name
This function changes also the mysql->charset structure for
mysql_real_escape_string (see MySQL Bugs #8317 and #9637).
This bug will probably be fixed in MySQL 5.1
2005-05-08 08:47:40 +00:00
Ilia Alshanetsky 5906410a83 Fixed memory leak on error in FTP wrapper. 2005-05-07 16:07:36 +00:00
Wez Furlong e3049fe418 MFB: Fix for #32974 2005-05-07 14:58:02 +00:00
Georg Richter f37d8ad76a fix for 5_0. Statement constructor doesn't exist in 5_0 2005-05-07 07:55:01 +00:00
Andrey Hristov ffa626068b bail out just after detecting incorrect number of paramts to bind (MFH) 2005-05-07 07:47:24 +00:00
Ilia Alshanetsky 16b517057e MFH: Check ftp user name for control characters. 2005-05-06 18:43:13 +00:00
Antony Dovgal 0cd04dd8ee MFH: fix off-by-one in _php_image_output()
and prevent such errors in php_do_open_temporary_file()
2005-05-06 16:49:04 +00:00
Andrey Hristov 6477d350b2 init these variables (MFH) 2005-05-06 10:15:07 +00:00
Ilia Alshanetsky 5b90adb4f7 Added missing bit of the previous patch. 2005-05-06 02:19:36 +00:00
Ilia Alshanetsky 74a7342ac1 MFH: Fixed bug #32936 (http redirects URLs are not checked for control chars). 2005-05-06 02:18:22 +00:00
foobar 0d93c5366d typo 2005-05-06 00:21:27 +00:00
foobar d067b201cf reorder 2005-05-06 00:13:45 +00:00
Dmitry Stogov 89511b316a Fixed bug #31525 (object reference being dropped. $this getting lost) 2005-05-05 17:36:53 +00:00
Georg Richter fbe44d0345 MFH: fix for bug #32956
fixed memleak in mysql_close
     fixed data truncation in test 009.phpt
2005-05-05 13:30:31 +00:00
Georg Richter 8e3bf69780 MFH: fix for bug #32947 2005-05-05 12:33:56 +00:00
Stanislav Malyshev 24150c7b1d clarify some magic 2005-05-04 15:25:42 +00:00
Anantha Kesari H Y 3ccba5514f NetWare LibC dlsym works perfectly only thing that each of the extension need to export a symbol with FULL capital prefix. 2005-05-04 13:48:01 +00:00
Dmitry Stogov 8f95eb97e2 Fixed bug #30707 (Segmentation fault on exception in method) 2005-05-04 11:16:58 +00:00
Dmitry Stogov 39a1bc4a46 ws 2005-05-04 08:44:40 +00:00
Dmitry Stogov 7f3804f4ae Fixed bug #30162 (Catching exception in constructor couses lose of $this) 2005-05-04 08:41:56 +00:00
Rob Richards 659c0d344a BFN 2005-05-03 22:56:41 +00:00
Rob Richards 3bd4199865 MFH: Fix bug #32930 (class extending DOMDocument doesn't clone properly) 2005-05-03 22:55:45 +00:00
Marcus Boerger 6d72c22eea - Add test 2005-05-03 12:54:11 +00:00
Marcus Boerger 2a1d0e96c0 - Update tests affexted by fix 2005-05-03 12:52:08 +00:00
Dmitry Stogov 573c568e85 Fixed bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)
Now get_class_methods() shows accessible private and protected methods if it is called from class scope.
2005-05-03 08:50:13 +00:00
Marcus Boerger 311d262169 - BFN 2005-05-02 16:14:14 +00:00
Marcus Boerger d4f91d59dd - MFH Bugfix #30126 2005-05-02 16:03:01 +00:00
Ilia Alshanetsky feb4c90222 MFH: Fixed bug #32608 (html_entity_decode() converts single quotes even if
ENT_NOQUOTES is given).
2005-05-01 19:49:40 +00:00
Pierre Joye 5c966aaa06 - MFB: #32891, init old y positions to non possible values. -1 being used
if the center start a (x,0)
2005-05-01 05:52:54 +00:00
foobar 972c932097 MFH: - Fix problems with phpized ext/imap 2005-04-30 09:29:44 +00:00
foobar 1950289d3d MFH: - Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana) 2005-04-30 04:30:20 +00:00
foobar 8369e2bfab MFH 2005-04-30 04:12:43 +00:00
foobar 9a53c1577f MFH: Moved phpextdist to dev/ 2005-04-30 03:02:49 +00:00
foobar c1b700d871 MFH 2005-04-29 10:40:39 +00:00
Andrey Hristov 015f87f5a9 missed to remove that. multi_query is no more a global. 2005-04-29 10:22:35 +00:00
foobar 94e8a7b47d MFH: Make sure E_STRICT is set always 2005-04-29 08:54:30 +00:00
Dmitry Stogov 39fec23c4c Fixed bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with array_push()) 2005-04-29 07:58:50 +00:00
Dmitry Stogov 79864e31c1 Fixed bug #32852 (Crash with singleton and __destruct when zend.ze1_compatibility_mode = On)
Fixed bug #31828 (Crash with zend.ze1_compatibility_mode=On)
Fixed bug #32080 (segfault when assigning object to itself with zend.ze1_compatibility_mode=On)
2005-04-29 07:03:35 +00:00
Dmitry Stogov 8aa7f7e3f9 Fixed WSDL cache bug 2005-04-29 05:38:31 +00:00
foobar 0a0d20f919 MFH: Add auto_globals_jit entry to php.ini-* (bug #29514) 2005-04-29 01:37:37 +00:00
Dmitry Stogov 11f5296b41 Fixed bug #29015 (Incorrect behavior of member vars(non string ones)-numeric mem vars und others) 2005-04-28 17:39:56 +00:00
Antony Dovgal 239a85c33e MFH: add test for bug #32828 2005-04-28 14:34:22 +00:00
foobar fda8417776 MFH 2005-04-28 14:24:21 +00:00
Antony Dovgal 05febcfc9a MFH: fix #32828 (Throwing exception in output_callback function with ob_start and
ob_end_clean leads to segfault)
2005-04-28 14:20:56 +00:00
Antony Dovgal 9c71c7530b MFH: handle unsupported datatypes and prevent segfault 2005-04-28 14:12:23 +00:00
foobar 926ec43123 MFH 2005-04-28 13:14:55 +00:00
Rob Richards a6306386c3 BFN 2005-04-28 12:19:09 +00:00
Rob Richards 37e937db25 MFH: Fix bug #32245 (xml_parser_free() in function assigned to the xml parser
gives a segfault)
2005-04-28 12:17:18 +00:00
foobar ea6ac022d6 MFH 2005-04-27 23:27:44 +00:00
foobar 99365dfd46 reword 2005-04-27 22:59:52 +00:00
Andrey Hristov 1ad623b515 update NEWS 2005-04-27 21:25:33 +00:00
Andrey Hristov d795792f8f change names 2005-04-27 21:23:44 +00:00
Andrey Hristov 5bad102755 BFN 2005-04-27 18:04:33 +00:00
Andrey Hristov e465c076f5 MFH (fix bug #31023)
#no test case because this has to be run with binary compiled with memory
#limit enabled.
2005-04-27 17:58:53 +00:00
Dmitry Stogov cfb4c916b8 Fixed bug #29210 (Function: is_callable - no support for private and protected classes). 2005-04-27 15:44:06 +00:00
Dmitry Stogov eb51b4f23a Fixed bug #29104 (Function declaration in method doesn't work) 2005-04-27 14:30:33 +00:00
foobar dedcaff2f2 MFH 2005-04-27 13:13:38 +00:00
Anantha Kesari H Y 896fe268fb check should be on host_alias rather than on target_alias, but somehow works on configure generated using autoconf 2.57. 2005-04-27 12:29:15 +00:00
Andrey Hristov 352d90baac BFN 2005-04-27 12:16:44 +00:00
Andrey Hristov 8595c6b6b8 - Fix bug 31668 (multi query fails every other time). The multi_query flag
was global and not per connection.
- use ecalloc() instead of calloc() for memory that will be freed with
  efree()
2005-04-27 12:03:05 +00:00
Dmitry Stogov 6644e5c5ec Fixed bug #32674 (exception in iterator causes crash) 2005-04-27 06:46:44 +00:00
Dmitry Stogov 519642125f Fixed bug #30889 (Conflict between __get/__set and ++ operator) 2005-04-26 13:23:08 +00:00
Dmitry Stogov 1a94c0f341 Fixed bug #30702 (cannot initialize class variable from class constant) 2005-04-26 09:27:07 +00:00
foobar aa6ecd5619 Netware stuff 2005-04-26 08:20:30 +00:00
Ilia Alshanetsky fce70d11e6 MFH: Fixed bug #32813 (parse_url() does not handle scheme-only urls properly). 2005-04-25 23:48:31 +00:00
foobar 7576762fb6 rbfn 2005-04-25 21:19:05 +00:00
foobar cadd10f56b MFH: revertos 2005-04-25 21:18:41 +00:00
foobar 8ba63bf7c0 reorder + shorten.. 2005-04-25 13:03:35 +00:00
Stanislav Malyshev 3656d13b68 fix 2005-04-25 12:44:19 +00:00
Stanislav Malyshev d225b1ce81 @- Fix #32773 and make right fix for GMP FPEs (Stas)
Fix #32773 and make right fix for GMP FPEs
2005-04-25 12:16:43 +00:00
Dmitry Stogov fae7e2bff2 Fixed bug #29944 (Function defined in switch, crashes). 2005-04-25 09:58:06 +00:00
Edin Kadribasic b0f4a8e912 BFN 2005-04-25 09:11:47 +00:00
Edin Kadribasic 584fb97aed MFH: Added T1LIB support on Windows (#32809) 2005-04-25 09:10:14 +00:00
Dmitry Stogov abe7b677f3 Fixed call to estrndup() with invalid lengt 2005-04-25 06:11:00 +00:00
Sebastian Bergmann 4dceadd4c1 MFH: Correct grammar. 2005-04-25 05:14:46 +00:00
Ilia Alshanetsky 40d04782e0 zval** not zval*. 2005-04-24 18:11:23 +00:00
Ilia Alshanetsky 5135548c9d MFH: Fixed bug #32802 (General cookie overrides more specific cookie). 2005-04-24 17:52:58 +00:00
foobar eb393b600c MFH: - Execute destructors earlier 2005-04-24 14:49:00 +00:00
foobar 81afaf32d7 typo 2005-04-23 23:57:56 +00:00
foobar 63a9f23f74 MFH: fix memleak 2005-04-23 21:15:54 +00:00
foobar 86e161007c MFH: - Fixed bug #32111 (Cookies can also be separated by colon) 2005-04-23 20:34:23 +00:00
Joe Orton 5fa11c0579 MFH: Fixed bug #32797 (invalid C code in xmlrpc extension). 2005-04-22 11:54:17 +00:00
Antony Dovgal 332f700522 fix C++ comments 2005-04-22 09:14:34 +00:00
Masaki Fujimoto 6d58950fe6 - MFH: Fix mbfl_encoding_detector_feed() and mbfl_mbfl_identify_encoding() behaviour 2005-04-22 05:03:25 +00:00
foobar 40108e7c04 MFH 2005-04-21 23:02:15 +00:00
foobar 46d47e77d0 MFH: expose EXEEXT and use with CLI/CGI 2005-04-21 15:13:16 +00:00
foobar fae392c88f BFN 2005-04-21 14:46:03 +00:00
foobar 485321056a MFH: - Fixed bug #32647 (Using register_shutdown_function() with invalid callback can crash PHP) 2005-04-21 14:45:55 +00:00
foobar 4924aa83f3 MFH: Added test for bug #32647 2005-04-21 14:18:27 +00:00
Dmitry Stogov ff8c742822 Fixed wrong SoapFault codes. The codes MUST be namespace qualified. 2005-04-21 12:27:54 +00:00
foobar 525e7171a4 MFH: - Possible fix for bug #32778 2005-04-21 11:19:53 +00:00
Antony Dovgal 4dac7613a2 add *.php to cvsignore 2005-04-21 10:20:09 +00:00
Brian France b601848ecd MFH: Added support for .cc files in extensions. 2005-04-20 20:50:12 +00:00
Dmitry Stogov 207248483e Fixed bug #32776 (SOAP doesn't support one-way operations) 2005-04-20 10:58:38 +00:00
Dmitry Stogov 1a635c7c89 space -> tab 2005-04-20 08:43:53 +00:00
Dmitry Stogov 4baee906ce Support for element's form and schema's elementFormDefault attributes (qualified/unqualified) 2005-04-20 08:31:10 +00:00
Dmitry Stogov 8594a3806f Some tests where fixed 2005-04-20 06:35:29 +00:00
foobar aad8b12fea reorder 2005-04-19 22:14:45 +00:00
foobar a2ad16ef21 MFH 2005-04-19 22:05:43 +00:00
Andrey Hristov 08c6d398cc FN 2005-04-19 17:35:04 +00:00
Andrey Hristov b01b5d8e58 MFH 2005-04-19 17:33:16 +00:00
Andrey Hristov 2d36d2dd9f fix test to be able to run not only over Unix socket but also over TCP/IP
and not only connected to localhost.
2005-04-19 15:42:45 +00:00
Andrey Hristov fd1fc2de89 BFN 2005-04-19 15:10:58 +00:00
Andrey Hristov fd13faea13 MFH 2005-04-19 13:42:31 +00:00
Wez Furlong 28a638fe7b BFN 2005-04-19 05:59:12 +00:00
Wez Furlong 7b6535c100 - Fix #32758 Cannot access safearray properties
- Fix #32759 incorrect determination of default value
2005-04-19 05:57:21 +00:00
Ilia Alshanetsky 047f1e936f MFH: Fixed bug #32753 (Undefined constant SQLITE_NOTADB). 2005-04-19 02:59:10 +00:00
Rob Richards d738786436 BFN 2005-04-18 23:09:09 +00:00
Rob Richards 9f0a5dc5e0 MFH: Fix bug #32755 Segfault in replaceChild() when DocumentFragment has no children
update test
2005-04-18 23:08:41 +00:00
Wez Furlong bba259101f Fix bugs #29583 and #31636 2005-04-18 16:22:38 +00:00
Dmitry Stogov d67b99c290 Fixed memory leak in debug_backtrace() 2005-04-18 07:24:25 +00:00
Georg Richter e61a96db00 MFH: fix for cursors 2005-04-18 06:03:58 +00:00
foobar 51a414ac42 MFH: - Fixed bug #30819 (Better support for LDAP SASL bind) 2005-04-17 16:26:30 +00:00
foobar 00330f2ae7 MFH: - Remove relic 2005-04-17 13:37:45 +00:00
foobar 1aa8063f2f MFH: - Fixed bug #31887 (ISAPI: Custom 5xx error does not return correct HTTP response message) 2005-04-17 03:39:14 +00:00
foobar 0205c37cf8 retype 2005-04-16 12:26:51 +00:00
Uwe Schindler 17157f8092 MFH: use streams api for md5_file() and sha1_file() 2005-04-16 09:50:13 +00:00
Rasmus Lerdorf f157b9f12a MFH: The emboss and edge detection filter matrices were swapped 2005-04-16 00:16:14 +00:00
foobar 46e5e2d0c2 MFH 2005-04-15 22:25:46 +00:00
foobar 3a32a2f48a MFH 2005-04-15 22:21:05 +00:00
foobar 4f043328df MFH: - Use correct type (bug #32720) 2005-04-15 22:07:05 +00:00
Frank M. Kromann 20e400b6c0 Backporting prebuilt and videostring functions 2005-04-15 19:13:49 +00:00
Uwe Schindler f809403a2d MFH: fix various solaris problems by replacing stdio with posix io where possible 2005-04-15 09:14:53 +00:00
George Schlossnagle f52a914791 MFH - import correct handling of attribute's namespacing (broken in 5.0.4) 2005-04-15 06:53:07 +00:00
foobar 5450a0dcd1 - Regenerated with re2c 0.9.6 (fixes severe bugs) 2005-04-14 22:40:28 +00:00
foobar e50067c6ce MFH: - Add support for latest Birdstep 2005-04-14 21:17:42 +00:00
foobar 8516c7deb1 BFN 2005-04-14 15:48:55 +00:00
foobar fe7ea4ca83 MFH 2005-04-14 15:36:45 +00:00
Ilia Alshanetsky 0de3906316 MFB43: Fixed bug #31583 (php_std_date() uses short day names in
non-y2k_compliance mode).
2005-04-14 13:31:44 +00:00
Antony Dovgal a8541e0178 MFH: disable pg_cmdtuples() too, if there is no pg_affected_rows() 2005-04-13 22:11:55 +00:00
Derick Rethans 0a650df8da - MF43: Fixed bug #32699 (pg_affected_rows() was defined when it was not
available).
2005-04-13 21:46:32 +00:00
Moriyoshi Koizumi ade2667c70 - Commit the pending patch (bug #32311).
# Ugh, it wasn't committed yet.
2005-04-13 10:10:54 +00:00
Antony Dovgal ce6102342f MFH: add testcase for bug #30833 2005-04-13 08:23:59 +00:00
Frank M. Kromann b09e421111 MFH: Fix for #32682. Error on module shutdown when called from activescript 2005-04-12 17:46:06 +00:00
Ilia Alshanetsky 28e45cf6e4 MFH: Fixed compiler warning. 2005-04-12 16:42:20 +00:00
Antony Dovgal 4a23aa4535 MFH: fix #30833 (array_count_values modifying input array) 2005-04-12 14:01:06 +00:00
Stanislav Malyshev 4b9cca7c0c fi memory corruption if one on the on_modify handlers errors out 2005-04-12 12:59:36 +00:00
foobar 155eff97df fix typo (bug #32673) 2005-04-11 15:39:21 +00:00
Antony Dovgal 39e0e30af0 MFH: revert the patch 2005-04-11 15:19:40 +00:00
Dmitry Stogov 5efebee28a Fixed SIGSEGV on serializing data with circular references 2005-04-11 11:58:36 +00:00
Dmitry Stogov 55b18c598d Fixed bug #31502 (Wrong deserialization from session when using WDDX serializer ) 2005-04-11 10:41:33 +00:00
Dmitry Stogov d52c8ab857 Support for encoding/decoding of private and protected members 2005-04-11 09:28:11 +00:00
foobar 8037889e2c MFH 2005-04-10 19:22:42 +00:00
foobar 26b9ee7df1 MFH: - Fixed bug #32587 (Apache2: errors sent to error_log do not include timestamps)
# Also nuked the deprecated APLOG_NOERRNO's
2005-04-08 20:34:03 +00:00
foobar b4734f0dc6 regenerate with correct re2c version 2005-04-08 20:12:56 +00:00
Rob Richards 18335130cc BFN 2005-04-08 16:00:42 +00:00
Rob Richards e649f719bd - MFH Fixed bug #32615 (Segfault in replaceChild() using fragment when
previousSibling is NULL)
- add test
2005-04-08 15:59:38 +00:00
Ilia Alshanetsky 8fc219f0e3 MFH: Missing part of the patch for bug #32589 2005-04-08 15:04:44 +00:00
Marcus Boerger a16a9a753e - MFH Fix memory corruption 2005-04-08 14:36:39 +00:00
foobar 5050078bc0 MFH 2005-04-08 13:37:23 +00:00
Rob Richards 1832daf3cc fix test 2005-04-08 12:19:10 +00:00
Jon Parise 3efb2acb34 MFH 1.36: Spell "overridden" correctly. 2005-04-07 23:33:37 +00:00
Ilia Alshanetsky d9d53a1d69 MFH: Fixed bug #32533 (proc_get_status() returns the incorrect process status). 2005-04-07 23:08:48 +00:00
foobar c7a9ce70e8 missing entry 2005-04-07 22:29:21 +00:00
foobar 327c876dc6 BFN 2005-04-07 22:24:43 +00:00
foobar 5329f7ce4c MFH: - Fixed bug #32591 (ext/mysql: Unsatisfied symbol: ntohs with HP-UX) 2005-04-07 22:23:28 +00:00
foobar a4f8a9214c MFH 2005-04-07 22:03:47 +00:00
foobar 09a5954e67 MFH: Nuke duplication 2005-04-07 21:05:19 +00:00
foobar e0fef8b821 MFH: Use PHP_AUTOCONF / PHP_AUTOHEADER environment variables 2005-04-07 20:43:27 +00:00
foobar 4e9005d847 MFH 2005-04-07 20:23:19 +00:00
Dmitry Stogov 1c82847edd Fixed indentation 2005-04-07 16:16:28 +00:00
Dmitry Stogov ab8e8c6380 Fixed wrong result of cal_days_in_month() with bad dates 2005-04-07 16:12:47 +00:00
Zeev Suraski 1bb1e8f5fa MFH (Fix strdup() bug when USE_ZEND_ALLOC was disabled) 2005-04-07 14:00:00 +00:00
Uwe Schindler 69ba9df048 Bug #32614 - prevent from crahsing with segfault on solaris if fdopen() fails - this fixes NOT the stdio-problem on solaris! 2005-04-07 07:28:53 +00:00
foobar ff757583ff MFH 2005-04-06 22:15:40 +00:00
Ilia Alshanetsky cbf631cf84 bug fixing news. 2005-04-06 14:48:21 +00:00
Ilia Alshanetsky eaed8e0922 MFH: Fixed bug #32553 (mmap loads only the 1st 2000000 bytes on Win32). 2005-04-06 14:47:51 +00:00
Ilia Alshanetsky 84c1e20749 MFH: Removed php_check_syntax() function, it never worked properly. For now
use shell_exec("php -l script_name") or similar.
2005-04-06 14:21:03 +00:00
Ilia Alshanetsky 6a8e47ca98 MFH: Fixed bug #31363 (broken non-blocking flock()). 2005-04-06 13:59:48 +00:00
Antony Dovgal dfaf49e9fd MFH: do not try to read after EOF 2005-04-06 08:26:44 +00:00
Georg Richter e65f524f92 MFH: fix for #32282 (segfault in mysqli_fetch_array on 64-bit) 2005-04-06 06:48:13 +00:00
Antony Dovgal 69f10386f4 MFH: remove proto 2005-04-05 20:31:38 +00:00
Ilia Alshanetsky ee70304a32 MFH: Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets). 2005-04-05 14:48:28 +00:00
Ilia Alshanetsky 137eb633aa MFH: Fixed bug #30362 (stream_get_line() not reading data correctly). 2005-04-05 03:00:13 +00:00
foobar fe99a3a8a1 MFH: fix test 2005-04-04 22:32:11 +00:00
Sara Golemon 62eceedcc4 MFH rev 1.72 2005-04-04 19:48:14 +00:00
foobar e1f15df15c - Update 2005-04-04 18:53:01 +00:00
foobar 6696ac41c5 MFH 2005-04-04 18:15:41 +00:00
Stanislav Malyshev b1efdfae47 fix backtraces - non-Zend classes have names too 2005-04-04 17:22:20 +00:00
Uwe Schindler d7842bb07c Bug #32491 (File upload error - unable to create a temporary file) - Changing file upload from stdio to posix 2005-04-04 15:00:13 +00:00
Antony Dovgal bac150263b MFH: configure looks for incorrect db2 library 2005-04-04 10:52:19 +00:00
foobar eb6732ad60 MFH: - Fixed bug #28839 (SIGSEGV in interactive mode (php -a)).
MFH:   (kameshj at fastmail dot fm)
2005-04-03 21:57:06 +00:00
Ilia Alshanetsky 4c11305640 MFH: Fixed bug #32530 (chunk_split() does not append endstr if chunklen is
longer then the original string).
2005-04-03 18:09:25 +00:00
Antony Dovgal 43b641eab9 MFH: fix typo 2005-04-03 13:06:33 +00:00
Antony Dovgal 8325a296cb MFH: fix output_reset_rewrite_vars() returning false 2005-04-03 12:20:22 +00:00
Antony Dovgal 0d7b574472 MFH patch previously commited by Ilia
(memory leak when "S" is not listed in variable_order)
2005-04-03 11:55:44 +00:00
foobar 2fa9bcdc29 MFH 2005-04-03 11:18:22 +00:00
Moriyoshi Koizumi 27054e3850 - Reorder. 2005-04-03 07:51:11 +00:00
foobar 07081e2699 MFH 2005-04-03 00:12:34 +00:00
Greg Beaver 67745d4f44 remove -n switch 2005-04-02 23:51:24 +00:00
foobar 8013c023cb MFH 2005-04-02 23:20:18 +00:00
foobar 3d75c3fa8b MFH 2005-04-02 23:04:32 +00:00
Greg Beaver 912cb5d161 add missing file 2005-04-01 22:02:16 +00:00
Derick Rethans 56bad109e2 - MFH: internal_function->fn_flags is not initialized at this point 2005-03-31 15:44:52 +00:00
foobar e421488f99 MFH: c++ fix 2005-03-31 07:39:42 +00:00
Derick Rethans 21545018c3 - Back to dev so that we have working snapshots again. 2005-03-30 22:24:52 +00:00
Zeev Suraski 6118b0b738 Roll 5.0.4 2005-03-30 21:43:12 +00:00
Joe Orton 2fe662392a MFH: Mark private functions as static. 2005-03-30 13:52:39 +00:00
Edin Kadribasic 7a48dfb28e Update instruction from the documentation project (Philip Olson) 2005-03-30 13:13:57 +00:00
Ilia Alshanetsky 67bf61b087 patch reverted. 2005-03-29 17:32:37 +00:00
Zeev Suraski e3d3eaddf1 MFH minor SOAP fix (no worries - it was a tiny bug, the reason
a lot of tests are affected is that a lot of them made the same
wrong assumption - it won't break real world code)
2005-03-29 13:14:59 +00:00
Greg Beaver c4bf1f8f65 update to current bundle ideal 2005-03-28 17:05:50 +00:00
Greg Beaver e1d1c8d901 merge in PEAR 1.3.5 2005-03-28 16:46:06 +00:00
Ilia Alshanetsky 805a596542 MFH: revert copy patch. 2005-03-27 15:53:30 +00:00
Derick Rethans 5663cf0e81 - Back to -dev
#- This is important for the snapshot builder!
2005-03-26 19:17:11 +00:00
Zeev Suraski a14f4684a1 Roll RC2 2005-03-24 08:23:37 +00:00
Andi Gutmans 1b12c6b362 - Fix typos 2005-03-24 01:11:35 +00:00
Antony Dovgal cb49e8b1ce MFH: fix leak when register_long_arrays is off 2005-03-24 00:17:53 +00:00
Moriyoshi Koizumi d2928e0af0 - Temporary reversion. 2005-03-23 23:56:38 +00:00
Moriyoshi Koizumi f3396e9ef2 - BFN. 2005-03-23 23:31:02 +00:00
Moriyoshi Koizumi a613be3e96 - MFH: fix bug #32311 (mb_encode_mimeheader() does not properly escape
characters).
2005-03-23 23:22:55 +00:00
Moriyoshi Koizumi 8cdc2fec19 - MFH: Add sanity check in iconv_mime_encode(). Leaving the third parameter
unspecified would yield bus error.
- MFH: Add testcase for the bug.
2005-03-23 23:08:25 +00:00
Dmitry Stogov c9b44080d2 windows compatibility fix 2005-03-23 15:12:27 +00:00
Dmitry Stogov 5c8567e212 Allow define connection timeout throught "connection_timeout" option in SoapClient constructor. 2005-03-23 08:08:34 +00:00
Marcus Boerger d56d1de230 - MFH Notices shouldn't be treatedas errors and thus not being conidered to
be converted to exceptions.
2005-03-23 07:57:17 +00:00
Dmitry Stogov 6a12eef216 Fixed bug #31695 (Cannot redefine endpoint when using WSDL) 2005-03-23 07:11:39 +00:00
foobar 0a4ced10ed MFH 2005-03-23 00:44:43 +00:00
Antony Dovgal 7d48c9c32d MFH: fix #28803 (enabled debug causes bailout errors with CLI on AIX
because of fflush() called on already closed filedescriptor)
2005-03-22 15:09:20 +00:00
Dmitry Stogov b2a62cf620 Fixed bug #30106 (SOAP cannot not parse 'ref' element. Causes Uncaught SoapFault exception) 2005-03-22 10:18:49 +00:00
Derick Rethans 91f51b34d4 - MFH: Changed to reflect "current practise" 2005-03-22 09:01:43 +00:00
Marcus Boerger 2748841db5 - Fixed bug #32394 offsetUnset() segfaults in a foreach 2005-03-21 20:13:54 +00:00
Andi Gutmans 921d5d6a30 - Fix memset() bug (Joe Orton) 2005-03-21 16:22:10 +00:00
Dmitry Stogov 77687e57bf Support for <soap:body> "parts" attribute. 2005-03-21 15:57:16 +00:00
Dmitry Stogov a8ec99c299 Fixed wrong WSDL in test files 2005-03-21 15:53:32 +00:00
Anantha Kesari H Y e2fccffa2d NetWare LibC headers have sys/param.h 2005-03-21 08:55:43 +00:00
Anantha Kesari H Y 1a429389b7 NetWare LibC headers have sys/param.h 2005-03-21 08:46:50 +00:00
Anantha Kesari H Y 0f8e764685 NetWare can make use of configure generated php_config.h 2005-03-21 08:43:57 +00:00
Anantha Kesari H Y d6416633d2 NetWare LibC headers have sys/param.h 2005-03-21 08:34:37 +00:00
Ilia Alshanetsky 296b11c9fb MFH: Detect shtool properly when build-dir != php source dir. 2005-03-20 19:47:24 +00:00
Dmitry Stogov c091e91140 Fixed SoapFault::details passing 2005-03-20 09:55:33 +00:00
Zeev Suraski fe15677f4e Fix the lock (the other patch would probably also work, but it's more error
prone and it's better to be on the safe side)
2005-03-20 09:03:07 +00:00
Marcus Boerger fe86da56e8 - MFH 2005-03-19 15:38:19 +00:00
Marcus Boerger 1442b416a8 - MFH 2005-03-19 15:15:51 +00:00
Marcus Boerger 6b4bd35d11 - MFH Add new test 2005-03-19 15:10:56 +00:00
foobar a7f8fb3461 reorder 2005-03-19 14:30:03 +00:00
Marcus Boerger 582697ae5c - MFH 2005-03-19 14:29:18 +00:00
Antony Dovgal 811b268fb1 MFH: fix segfault in bzopen() 2005-03-19 13:56:31 +00:00
foobar 43c40d602b MFH 2005-03-18 23:25:32 +00:00
Dmitry Stogov 3e4ea8305d doc should not be freed here, as it is used later in the code path. 2005-03-18 18:31:25 +00:00
Greg Beaver 37485d4d38 update to newest packages 2005-03-18 01:59:00 +00:00
Harrie Hazewinkel 756018250f Added SNMPv2 support. 2005-03-17 20:51:01 +00:00
Harrie Hazewinkel af5c1b862d Adding SNMPV2 functions for data retrieval. 2005-03-17 19:47:48 +00:00
Antony Dovgal 0660599ae2 MFH: typofix 2005-03-17 18:12:30 +00:00
Ilia Alshanetsky e13089d1da Fixed build of exif extension on win32. 2005-03-17 17:20:35 +00:00
Ilia Alshanetsky 20251c4f37 MFH: Fixed compiler warning on win32. 2005-03-17 17:16:49 +00:00
Zeev Suraski 8108a04110 RC1 -> RC2-dev 2005-03-17 13:11:38 +00:00
foobar 09cdac3d98 MFB: remove unused subst 2005-03-17 08:13:47 +00:00
foobar 27586a947a fix build 2005-03-17 08:12:14 +00:00
Ilia Alshanetsky 6368b9fc66 MFH: Fixed bug #32326 (Check values of Connection/Transfer-Encoding
case-incentively)
2005-03-16 20:31:01 +00:00
foobar bedb66ba33 MFH: - Remove these relics from era when TSRM was optional. 2005-03-16 06:36:54 +00:00
Wez Furlong 7394b3734b MFH: don't call rshutdown twice for dl()'d modules. 2005-03-16 04:19:20 +00:00
Wez Furlong 8c9a6e1436 MFH: dl()'d module shutdown fix 2005-03-15 23:47:12 +00:00
Ilia Alshanetsky 65a055397f MFH: Fixed possible usage of str without being initialized. 2005-03-15 00:29:39 +00:00
foobar d415b23ff6 MFH 2005-03-14 21:12:26 +00:00
foobar 416122f885 BFN 2005-03-14 21:00:29 +00:00
foobar 256d015dd5 MFH: - Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly) 2005-03-14 21:00:22 +00:00
Zeev Suraski 7e9d0f7898 MFH 2005-03-14 12:42:55 +00:00
Anantha Kesari H Y b5937e49d8 NetWare specific stat structure changes 2005-03-14 11:01:00 +00:00
Anantha Kesari H Y b5e227d4c5 PHP_OS and PHP_UNAME for NetWare are getting populated from the ph_config.h(configure.in) 2005-03-14 09:41:39 +00:00
Anantha Kesari H Y a105687232 For cross compiler uname's output while running on build machine can not be stored in PHP_OS and PHP_UNAME 2005-03-14 09:33:15 +00:00
Stanislav Malyshev b9a9d572d8 ws 2005-03-14 09:13:14 +00:00
foobar 5b9ce68207 - Fixed bug #30609 (cURL functions bypass open_basedir) 2005-03-14 09:02:42 +00:00
Zeev Suraski 98f0b33836 RC1 2005-03-14 08:57:43 +00:00
Moriyoshi Koizumi 74a947383f - Turn off incorrect case folding to let test over. 2005-03-14 01:14:52 +00:00
Zeev Suraski 084e58fa8b Prepare to roll 5.0.4RC1 2005-03-13 19:57:05 +00:00
Stanislav Malyshev 07bcc295c4 Do not convert ZEND_HANDLE_FP to ZEND_HANDLE_STREAM but allow using reader/closer
on it
2005-03-13 17:48:12 +00:00
Stanislav Malyshev 5b80f925cf Fix get_extension_funcs() - extension names are now lowercased, so should
be function arguments.
2005-03-13 15:29:10 +00:00
Marcus Boerger 008173f899 - BFN 2005-03-13 13:26:10 +00:00
Marcus Boerger 37d8de4ba6 - MFH 2005-03-13 13:24:26 +00:00
Marcus Boerger 7256d2ca6a - Partly MFH: return value check fix 2005-03-12 23:12:36 +00:00
Andrey Hristov c8df0dcb0a BFN 2005-03-12 10:14:10 +00:00
Andrey Hristov e8c97542bf Fixed #30871 2005-03-12 10:12:49 +00:00
Anantha Kesari H Y 33a4feed28 removing redundant CLIB_STAT_PATCH 2005-03-11 11:42:10 +00:00
Anantha Kesari H Y 776ebe8f1f removing redundant NEW_LIBC checks
In NetWare statfs f_bavail member is known as f_bfree
NetWare LibC has pwd.h
2005-03-11 11:20:24 +00:00
Anantha Kesari H Y 3fc55e77e6 NetWare LibC has pwd.h and removing redundant CLIB_STAT_PATCH 2005-03-11 11:16:19 +00:00
Anantha Kesari H Y a012d5a5dc NetWare has a proper pthreads support 2005-03-11 11:13:03 +00:00
Anantha Kesari H Y da3d88851d NetWare can make use autoconf generated tsrm_config.h 2005-03-11 11:12:07 +00:00
Anantha Kesari H Y 3e52976f30 NetWare LibC has lstat 2005-03-11 11:09:42 +00:00
Anantha Kesari H Y 4d93757dca Netware can make use of autoconf generated tsrm_config.h 2005-03-11 11:08:24 +00:00
Anantha Kesari H Y b56adc718b As NetWare LibC has optind and optarg macros defined in unistd.h our local variables were getting mistakenly preprocessed so undeffing optind and optarg 2005-03-11 11:04:03 +00:00
Anantha Kesari H Y 36adf916d9 NetWare don't have sendmail binary so need this sendmail.c smarthost implementation 2005-03-11 10:57:08 +00:00
Anantha Kesari H Y 3f5f747d90 changing the windows style directory seperator in netinet\in.h to netinet/in.h 2005-03-11 10:49:24 +00:00
Anantha Kesari H Y ae82f51fc0 time.h is available in NetWare LibC.
path sperator has been changed from \ to / while including netware\sendmail_nw.h
2005-03-11 10:48:06 +00:00
Anantha Kesari H Y bfb55aa96d removed redundant NEW_LIBC checks for NetWare 2005-03-11 09:07:34 +00:00
Anantha Kesari H Y fbd2655dff In NetWare LibC WTERMSIG is avaliable as WIFTERMSIG 2005-03-11 09:01:52 +00:00
Anantha Kesari H Y bbef4e8da2 NetWare LibC has pwd.h 2005-03-11 08:51:08 +00:00
Anantha Kesari H Y 250543afc9 Netware LibC has mkstemp 2005-03-11 08:18:14 +00:00
Anantha Kesari H Y 553245e48d removed NetWare specific NEW_LIBC checks 2005-03-11 08:11:28 +00:00
Anantha Kesari H Y 94d9d3f920 NetWare LibC does not have search.h 2005-03-11 07:02:32 +00:00
Anantha Kesari H Y 1ace2e5ac7 NetWare LibC has pwd.h 2005-03-11 06:55:22 +00:00
Anantha Kesari H Y 047f1a26a0 NetWare LibC's sys/types.h does not include sys/select.h implicitly as it is the case with Linux LibC 2005-03-11 06:51:01 +00:00
Marcus Boerger a8aaf58df3 - Irrelevant 2005-03-11 01:31:42 +00:00
Marcus Boerger 3d7b5b792e - Bugfix #30266 2005-03-11 01:14:29 +00:00
Ilia Alshanetsky ad6e24cfb1 MFH: Final set of fixes for bug #27633. 2005-03-10 23:38:02 +00:00
Marcus Boerger f10ce39b79 - MFH Rename test script 2005-03-10 14:06:28 +00:00
Anantha Kesari H Y f487c128cc NetWare can use of ./configure generated php_config.h 2005-03-10 13:42:35 +00:00
Anantha Kesari H Y 62ee4aa49f NetWare Specific stat member changes 2005-03-10 13:37:54 +00:00
Anantha Kesari H Y a62134d159 NetWare LibC has pwd.h 2005-03-10 13:33:35 +00:00
Marcus Boerger c883ae3d1f - BFN 2005-03-10 13:27:14 +00:00
Marcus Boerger 84bd08261f - MFH Bugfix #28442 2005-03-10 13:24:33 +00:00
Anantha Kesari H Y c216440f1c NetWare LibC has pwd.h and removing the redundant NEW_LIBC checks 2005-03-10 12:26:14 +00:00
Anantha Kesari H Y f3bc8a341b NetWare LibC has pwd.h 2005-03-10 12:23:12 +00:00
Anantha Kesari H Y 8d1c55499d NetWare LibC has netdb.h 2005-03-10 12:10:57 +00:00
Anantha Kesari H Y 49afbfac4a NetWare stat structure difference has been handled 2005-03-10 11:41:00 +00:00
Joe Orton bd07142b91 MFH: fix /*-within-comment warning. 2005-03-10 11:40:03 +00:00
Anantha Kesari H Y 6cd2919f3d Autoconf based build can be used for NetWare 2005-03-10 11:34:15 +00:00
Anantha Kesari H Y a90af34542 NetWare LibC has param.h and pwd.h 2005-03-10 11:32:36 +00:00
Anantha Kesari H Y b8e9edcce3 NetWare can make use of ./configure generated zend_config.h 2005-03-10 11:30:44 +00:00
Joe Orton bcc8aad178 MFH: - Fixed bug #31717: Reject PATH_INFO if "AcceptPathInfo off" is used. 2005-03-10 11:23:57 +00:00
Anantha Kesari H Y 8993ccd75c This fix is needed for cross compilation to go through 2005-03-10 10:05:28 +00:00
Anantha Kesari H Y 5ee2605386 This patch is needed for cross compilation to go through 2005-03-10 09:50:37 +00:00
Marcus Boerger 1a45dcf5ea - BFN 2005-03-10 02:35:39 +00:00
Marcus Boerger 8c142dd228 - MFH 2005-03-10 02:34:11 +00:00
Marcus Boerger 3ba37514df - BFN 2005-03-10 02:05:06 +00:00
Marcus Boerger d7cc37874c - MFH 2005-03-10 01:58:13 +00:00
Antony Dovgal c07ee38ff3 MFH: fix compile warnings 2005-03-09 21:58:47 +00:00
Ilia Alshanetsky 5f2280e9f8 MFH: Fixes to ascii downloads on win32. 2005-03-09 20:52:54 +00:00
Derick Rethans 56adfe1f3c - MF43: Fixed bug #28067 (partially incorrect utf8 to htmlentities mapping). 2005-03-09 10:12:41 +00:00
foobar a39d2b5747 MFH 2005-03-08 21:45:38 +00:00
Johannes Schlüter a2b38741a1 - BFN 2005-03-08 21:38:27 +00:00
Johannes Schlüter 5cc18c9967 - MFH 2005-03-08 21:37:51 +00:00
foobar 9b4400830f MFH 2005-03-08 21:23:21 +00:00
Marcus Boerger 916806055c - MFH 2005-03-07 19:34:03 +00:00
foobar 25203ef3bc RBFN 2005-03-07 18:14:18 +00:00
Zeev Suraski ba31cb7b88 Revert // </script> patch 2005-03-07 16:48:12 +00:00
Ilia Alshanetsky f3ffd7b3f9 Fixed bug #32210 (proc_get_status() sets "running" always to true). 2005-03-07 16:19:31 +00:00
Marcus Boerger 274e37db02 - MFH avoid exception problems 2005-03-07 01:15:03 +00:00
Marcus Boerger 1ecb6ccd16 - MFH Allow length 0 as default (e.g. skip param) 2005-03-07 00:17:51 +00:00
foobar 5be2acc65d MFB: Fix VPATH build 2005-03-06 23:16:53 +00:00
Marcus Boerger ffbe3b0816 - MFH Bugfix #28840 2005-03-06 21:41:38 +00:00
Ilia Alshanetsky d74acc15cc MFH: Make html_entity_decode() 15-20% faster by avoiding pointless string
duplication.
2005-03-06 19:37:17 +00:00
Ilia Alshanetsky 437786b115 MFH: Fixed bug #29424 (width and height inverted for JPEG2000 files). 2005-03-06 17:04:22 +00:00
foobar f262d06686 Fixed compile warning (bug #32046) 2005-03-06 16:22:22 +00:00
foobar 0d7b5257a8 MFH: Fix compile warning (bug #32047) 2005-03-06 15:55:53 +00:00
Derick Rethans 1d9846b54a - Make sure to note that this involves SOAP. 2005-03-05 17:52:45 +00:00
Dmitry Stogov 5d694d0474 Fixed bug #32115 (dateTime encoding of timezone incorrect) 2005-03-05 13:26:56 +00:00
Marcus Boerger 0d144466a8 - MFH 2005-03-05 11:38:29 +00:00
foobar e6dad2a5c3 MFH 2005-03-04 15:15:50 +00:00
Ilia Alshanetsky e862541306 Removed unused variables. 2005-03-04 00:35:23 +00:00
Marcus Boerger d0b22dc5c8 - BFN 2005-03-03 10:46:33 +00:00
Marcus Boerger 5fa9eaca9a - MFH fix #32134
- Fix tests
2005-03-03 10:45:42 +00:00
Zeev Suraski 10b6108ac1 MFH 2005-03-03 09:56:44 +00:00
Ilia Alshanetsky b350e15f3c MFH: Fixed bug #32160 (file truncation in copy() when source & destination are
the same).
2005-03-03 03:30:23 +00:00
Moriyoshi Koizumi 8392ed2358 - MFH 2005-03-02 19:28:25 +00:00
Stefan Esser e1d798465b MFH 2005-03-02 18:22:40 +00:00
Rob Richards 63244c0e3d BFN 2005-03-02 18:14:34 +00:00
Rob Richards 54f777ef1c MFH: Fixed bug #32001 (xml_parse_into_struct() exceeds maximum execution time) 2005-03-02 18:14:01 +00:00
Marcus Boerger af6894dc7b - MFH 2005-03-01 23:42:29 +00:00
foobar 885d8e8733 update 2005-03-01 23:26:08 +00:00
Ilia Alshanetsky a326342b93 MFH: Fixed bug #31792 (getrusage() does not provide ru_nswap value). 2005-03-01 21:33:03 +00:00
Andrei Zmievski 4b550d43ef Allow = sign in long option argument.
Fixes PEAR bug #1831.
2005-03-01 18:20:26 +00:00
Anantha Kesari H Y e522104f1d NetWare allows directory seperator as \ and / 2005-03-01 15:01:08 +00:00
Stefan Esser 71121a02b1 MFH 2005-03-01 13:53:19 +00:00
Antony Dovgal 13ea8afdc5 MFH: checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem()
and gmp_fact() to prevent SIGFPE
2005-03-01 13:13:07 +00:00
Marcus Boerger d2f43d60f9 - Fix warning 2005-03-01 10:13:15 +00:00
Marcus Boerger a922fbb89c - BFN 2005-03-01 10:11:07 +00:00
Marcus Boerger 8ae159da78 - MFH 2005-03-01 10:09:05 +00:00
foobar ab90623f49 MFH: - Fixed bug #31672 (</script> not considered closing tag if
MFH:   preceded by one-line comment)
2005-03-01 02:21:58 +00:00
Johannes Schlüter 7e81e9619e - MFH 2005-03-01 00:25:09 +00:00
foobar be5e7382ef typo 2005-02-28 16:45:11 +00:00
Stefan Esser cebd47134a MFH 2005-02-28 16:33:09 +00:00
Wez Furlong b20bb1137b MFH: install mbstring headers 2005-02-28 05:28:25 +00:00
Ilia Alshanetsky 2cdf30c490 MFH: Fixed compiler warnings. 2005-02-27 17:08:26 +00:00
Edin Kadribasic e6e21db0a8 MFH: Allow arbitrary files to be added to distro with ADD_DIST_FILE(filename) 2005-02-26 01:10:50 +00:00
Edin Kadribasic aeaba53b0b MFH: Added .reg files to the disto (were added manually) 2005-02-26 00:38:27 +00:00
Frank M. Kromann b103d7ba75 MFH: FreeTDS does not have support for DBTEXTLIMIT 2005-02-25 23:25:33 +00:00
Edin Kadribasic 233bb83463 MFH: (--enable-debug-pack) 2005-02-25 23:00:17 +00:00
Ard Biesheuvel 938859d87c MFH: bug #31597 2005-02-25 13:44:26 +00:00
Antony Dovgal 9045591353 MFH: allow building oci8 as shared 2005-02-25 11:32:01 +00:00
Georg Richter f2d8033436 fix for bug #31939 2005-02-25 08:42:31 +00:00
Ilia Alshanetsky de74e9b003 MFH: Fixed bug #32081 (default socket value is not being used). 2005-02-24 23:59:50 +00:00
Edin Kadribasic 96abb7e0a5 MFH: Offical zip files have -Win32 suffix 2005-02-24 23:31:37 +00:00
Marcus Boerger 6e529c486a - MFH 2005-02-24 20:54:12 +00:00
Andi Gutmans 459631d679 - MFH 2005-02-24 18:19:09 +00:00
foobar f468d909a1 MFH: Fix comment 2005-02-24 11:35:10 +00:00
Dmitry Stogov cfe99e0e98 Fixed bug in ZEND_POST_INC/ZEND_POST_DEC handlers.
These opcodes assume IS_TMP_VAR as result.
2005-02-24 08:52:42 +00:00
Ilia Alshanetsky 11fb10b74d MFH: Increase maximum mmapable file size to 2mb from 1mb. 2005-02-23 22:41:24 +00:00
Ilia Alshanetsky 77d0be75a8 MFH: fixed compiler warning. 2005-02-23 18:53:19 +00:00
Ilia Alshanetsky 905505d0f0 MFB_4_3: Fixed bug #29521 (compress.bzip2 returns error when used with http
wrapper)
2005-02-23 18:48:57 +00:00
Moriyoshi Koizumi 59146cb2b8 - MFH: Synch with the latest checkouts. (include fix by Joe Orton. Thanks.) 2005-02-23 13:35:57 +00:00
Derick Rethans 24e352a0fd - MFH: fixed bug #32076 (ReflectionMethod :: isDestructor() always return
true).
2005-02-23 12:33:47 +00:00
Marcus Boerger b935312966 - MFH 2005-02-23 01:17:20 +00:00
Ilia Alshanetsky 4b0d2f3b71 MFH: Fixed bug #31288 (Possible crash in mysql_fetch_field(), if
mysql_list_fields() was not called previously).
2005-02-22 14:59:30 +00:00
Marcus Boerger 05e84a25aa - MFH 2005-02-22 14:54:33 +00:00
foobar 04e8936f21 MFH: nuke unused variables when PCRE is not compiled statically into PHP 2005-02-22 14:46:15 +00:00
Marcus Boerger f4f090ccbe - MFH 2005-02-22 11:46:36 +00:00
Moriyoshi Koizumi ceca9448a9 - One more entry to go. 2005-02-22 10:08:50 +00:00
Moriyoshi Koizumi 3308133d4a - Reorder. 2005-02-22 10:03:23 +00:00
Moriyoshi Koizumi e9d101a685 - MFH: fix bug #32063 (mb_convert_encoding() ignores named entity 'alpha') 2005-02-22 10:02:14 +00:00
Ilia Alshanetsky 908e2c4650 MFH: Fixed bug #31515 (Improve performance of scandir() by factor of 10 or so). 2005-02-22 00:24:51 +00:00
foobar 547796ae72 Added missing skipif.inc (bug #31940) 2005-02-21 21:41:58 +00:00
Moriyoshi Koizumi 54a9f3cb5b - WS fix. 2005-02-21 15:15:08 +00:00
Moriyoshi Koizumi 07d3b15863 - MFH: add missing entry. 2005-02-21 15:11:07 +00:00
Moriyoshi Koizumi a9f320390e - MFH: fix bug #30868 (evaluated pointer comparison in mbregex causes compile
failure).
2005-02-21 10:20:23 +00:00
Moriyoshi Koizumi 435e835bbf - BFN 2005-02-21 10:14:29 +00:00
Moriyoshi Koizumi d47d7e20ef - MFH: fix bug #30573 (compiler warning due to invalid type cast). 2005-02-21 10:13:22 +00:00
Moriyoshi Koizumi 8231031995 - MFH: fix bug #29989 (type re_registers redefined in oniguruma.h) 2005-02-21 09:45:19 +00:00
Moriyoshi Koizumi b4360b0aba - MFH: fix compiler warnings. 2005-02-21 08:01:03 +00:00
Moriyoshi Koizumi fbe6a29b11 - MFH: add testcases for bug #28220 and #30549. 2005-02-21 07:46:10 +00:00
SVN Migration a7c628ef33 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-02-21 07:45:39 +00:00
Greg Beaver 051997039a upgrade to PEAR 1.3.5 2005-02-21 00:55:08 +00:00
Moriyoshi Koizumi 3e3f10efbb - BFN & some 2005-02-20 23:14:24 +00:00
Moriyoshi Koizumi c298ea82ca - MFH: Update libmbfl
- MFH: Update oniguruma to 3.7.0.
2005-02-20 23:02:53 +00:00
SVN Migration 8190860776 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-02-20 22:20:25 +00:00
Rui Hirokawa 40aa1c6e73 MFH: fixed #31987 zend-multibyte in ZTS. 2005-02-19 14:36:07 +00:00
Derick Rethans f06bb200e5 - MFH: Fixed bug #32021: Crash caused by range('', 'z') 2005-02-18 13:39:44 +00:00
SVN Migration d9fb0a4da5 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-02-18 13:37:25 +00:00
Rob Richards 44186c14a4 BFN 2005-02-18 11:48:10 +00:00
Rob Richards c17a1a7645 MFH: Fixed bug #32011 (Fragments which replaced Nodes are not globaly useable) 2005-02-18 11:47:50 +00:00
Andi Gutmans 34af036d8e - Commit fix:
- Fixed bug #31960 (msql_fetch_row() and msql_fetch_array() dropping columns
  with NULL values). (Daniel Convissor)
2005-02-17 22:08:54 +00:00
Marcus Boerger 10af23e641 - MFH 2005-02-17 21:10:34 +00:00
Andi Gutmans 2211aac68f - MFH 2005-02-17 20:13:17 +00:00
Ilia Alshanetsky b75c100dc6 MFH: Fixed bug #27633 (Double \r problem on ftp_get in ASCII mode on Win32). 2005-02-17 15:38:07 +00:00
Ilia Alshanetsky 349c0cc61c MFH: Fixed bug #31440 ($GLOBALS can be overwritten via GPC when
register_globals is enabled).
2005-02-17 04:46:10 +00:00
foobar e7df907a10 MFH: - Compile fix for systems without int32_t typedef 2005-02-17 04:45:14 +00:00
foobar a7d70ccebf MFH: Quote macro names in AC_DEFUN() 2005-02-17 04:42:15 +00:00
foobar 419a87ddd8 MFH:- Fixed bug #29554 (compile failure when using --with-pspell=/usr/local) 2005-02-17 03:51:35 +00:00
Edin Kadribasic 4e502a7fc2 BFN 2005-02-16 09:59:28 +00:00
Edin Kadribasic b31a857c83 MFH: bugfix #31980 2005-02-16 09:56:30 +00:00
Ilia Alshanetsky 5e759d980e MFH: Fixed bug #31986 (Max nesting limit set too low). 2005-02-15 21:56:27 +00:00
Edin Kadribasic 09d4b25070 MFH 2005-02-15 14:29:01 +00:00
foobar 8054e6d951 MFH 2005-02-15 08:51:50 +00:00
Ilia Alshanetsky 54b442330c MFH: file upload path prunning. 2005-02-15 00:26:35 +00:00
foobar 324ea3636d MFH 2005-02-14 23:44:31 +00:00
Edin Kadribasic 61967a0318 MFH 2005-02-14 23:41:04 +00:00
Edin Kadribasic 4bb461b3d5 MFH 2005-02-14 23:04:18 +00:00
Marcus Boerger 1c840f70e2 - MFH 2005-02-14 21:03:52 +00:00
foobar fd1125627a MFH: nuke unused code + non-existing ini option 2005-02-14 08:25:30 +00:00
Wez Furlong 3b6bf6ab58 fix snaps 2005-02-13 21:40:28 +00:00
foobar 15531b60fc MFH: missing $Id$ tags 2005-02-13 17:54:31 +00:00
Marcus Boerger c8dfe73903 - MFH 2005-02-13 13:59:07 +00:00
SVN Migration 9acc7d2fd8 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-02-13 13:57:52 +00:00
Marcus Boerger d217efa8b6 - MFH Fix doc comment handling 2005-02-13 13:53:56 +00:00
Rui Hirokawa 64a60d5d70 MFH: added --enable-zend-multibute for win32 2005-02-13 13:03:28 +00:00
Marcus Boerger 2b321fb6ed - MFH Add new test 2005-02-12 18:40:50 +00:00
SVN Migration 2e680913da This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-02-12 18:40:20 +00:00
foobar beb6c638d9 MFH 2005-02-12 18:30:26 +00:00
foobar 0955c58d8e MFH: Not good idea. 2005-02-12 18:27:56 +00:00
foobar 0b5a97681a MFH: Removed unused set_h_errno macro 2005-02-12 18:15:03 +00:00
Marcus Boerger 0c607c2ecd - BFN and add test 2005-02-12 16:39:48 +00:00
Marcus Boerger cda9aeba03 - MFH 2005-02-12 16:39:31 +00:00
foobar d01de96f9a Revert this patch 2005-02-11 02:06:48 +00:00
Rob Richards 0542a6f2c2 MFH: fix segfault in array_walk when retval_ptr is empty
- such as when exception thrown
2005-02-10 23:00:53 +00:00
foobar 7c5e901f4d - Fixed bug #31920 (zend_strtod.c error: conflicting types for 'int8_t') 2005-02-10 22:19:55 +00:00
Antony Dovgal 6f475c1ce6 MFH: bug #28324 2005-02-10 19:40:53 +00:00
Pierre Joye 5bdea6fa79 - MFH: fix #30745 and #31853 2005-02-10 14:35:13 +00:00
Frank M. Kromann 04a262ffe2 MFH: change return value from false to true, when a statement was executed with warnings 2005-02-09 19:32:45 +00:00
Frank M. Kromann 2ab994fe0c MFH: Check for warnings and return the warning texts 2005-02-09 18:50:22 +00:00
Rasmus Lerdorf 85cab5a838 MFH fix for bug #31901 2005-02-09 16:23:31 +00:00
Rob Richards 9d44f00a6d BFN 2005-02-09 11:47:46 +00:00
Rob Richards e05a7a90c9 MFH: Fixed bug #31878 (Segmentation fault using clone keyword on nodes) 2005-02-09 11:47:12 +00:00
Rasmus Lerdorf ae9dcb1799 MFH eliminating a few more useless R* calls 2005-02-08 05:38:13 +00:00
Rasmus Lerdorf 82a60c6538 MFH and eliminate whitespace differences between HEAD and the branch to
make maintenance easier
2005-02-08 05:29:48 +00:00
Ilia Alshanetsky 870c5434fe MFH: Fixed bug #31527 (crash in msg_send() when non-string is stored without
being serialized).
2005-02-07 22:31:57 +00:00
Antony Dovgal 94be5fd002 MFH: fix leaks in ext/filepro 2005-02-07 13:31:42 +00:00
foobar d231b908a1 MFH: - Fixed bug #31858 (--disable-cli does not force --without-pear) 2005-02-07 12:51:25 +00:00
Zeev Suraski b25e990ffd Correct fix for #28803 2005-02-06 23:52:29 +00:00
Georg Richter 6b46618a76 MFH: fix for bug 29329 2005-02-05 11:02:10 +00:00
foobar b3726eb497 fix test 2005-02-04 23:24:06 +00:00
Dmitry Stogov eae934a6b7 Fixed bug #31832 (SOAP encoding problem with complex types in WSDL mode with multiple parts) 2005-02-04 15:42:27 +00:00
Derick Rethans 5bf33a2e83 - MFH: Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick) 2005-02-04 14:29:05 +00:00
SVN Migration 2cb6431c2f This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-02-04 14:28:52 +00:00
foobar 17d094d5bb BFN 2005-02-04 13:10:19 +00:00
foobar 79f25b32a1 MFH: Fixed bug #31842 (*date('r') does not return RFC2822 conforming date string). 2005-02-04 13:09:09 +00:00
foobar e8cbe865f3 MFH: - Fixed bug #28227 (PHP CGI depends upon non-standard SCRIPT_FILENAME)
# Patch by: lukem at NetBSD dot org
2005-02-04 10:41:02 +00:00
Ilia Alshanetsky f01a236c09 MFH: Proper fix for bug #31796 . 2005-02-04 00:21:58 +00:00
Ilia Alshanetsky 3bee739456 MFH: Fixed bug #31796 (readline completion handler does not handle empty
return values).
2005-02-03 22:46:24 +00:00
foobar 126cd77070 MFH: Fix buildconf with BSD make 2005-02-03 17:42:59 +00:00
foobar c3bd38ba9b MFH: Fixed bug #28804 (ini-file section parsing pattern is buggy). 2005-02-03 03:02:16 +00:00
foobar f42d1090bb ws fix 2005-02-03 02:58:49 +00:00
Ilia Alshanetsky 33372e4d5d MFH: Fixed bug #31514 (open_basedir uses path_translated rather then cwd for .
translation).
2005-02-02 23:43:47 +00:00
Zeev Suraski b7fe870f06 MFH 2005-02-02 17:24:02 +00:00
Dmitry Stogov 22251bfa5b Fixed bug #31747 (SOAP Digest Authentication doesn't work with "HTTP/1.1 100 Continue" response) 2005-02-02 10:34:21 +00:00
Stanislav Malyshev 54ec8b914f test for Bug #31720 2005-02-02 10:31:15 +00:00
Stanislav Malyshev aa9bfc06e7 Fix #31720 Invalid object callbacks not caught in array_walk() (patch from Antony Dovgal) 2005-02-02 10:25:50 +00:00
Stanislav Malyshev 4e1e2eadec fix leak if function call fails 2005-02-02 10:24:50 +00:00
Dmitry Stogov 4f45d300fb Fixed bug #31755 (Cannot create SOAP header in no namespace) 2005-02-02 09:11:03 +00:00
Dmitry Stogov 8a7c2ff618 Fixed bugs #29767 and #31683 (__get and __set methods must not modify property name). 2005-02-02 07:19:02 +00:00
Ilia Alshanetsky 322d1e5439 MFH: Fixed bug #31797 (exif_read_data() uses too low nesting limit). 2005-02-01 23:28:31 +00:00
Stanislav Malyshev 10f83680b0 test for eval debug_backtrace bug 2005-02-01 19:02:17 +00:00
Stanislav Malyshev 8abcdde864 Fix debug_trace with eval (patch from Antony Dovgal) 2005-02-01 19:01:50 +00:00
Anantha Kesari H Y 83a37cefc1 NetWare is now having compliant pthreads implementation 2005-02-01 12:48:22 +00:00
Ilia Alshanetsky d49832983a MFH: Final version of filename upload handling. 2005-02-01 02:33:17 +00:00
Dmitry Stogov 4835d49c86 Fixed SIGSEGV when restoring WSDL without functions from cache 2005-01-31 15:08:36 +00:00
Dmitry Stogov 4337c68030 Empty "detail" was removed from SoapFault object. 2005-01-31 14:26:24 +00:00
Dmitry Stogov e06e987eb4 Fixed memory allocation bug. 2005-01-31 14:03:51 +00:00
Ilia Alshanetsky 9819666a00 MFH: Fix handling of INF/NAN in unserialize(). 2005-01-30 16:39:09 +00:00
Marcus Boerger 384625408b - MFH Fix severity 2005-01-28 20:25:26 +00:00
Georg Richter 4baa8ee0bc MFH: Fix for mysql_affected_rows and mysql_stmt_affected_rows 2005-01-28 17:37:42 +00:00
Antony Dovgal 6aa5793baf improve CS & error messages 2005-01-28 16:47:16 +00:00
Antony Dovgal 5dff4e8e40 add warning explaining why ftok() failed 2005-01-28 16:33:09 +00:00
Dmitry Stogov 26d147a798 Memory leak was fixed 2005-01-28 10:33:33 +00:00
Antony Dovgal d24c272e50 BFN (#31732) 2005-01-28 02:00:54 +00:00
Antony Dovgal e48794e58b fix #31732 (mb_get_info causes segfault) 2005-01-28 01:58:26 +00:00
Antony Dovgal 418c15ef14 MFH: change return type from NULL to FALSE when parameter parsing failed 2005-01-28 01:39:35 +00:00
Antony Dovgal 37ebffee0c fix posix_getsid() & posix_getpgid()
/* looks like copy&paste error first introduced in PHP 3.0.10 (!) */
2005-01-28 00:26:07 +00:00
Frank M. Kromann 4acc981ac4 MFH: Hack to fix crash caused by FBCAccess not returning errors when creating an index that exists in the database. 2005-01-27 20:21:32 +00:00
Ilia Alshanetsky bdd787626d MFH: Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar). 2005-01-27 16:38:05 +00:00
Antony Dovgal 3250e630a3 fix leak in mysqli_fetch_array() when using invalid resulttype 2005-01-27 14:39:21 +00:00
Georg Richter 2b3b798d7d MFH: fix for bug #31710 2005-01-27 10:20:21 +00:00
Antony Dovgal e8812b2845 BFN 2005-01-27 01:18:13 +00:00
Antony Dovgal 516c2aa7da fix segfault when invalid field offset is passed to mysqli_fetch_field_direct() 2005-01-27 01:11:15 +00:00
Marcus Boerger 8126952c99 - MFH 2005-01-27 00:26:27 +00:00
SVN Migration b290efa0d3 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-27 00:26:14 +00:00
Derick Rethans e53ed77075 - MFH: There is no --with-apache2, only apxs2 2005-01-26 18:03:17 +00:00
Ilia Alshanetsky 906b0b4235 MFH: Fixed bug #31699 (unserialize() float problem on non-English locales). 2005-01-26 16:55:49 +00:00
Ilia Alshanetsky d7852a4930 Fixed bug #29733 (printf() handles repeated placeholders wrong).
(bugs dot php dot net at bluetwanger dot de, Ilia)
2005-01-26 00:02:46 +00:00
foobar 2d701541b4 massage 2005-01-25 23:43:10 +00:00
Ilia Alshanetsky f5f0390dbf MFH: Fixed bug #31465 (False warning in unpack() when working with *). 2005-01-25 22:51:35 +00:00
Andrei Zmievski 86b2558a5e MFB (Fix several egregious leaks in ext/browscap and sapi/embed). 2005-01-25 22:00:14 +00:00
Antony Dovgal b539bb6a07 MFH: fix segfault in imap_bodystruct() 2005-01-25 14:22:13 +00:00
foobar 5e496cc0e7 MFH: - Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings) 2005-01-25 13:43:27 +00:00
foobar 35514292fe MFH: RTLD_DEEPBIND patch 2005-01-25 13:08:26 +00:00
foobar a402f5e87e MFH: - Fix macosx shared extension build 2005-01-25 13:02:45 +00:00
foobar da481f3189 MFH: - Return of the automake requirement 2005-01-25 12:54:57 +00:00
foobar 5adf49c135 order + typos 2005-01-25 12:28:05 +00:00
Dmitry Stogov 8d54c95ef7 Fixed identation 2005-01-25 11:02:45 +00:00
Dmitry Stogov 1a88427263 Fixed bug #28041 (SOAP HTTP Digest Access Authentication was implemented) 2005-01-25 10:52:19 +00:00
Marcus Boerger 3259aad229 - BFN 2005-01-25 10:48:13 +00:00
Marcus Boerger 43765f49f7 - MFH #26229 (getIterator() segfaults when it returns arrays or scalars) 2005-01-25 10:44:28 +00:00
Ilia Alshanetsky a5b1ec723d MFH: Use multibyte specific code for handling files and generic basename
based code in all other instances.
2005-01-24 22:41:41 +00:00
Ilia Alshanetsky 4e01e392ff Fixed compiler warning. 2005-01-24 22:23:35 +00:00
Marcus Boerger f744272c52 - BFN 2005-01-24 21:44:03 +00:00
Marcus Boerger ce647ba16a - MFH 2005-01-24 21:38:29 +00:00
SVN Migration a8bdff6998 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-24 21:27:37 +00:00
Marcus Boerger 8b987b185f - MFH fix for bug #31348 CachingIterator::rewind() leaks 2005-01-24 20:25:58 +00:00
SVN Migration 607b7b35e5 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-24 20:22:57 +00:00
Marcus Boerger 8235ce2f20 - BFN 2005-01-24 20:04:45 +00:00
Marcus Boerger ac7c553f0d - MFH Second part of #30725 2005-01-24 20:03:48 +00:00
Marcus Boerger eb54f96a0b - MFH 2005-01-24 19:24:46 +00:00
SVN Migration e7ecd526c5 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-24 19:16:07 +00:00
Moriyoshi Koizumi 3161e32a9f - MFH: revert irrelevant part. 2005-01-24 16:47:39 +00:00
Antony Dovgal ba2f3ac0e6 MFH: fix msg_recieve() and add test 2005-01-24 14:25:16 +00:00
SVN Migration ee1569d310 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-24 14:19:55 +00:00
Joe Orton b386cdbdd7 MFH: Fixed regression #31645 - only flush before running the subrequest. 2005-01-24 11:46:59 +00:00
Sergey Kartashoff f61068721b - A bug in mnogosearch module in ispell loading code was fixed 2005-01-23 15:01:45 +00:00
foobar b1aaab7355 MFH: Compile fix for systems without uint32_t typedef 2005-01-22 20:29:39 +00:00
foobar 6cddc39be1 - Remove also autom4te.cache dir with phpize --clean 2005-01-22 20:29:15 +00:00
Marcus Boerger 0bd88170f5 - BFN 2005-01-22 12:31:13 +00:00
Marcus Boerger ef9d20d638 - MFH bugfix #31651 2005-01-22 12:29:13 +00:00
Marcus Boerger d77a14814f - MFH 2005-01-22 12:27:00 +00:00
SVN Migration 5fe94dfb5e This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-22 12:22:02 +00:00
Edin Kadribasic 75e9fd0909 MFH: Generate files needed for php5ts.dll build 2005-01-22 03:38:41 +00:00
foobar f7f3d1c31e - Typofix + removed unnecessary unsets caused by it 2005-01-22 01:36:56 +00:00
foobar 1d9e3a760d massage news 2005-01-22 01:21:48 +00:00
Andrei Zmievski f0208d3afa MFB (bugfix for 28451) 2005-01-21 23:59:55 +00:00
Stefan Esser cb9873f4a4 MFH 2005-01-21 16:04:25 +00:00
Antony Dovgal 1778b00928 MFH: destroy return_value 2005-01-21 10:58:08 +00:00
Edin Kadribasic c92a084e39 MFOB: Fixed bug #29492 - missing ldap_parse_reference() 2005-01-20 22:50:29 +00:00
Antony Dovgal b689d32d18 fix error message =/ 2005-01-20 18:44:25 +00:00
Antony Dovgal 367868fa7e MFH: fix bug #31623 (OCILogin does not support password grace period) 2005-01-20 18:42:40 +00:00
Antony Dovgal 94d4fb4249 MFH: fix segfault in imap_sort() 2005-01-20 18:08:54 +00:00
Ilia Alshanetsky aabd63044c MFH: Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with '
get cutoff).
2005-01-20 17:57:06 +00:00
Dmitry Stogov c1b0b3781f Support for HTTP error codes 2005-01-20 17:28:51 +00:00
Dmitry Stogov a2aedfdf00 Fixed bug #30901 (can't send cookies with soap envelop).
void SoapClient::__setCookie(string name [, string value])
2005-01-20 14:28:57 +00:00
Antony Dovgal ed4ddfe263 MFH: fix segfault in imap_headerinfo() when fromlength or subjectlength are less than 0
+ fix protos
2005-01-20 14:11:36 +00:00
Dmitry Stogov 0f3cce53ad Fixed bug #31422 (No Error-Logging on SoapServer-Side). 2005-01-20 12:47:05 +00:00
Dmitry Stogov 6880dcb0d4 Fixed bug #31422 (No Error-Logging on SoapServer-Side). 2005-01-20 12:40:15 +00:00
Rob Richards 1842fc7a42 MFH: Fixed bug #28817 (Var problem when extending domDocument) 2005-01-20 11:47:28 +00:00
Antony Dovgal 7ffde39f44 MFH: fix typos in error messages 2005-01-20 10:03:32 +00:00
Antony Dovgal 99dd5c22d1 MFH: fix typos in error messages & resource name 2005-01-20 10:02:24 +00:00
Dmitry Stogov 0a919c89da Support for HTTPS with digital certificates. 2005-01-20 06:13:53 +00:00
Wez Furlong 1a27ca62a8 merge from head 2005-01-20 03:28:04 +00:00
foobar 235f05dafd MFH: Removed obsolete AC_PROG_RANLIB 2005-01-20 01:46:38 +00:00
foobar ae366c348a MFH: - Changed phpize not to require automake and libtool. (Jani)
MFH: - Fixed build system to always use bundled libtool files. (Jani)
2005-01-20 01:41:52 +00:00
foobar 203981a031 MFH: Added --debug option to buildconf 2005-01-19 23:04:00 +00:00
foobar 8efade7894 Revert the multiple autoconf versions patch 2005-01-19 22:27:47 +00:00
Ilia Alshanetsky e733c33f37 MFH: Stricter cc header check. 2005-01-19 18:54:48 +00:00
SVN Migration 120cba9504 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-19 17:52:34 +00:00
foobar 873e694ccd BFN 2005-01-19 17:40:32 +00:00
foobar a04ad392ff MFH: - Fixed bug #28976 (use From: from headers if sendmail_from is empty) 2005-01-19 17:38:32 +00:00
foobar 7f28203b56 MFH: - Fix the pic patch 2005-01-19 17:36:15 +00:00
foobar c5874b6297 MFH: bug #29183 2005-01-19 01:46:47 +00:00
foobar 51179248d5 BFN 2005-01-19 01:31:08 +00:00
foobar 963e442e10 MFH: - Fixed bug #29136 (make test - libtool failure on MacOSX) 2005-01-19 01:30:34 +00:00
foobar 0d91c5eda9 MFH: Force ldapv3 for ldap_start_tls() 2005-01-19 00:27:42 +00:00
Ilia Alshanetsky 4e6ebdbeda MFH: Fixed bug #31142 (crash, memory leak and data loss by imap_mail_compose). 2005-01-18 23:36:37 +00:00
Antony Dovgal 641152c54b MFH: add checks for libs & headers required by IBM DB2 2005-01-18 21:19:57 +00:00
Ilia Alshanetsky c35b9949f7 MFH: Fixed bug #31480 (Possible infinite loop in imap_mail_compose()). 2005-01-18 16:33:28 +00:00
Ilia Alshanetsky 3c8424457d MFH: Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen). 2005-01-18 15:48:39 +00:00
foobar 706ba12284 MFH: - Use FD_CLOEXEC with fcntl() and make sure it is always defined 2005-01-18 15:45:51 +00:00
Antony Dovgal c82421d48e MFH: fix bug #30430 (odbc_next_result() doesn't bind values and that results in segfault)
fix protos
2005-01-18 15:07:10 +00:00
foobar 83343aacc3 MFH 2005-01-18 11:54:04 +00:00
foobar 4cfd9d0440 MFH: Add test for bug #31402 2005-01-18 11:37:17 +00:00
SVN Migration 132760f0eb This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-18 11:36:46 +00:00
Dmitry Stogov e88524aa26 changed title of the bugreport 2005-01-18 11:23:42 +00:00
foobar 4c7a56f564 Touch generated file. 2005-01-18 10:59:20 +00:00
Dmitry Stogov 03096147f6 Fixed bug #31190 (iexceptions in call_user_func_array()) 2005-01-18 10:33:50 +00:00
Magnus M��tt� ac29fcffc0 Add test case for bug #30726. 2005-01-18 09:57:04 +00:00
SVN Migration ae343cc715 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-18 09:56:33 +00:00
Dmitry Stogov 5abc423112 Fixed bug #28444 (Cannot access undefined property for object with overloaded property access). (Dmitry) 2005-01-18 09:04:43 +00:00
Ilia Alshanetsky f5dbe5a0cb MFH: Fixed bug #30726 (-.1 like numbers are not being handled correctly). 2005-01-18 00:30:39 +00:00
Antony Dovgal bdd4cf7979 MFH: fix weird DB2 issue 2005-01-17 18:11:36 +00:00
foobar f4f3bb6418 MFH: - Fixed bug #31444 (Memory leak in zend_language_scanner.c) 2005-01-17 17:21:57 +00:00
foobar 01b9a94d41 MFH: Forgotten fix for DL_UNLOAD macro 2005-01-17 17:12:05 +00:00
foobar cd3b8c3de4 MFH: - Added some sanity checks by changing to the parameter parsing API 2005-01-17 17:07:47 +00:00
Christian Stocker bf2bee53f7 revert these 2 files... shouldn't have been comitted .. 2005-01-17 16:06:57 +00:00
Christian Stocker 4984c16261 MFH
proto fixes
2005-01-17 16:01:35 +00:00
Antony Dovgal 19f071ea5a MFH: fix leak 2005-01-17 15:06:56 +00:00
Joe Orton b02e734f15 MFH - Fixed bug #31519: Set r->status_line to SAPI-provided status-line. 2005-01-17 12:35:28 +00:00
Stefan Esser 58b20e71d1 MFH: 64bit fix + compiler warning fix 2005-01-17 12:13:33 +00:00
Stefan Esser d825ced844 if 2 of 3 tests are okay still do the 3rd test ! 2005-01-16 22:02:50 +00:00
Moriyoshi Koizumi 4291c701a8 -MFH: Fix a critical bug that request-local settings leak to another request. 2005-01-16 15:55:41 +00:00
Andi Gutmans 9c1186c39b - Fix WS 2005-01-15 21:13:34 +00:00
Stefan Esser 4c17c6aca6 MFH 2005-01-15 18:49:25 +00:00
foobar a4b09f8259 MFH: cs fix 2005-01-15 04:51:03 +00:00
foobar bea4e52ae9 MFH: ws fix 2005-01-15 04:35:05 +00:00
Andi Gutmans 17362b6600 - Change to using DL_UNLOAD macro. 2005-01-15 00:19:05 +00:00
foobar a819cbc869 MFH: - Fixed bug #31060 (imageftbbox() does not use linespacing parameter) 2005-01-14 23:08:02 +00:00
foobar 310a945151 MFH: - Fixed bug #30120 (imagettftext() and imagettfbbox() accept too many parameters) 2005-01-14 22:46:12 +00:00
foobar b8f8302bbc MFH: - Fix another generated header include 2005-01-14 20:45:11 +00:00
Dmitry Stogov 33406179c3 Path -> pattern 2005-01-14 09:00:10 +00:00
Dmitry Stogov f41e4f8e4d Fixed SIGSEGV with ext/standard/tests/network/tcp4loop.phpt and ext/standard/tests/network/unixloop.phpt 2005-01-14 08:51:43 +00:00
Dmitry Stogov cbe8634bbe Revert to old behavior of $str["str"]. ($str["str"] is equivalent of $str[0]) 2005-01-14 08:50:00 +00:00
Wez Furlong 73ab72bfbb MFH the extension dep macro (which is a NOP)
so that pecl extensions with deps can build against head and 5.0.x
2005-01-13 17:10:59 +00:00
Dmitry Stogov 976ed18082 Additional fix for fix of bug #29883 2005-01-13 08:48:50 +00:00
Dmitry Stogov d273e9a113 Fixed bug #31098 (isset false positive) 2005-01-12 09:17:45 +00:00
Moriyoshi Koizumi e4fdaec6a5 - I tend to write opposite things these days :P 2005-01-11 22:27:26 +00:00
Moriyoshi Koizumi 7e53013c34 - BFN 2005-01-11 22:02:03 +00:00
Moriyoshi Koizumi a80a5cf98d - MFH: fix for bug #31098.
# I just wasn't aware of the bug being assigned to Dmitry.
# Sorry if there has already been an effort for this one.
2005-01-11 21:59:57 +00:00
SVN Migration 6634ee0145 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-11 21:57:02 +00:00
Moriyoshi Koizumi b9ff04703f - MFH: Fix the fix 2005-01-11 20:59:10 +00:00
Moriyoshi Koizumi 52adad71e7 - MFH: fix htmlentities() / html_decode_entity() UTF-8 related bugs
initially reported by Kamesh Jayachandran
2005-01-11 20:45:06 +00:00
SVN Migration ebe468c145 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-11 20:44:05 +00:00
Joe Orton 5f0a65bd36 MFH: Fixed bug #30446 - virtual() includes files out of sequence,
work around 2.0 subrequest/internal redirect issue.
2005-01-11 14:07:27 +00:00
foobar 1fc5fc9ccd MFH: Fix ZTS build 2005-01-11 13:36:16 +00:00
Rob Richards 99616e50af MFH: revert fix for bug #28817 - fix is bad 2005-01-11 10:36:33 +00:00
foobar 34c6f253c3 MFH: - Added check for IMAP 2004 versions 2005-01-11 04:56:44 +00:00
Antony Dovgal 6675c76d58 MFH: fix Konstantin's last name 2005-01-10 21:37:59 +00:00
foobar ae546e85b8 - Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream).
(chris at ex-parrot dot com)
2005-01-10 15:38:50 +00:00
Joe Orton f6b1919e3f MFH: Don't scribble over the stack; icc compiler warning fix
from dcb314@hotmail.com via Red Hat bugzilla #143795.
2005-01-10 11:30:01 +00:00
foobar 65b8e527a6 MFH 2005-01-10 01:36:12 +00:00
foobar 201517f12b - The pic/no-pic patch by Joe Orton. 2005-01-10 01:11:26 +00:00
foobar cf68478f8e MFH: - Fix outside-source-tree builds. Always include generated header files
with #include <some_header.h> to make sure the correct file is used.
2005-01-09 21:05:20 +00:00
Antony Dovgal 1f0bf51cbe BFN 2005-01-09 18:25:43 +00:00
Antony Dovgal 3c786b4a52 add skipif section 2005-01-09 18:20:34 +00:00
Antony Dovgal 66a29f649f MFH: add test 2005-01-09 18:17:41 +00:00
SVN Migration 18fd322943 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-09 18:15:51 +00:00
Antony Dovgal 7f223f76c6 MFH: fix bug #31454 2005-01-09 17:58:16 +00:00
foobar a4108b7189 MFH: - Fix leaks with registered shutdown functions. 2005-01-09 16:30:15 +00:00
foobar d946ca1d7f MFH: - Rationalize code a bit 2005-01-09 16:19:11 +00:00
foobar 0443ce7bc9 MFH: - Fix possible crash (PR#26223). Leaks remain. 2005-01-08 20:45:11 +00:00
foobar 2ccc66582b MFH: - Fix some memory leaks 2005-01-08 12:02:39 +00:00
Antony Dovgal 274d13f151 MFH: remove duplicated include 2005-01-07 21:16:00 +00:00
Anantha Kesari H Y a40637da0e removed skipif sections that check for the existence of ArrayAccess class which is nomore a class but a interface.As the corresponding files in PHP-5.1-HEAD had removed the SKIPIF blocks themselves, removing the same for PHP5_0 branch also. 2005-01-07 10:40:44 +00:00
foobar b4035f926c BFN 2005-01-07 06:30:10 +00:00
foobar 44f94fee4a MFH: - Fixed bug #31055 (apache2filter: per request leak proportional to the full path of the request URI) 2005-01-07 06:28:24 +00:00
foobar 66add9f4fd MFH: - Make sure $host_alias is never empty 2005-01-07 06:19:54 +00:00
Wez Furlong 4186ba86bc update by steph 2005-01-07 05:39:22 +00:00
Joe Orton a58c381ade MFH: - Fixed bug #31413 (curl POSTFIELDS crashes on 64-bit platforms). 2005-01-06 10:21:09 +00:00
foobar c99464da72 Revert. This is always 1. 2005-01-06 01:59:52 +00:00
Anantha Kesari H Y 1955451412 passing FD_CLOEXEC would be a standard way to pass argument to fcntl's last argument than 1 2005-01-05 11:09:12 +00:00
Anantha Kesari H Y 36bcea7339 Removed redundant NEW_LIBC checks for NETWARE 2005-01-05 10:24:40 +00:00
Anantha Kesari H Y 7389f038ce Removed redundant NEW_LIBC checks for NetWare 2005-01-05 10:20:47 +00:00
Anantha Kesari H Y 2c6e4400a6 Removed redundant NEW_LIBC checks 2005-01-05 09:40:49 +00:00
Wez Furlong dd49025fd8 MFH: Fix #31408 2005-01-04 15:31:34 +00:00
foobar 5d96f268f8 BFN 2005-01-04 07:41:07 +00:00
foobar f025d57413 - Fixed bug #31396 (compile fails with gd 2.0.33 without freetype) 2005-01-04 06:51:58 +00:00
Ilia Alshanetsky ad9eec0fe3 Fixed compiler warning resulting from an unused variable. 2005-01-04 03:45:42 +00:00
Stanislav Malyshev 7685080491 MFH:
Fix the following nasty bug:
- if compile bails out from the middle of compiling, current_buffer is not restored
- if current_buffer is not null, yy_switch_to_buffer will do: *yy_c_buf_p = yy_hold_char; on
the next request
- which would lead to memory corruption on next request
2005-01-03 10:02:36 +00:00
Ilia Alshanetsky 0bdc90293d MFH: Fixed bug #31371 (highlight_file() trims new line after heredoc). 2005-01-02 23:54:59 +00:00
Rob Richards ba9e6cf6da BFN 2005-01-02 12:09:34 +00:00
Rob Richards 3ac69c47a4 MFH: Fixed bug #31361 (simplexml/domxml segfault when adding node twice) 2005-01-02 12:09:09 +00:00
Moriyoshi Koizumi a2cae4e9ea - MFH: add testcases for bug #29493 and #31213. 2005-01-02 06:51:35 +00:00
SVN Migration c5fbd1a544 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2005-01-02 06:51:05 +00:00
Wez Furlong c7c42fa501 Fix build here too
# compile before commit, Jani? :-)
2005-01-01 14:35:30 +00:00
Rasmus Lerdorf 12d6522570 Safer libtoolize version check 2004-12-30 16:07:43 +00:00
foobar c9fabbe45d MFH: - Fixed bug #28930 (PHP sources pick wrong header files generated by bison). 2004-12-30 15:23:07 +00:00
foobar c1aa774082 MFH: Fix buildconf failure with autoconf > 2.13 2004-12-30 14:56:23 +00:00
foobar 41dde12bbd MFH: - Fixed bug #31101 (missing kerberos header file path with --with-openssl) 2004-12-30 14:52:29 +00:00
Antony Dovgal 72b45bdab0 MFH 2004-12-30 11:57:40 +00:00
foobar 8078fc1f6d - MFB4_3: Quote macro names in AC_DEFUN() 2004-12-30 07:04:12 +00:00
foobar 853f2aaf0c MFH: Fixed crash + leak 2004-12-30 05:33:26 +00:00
foobar 45afe262b1 missing .cvsignore file 2004-12-30 04:44:25 +00:00
Ilia Alshanetsky 099304b079 MFB: A leak is better(?) then a crash. 2004-12-30 04:39:05 +00:00
Ilia Alshanetsky 13b70db43e Fixed test case. 2004-12-30 04:11:09 +00:00
foobar 7297a25365 BFN 2004-12-30 00:59:49 +00:00
Ilia Alshanetsky 68d8b91b7f MFH: Fixed compiler warnings. 2004-12-29 21:40:42 +00:00
Ilia Alshanetsky c8d9dc3ac8 MFH: Fixed memory leaks. 2004-12-29 21:33:12 +00:00
Ilia Alshanetsky 3263c9c778 MFH: Fixed bug #31142 (imap_mail_compose() fails to generate correct output). 2004-12-29 21:23:11 +00:00
Ilia Alshanetsky 91918cf963 MFH: Don't forget to unload t1lib. 2004-12-29 21:08:16 +00:00
Frank M. Kromann 4f813bc3f6 MFH: Fix typo 2004-12-29 20:19:52 +00:00
Antony Dovgal d3a5984f48 MFH: more typos 2004-12-29 16:12:55 +00:00
Antony Dovgal 16daecc307 fix typos in protos 2004-12-29 13:52:34 +00:00
Georg Richter edbeacf479 MFH: Added property 'id' to retrieve statement id (required by PEAR DB, to support
mysqli prepared statements)
2004-12-29 11:47:03 +00:00
Derick Rethans 5d6bbfa8e3 - Add dom/xml_common.h header as installed header in order to be able to build pecl/xml_reader 2004-12-28 15:20:28 +00:00
Zeev Suraski b794f9a7f3 Fix desc 2004-12-27 18:53:07 +00:00
Zeev Suraski 148186afaf Fix description 2004-12-27 18:21:55 +00:00
Georg Richter 6c9e73f72b fixed possible leak in mysqli_init
fixed testcase 047.phpt
2004-12-27 15:40:40 +00:00
Marcus Boerger 8ab7643dc6 - MFH: Need to unmangle the class name here 2004-12-27 15:14:58 +00:00
Zeev Suraski 9a17afe331 Add descriptions 2004-12-27 13:55:46 +00:00
Marcus Boerger 6a8ee8174e - MFH: More proto/error message fixes 2004-12-27 13:33:04 +00:00
Dmitry Stogov a1815304b6 "Undefined variable: %s" noticies were fixed to use one space 2004-12-27 13:04:02 +00:00
Georg Richter d05beb69c8 feature request #31015 2004-12-27 11:54:08 +00:00
Georg Richter 6583f0b785 Fix for feature request #31015: Length for field object/array 2004-12-27 11:52:08 +00:00
Marcus Boerger 9ac48f35bd - MFH: Small fixlet (by Tony) 2004-12-27 11:44:08 +00:00
Georg Richter debc74ad74 MFH: Fix for bug #31141 2004-12-25 16:44:02 +00:00
SVN Migration 9ed42dbdbb This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-12-25 16:42:54 +00:00
Wez Furlong 3365a94101 MFH 2004-12-23 19:39:49 +00:00
Ilia Alshanetsky 4cbe8ca0a3 MFH: Fixed several buffer overflows. 2004-12-23 19:29:24 +00:00
Antony Dovgal 39acd18e4b MFH: destroy return_value and fix leak in array_fill() 2004-12-23 16:38:13 +00:00
Antony Dovgal f50490b2bc news entry 2004-12-23 16:26:04 +00:00
Antony Dovgal 4904d5e948 MFH: add Oracle Instant Client support (initial patch by cjbj at hotmail dot com) 2004-12-23 16:21:58 +00:00
Wez Furlong 65f05f9664 MFH: don't crash 2004-12-23 06:02:54 +00:00
Ilia Alshanetsky a2fb77343d MFH: Fixed bug #31142 (imap_mail_compose() fails to generate correct output). 2004-12-22 17:28:28 +00:00
SVN Migration 2d7fae28ee This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-12-22 17:27:41 +00:00
Ilia Alshanetsky 5a5a70fe05 MFH: Fixed possible crash in imap_mail_compose(). 2004-12-21 15:47:27 +00:00
Edin Kadribasic 795598bf30 MFB: Avoid autoheader warning 2004-12-21 15:42:04 +00:00
foobar 8d06f63eef MFH: - Fixed bug #28248 (Can not compile --with-sybase and freetds) 2004-12-21 06:57:22 +00:00
foobar 3bc0c0b7ea MFH: - Fixed bug #28385 (some files in $(prefix)/lib/php/build/* installed with wrong permissions) 2004-12-21 04:59:24 +00:00
Magnus M��tt� 87c1464ce5 MFH: Fix test so it doesn't hang make test on HP-UX. 2004-12-21 04:35:29 +00:00
foobar 8f6a4bee71 MFH: - Fixed bug #31145 (configure is using -lcpdf instead of -lcpdfm) 2004-12-21 04:22:06 +00:00
foobar 725dfe2e0a MFH: Fix bug #28700. 2004-12-21 02:53:34 +00:00
foobar a659f7a8eb MFH: - Use correct header files (in c99 compliant way). uint32_t is preferred. 2004-12-21 01:07:46 +00:00
foobar a064487766 MFH: endian compile problem fix 2004-12-20 20:38:05 +00:00
foobar 3c17e392d1 MFH: Fix buildconf when multiple autoconf versions installed 2004-12-20 20:24:15 +00:00
Georg Richter 001a3117ac MFH: Fixed type conversion for NULL values in mysql_stmt_execute 2004-12-20 16:42:20 +00:00
Ilia Alshanetsky 3ed65da8cb MFH: Fixed bug #31103 (Better error message when c-client cannot be found). 2004-12-19 18:17:45 +00:00
foobar 9c500be57f MFH: missing CVS id tag 2004-12-18 03:14:52 +00:00
Andi Gutmans cfba5aa8ad - MFH 2004-12-17 22:31:49 +00:00
Derick Rethans e2af094de1 - MF43: Fixed bug #31072 (var_export() does not output an array element with an
empty string key). (Derick)
2004-12-17 14:39:35 +00:00
Derick Rethans e8d7575733 - MF43: Fixed strtod for Irix and some other strange platform 2004-12-17 13:17:25 +00:00
Derick Rethans f1d4663bf3 - MF43: Fixed weird types, this also makes it compile on IRIX again. 2004-12-17 13:08:39 +00:00
Rob Richards e3b9e1e7f9 BFN 2004-12-17 12:22:09 +00:00
Rob Richards d8f2875be9 MFH: Fixed bug #31139 (XML Parser Functions seem to drop &amp; when parsing) 2004-12-17 12:21:34 +00:00
foobar 21c9e2ab8d typo 2004-12-17 02:20:28 +00:00
Moriyoshi Koizumi c563365b2f - MFH 2004-12-16 23:18:14 +00:00
Ilia Alshanetsky e97d0777db MFH: Fixed bug #31087 (broken php_url_encode_hash macro). 2004-12-16 22:40:46 +00:00
Derick Rethans 69c761cc9d - MF43: Make it compile on HPUX on Itanium 2 2004-12-16 22:22:35 +00:00
Frank M. Kromann 1839753e7d MFH: Fix #31120 and #31135. mssql_query returns false on successfill inserts and stored procedures 2004-12-16 21:49:36 +00:00
Antony Dovgal f5223ff699 MFH: fix leak (init array only if we got valid start key) 2004-12-16 19:20:54 +00:00
Derick Rethans 8babcb4284 - MF43: Fixed bug #31107 (strtod on solaris9/intel) 2004-12-16 13:06:46 +00:00
foobar 0d38556da8 - MFH: Fix typo (avaliable -> available). (bug #28725) 2004-12-16 12:35:45 +00:00
foobar 1059806c25 MFH: - Fixed compile error with HP-UX using GCC. 2004-12-16 11:49:55 +00:00
Derick Rethans 68010fd314 - Fixed bug #31110 and #31111 (Zend/zend_strtod.c problems) 2004-12-16 10:38:30 +00:00
Ilia Alshanetsky 3bb2ce51c5 MFH: Fixed bug #31056 (php_std_date() returns invalid formatted date if
y2k_compliance is On).
2004-12-16 00:12:56 +00:00
Andi Gutmans 21ebffa42d - 5.0.4-dev 2004-12-15 07:02:05 +00:00
Andi Gutmans 3fdb372eb6 - Redo 5.0.3 2004-12-15 06:44:07 +00:00
Andi Gutmans b73e3e5a60 - Back to -dev 2004-12-15 05:28:12 +00:00
Andi Gutmans 04e0ca2d5e - Roll PHP 5.0.3 2004-12-15 05:07:38 +00:00
foobar a1479ff180 MFH5: missing files 2004-12-15 02:30:44 +00:00
Ilia Alshanetsky ae4aa5e1e3 MFB: test fix. 2004-12-14 17:43:35 +00:00
Dmitry Stogov dec4b68d88 Fixed build with custom libming 2004-12-14 16:15:45 +00:00
Dmitry Stogov 8166520e09 Fixed build on linux-glibc21-i386 2004-12-14 14:00:50 +00:00
Dmitry Stogov 4d497d8f02 Fixed bug #30994 (SOAP server unable to handle request with references). 2004-12-14 13:58:19 +00:00
Derick Rethans d21cb5b345 - MFH: Fixed compile error related to bug #28605.
#- But it does not *fix* bug #28605.
2004-12-14 08:41:35 +00:00
Ilia Alshanetsky cb5aa998b9 MFH: Fixed bug #28228 (NULL decimal separator is not being handled correctly). 2004-12-14 00:38:35 +00:00
Derick Rethans 8a7bfba9de - MFH: Generate all iconv headers by default 2004-12-11 11:17:14 +00:00
Andi Gutmans fffe3c696a MFH 2004-12-10 23:06:06 +00:00
Andi Gutmans 5279b66616 - Back to -dev 2004-12-10 01:06:17 +00:00
Andi Gutmans fcde3b066e - 5.0.3RC2 2004-12-10 01:03:04 +00:00
Antony Dovgal 2cdc86e8b4 CS changes 2004-12-09 17:16:33 +00:00
Antony Dovgal cab8f40c2e MFH: fix segfault in session_module_name() when session.save_handler is empty 2004-12-09 14:17:34 +00:00
Pierre Joye 12374956d0 - fix the entry position, thx D 2004-12-09 10:30:14 +00:00
Pierre Joye 5efb3301b2 - MFH: #28598, attempt to restore MS Symbol ttf support 2004-12-09 10:11:11 +00:00
Pierre Joye cbdd728a8d - MFB: #30229, fixed imagerectangle used with alpha channel
- MFB: imagefill, always restore the alphablending mode
2004-12-09 09:19:59 +00:00
Derick Rethans 5a4d19abe6 - MFH: Fixed bug #31034 (Problem with non-existing iconv header file). (Derick) 2004-12-09 09:05:36 +00:00
Antony Dovgal 6cb74fb894 MFH: buffer overrun & debug printf() 2004-12-09 08:24:33 +00:00
Frank M. Kromann c40cb3fce6 MFB: Fix logic for file checking. Bug #31019 2004-12-08 18:58:25 +00:00
Joe Orton 4ba3d20c88 MFH: Fix VPATH build again. 2004-12-08 12:55:33 +00:00
foobar 7b5258ab93 MFH: Fix build. This was not supposed to halt configure if test fails. 2004-12-08 06:47:10 +00:00
Brad House 1d4d921a59 backport from head. compatability fix with libmonetra 4.2 and higher (still works with older releases too). 2004-12-08 03:08:39 +00:00
Dmitry Stogov 0d6c158620 Fixed crash in phpinfo() after graceful Apache restart. 2004-12-07 18:01:56 +00:00
Dmitry Stogov 74320cba7e Fixed bug #30928 (When Using WSDL, SoapServer doesn't handle private or protected properties) 2004-12-07 17:29:24 +00:00
Antony Dovgal 73346d2f76 MFH: fix leak in bcpowmod() 2004-12-07 17:07:16 +00:00
Derick Rethans 74b56b1258 - Tidy up NEWS a bit 2004-12-07 08:44:07 +00:00
Dmitry Stogov ac5f1552ff Fixed bug #30904 (segfault when recording soapclient into session). 2004-12-07 07:45:46 +00:00
Ilia Alshanetsky 93f65e2510 MFH: Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). 2004-12-07 00:33:58 +00:00
Ilia Alshanetsky 4c4bfd3c9b MFH: Fixed bug #30990 (allow popen() on *NIX to accept 'b' flag). 2004-12-06 23:31:07 +00:00
Derick Rethans ea97c82b97 - MF43: Install the iconv extension headers to <installpath>/ext/iconv so that
external extensions can use them.
2004-12-06 20:38:55 +00:00
Ilia Alshanetsky a6e1c3616b MFB: revert. 2004-12-06 19:45:57 +00:00
Stanislav Malyshev e1dc8e60a4 fix startup - if startup did not succeed, do not continue with execution 2004-12-06 18:55:38 +00:00
Stanislav Malyshev cda0f6145f do not zero out peak - MM shutdown would do that 2004-12-06 18:52:52 +00:00
Stanislav Malyshev b700e7a9db port fix for #30998: Crash when user error handler returns false on amd64 2004-12-06 15:46:04 +00:00
Dmitry Stogov 763006984d Fixed bug #30922 (reflective functions crash PHP when interfaces extend themselves) 2004-12-06 11:53:00 +00:00
Stanislav Malyshev 9bea6b1fb0 if fetch called not from PHP function, ptr can be NULL 2004-12-06 08:57:55 +00:00
Georg Richter 135d118ce7 MFH: fixed windows compile errors 2004-12-06 05:15:36 +00:00
Holger Zimmermann 1b6665b0d9 Replaced static server variables by function call and configurable list at the Pi3Web server side. 2004-12-05 10:32:30 +00:00
Rob Richards 6f7b5eba99 BFN 2004-12-04 11:41:46 +00:00
Rob Richards ccf618e1dd MFH: Fixed bug #28817 (Var problem when extending domDocument). (Georg)
add test
2004-12-04 11:41:12 +00:00
SVN Migration f80035fb65 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-12-04 11:40:11 +00:00
Georg Richter 9c44d66034 fixed bug #30890 2004-12-04 09:03:36 +00:00
Georg Richter 6db67fe4ff MFH:
fix for bug #28817 (properties don't work in extended class)
	fix for bug #30890 (testsuite)
2004-12-04 09:01:34 +00:00
Antony Dovgal 125c9028a7 MFH: fix array_walk_recursive() so it doesn't reuse cached fci between calls
and add test for it
2004-12-03 17:51:17 +00:00
SVN Migration 53e61c7f1f This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-12-03 17:43:24 +00:00
Stefan Esser da02892d8c fix compile 2004-12-03 16:10:29 +00:00
Stefan Esser cd385539a3 MFH 2004-12-03 16:04:10 +00:00
Georg Richter a718d62f74 MFH: Fix for bug #30967 (properties in extended mysqli classes don't work) 2004-12-03 07:57:39 +00:00
SVN Migration 3931103064 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-12-03 07:56:20 +00:00
Ilia Alshanetsky 238393e58a MFH: Fixed bug #30962 (mssql returns space for NULL columns). 2004-12-03 02:26:36 +00:00
Antony Dovgal 3de8ff865a MFH: fix tests 2004-12-02 16:39:02 +00:00
Antony Dovgal 0cb5aa2d53 MFH: revert my last patch 2004-12-02 16:36:00 +00:00
Stefan Esser 89c61babec MFH 2004-12-02 01:04:34 +00:00
Stefan Esser c5d37e6879 MFH 2004-12-02 00:44:22 +00:00
Stefan Esser 9bce9725ce MFH 2004-12-01 22:56:20 +00:00
Stefan Esser fa13af4d59 MFH 2004-12-01 22:42:14 +00:00
Ilia Alshanetsky 916af07bc8 Removed extra space that causes problems for some compilers. 2004-12-01 18:51:41 +00:00
Dmitry Stogov 193bdf06d6 Fixed bug #30329 (Error Fetching http body, No Content-Length, connection closed or chunked data). 2004-12-01 18:22:24 +00:00
Dmitry Stogov a3d2a4da0c Port 443 is default for https, so we shouldn't put it into Host: 2004-12-01 17:33:19 +00:00
Dmitry Stogov a847d3a9dd Fixed bug #30359 (SOAP client requests have no port in "Host" field ). 2004-12-01 16:59:23 +00:00
Derick Rethans 618e5b21c3 - revert unwanted change 2004-12-01 15:11:51 +00:00
Derick Rethans 3bc9cc5d2d - Fixed MacOSX compilation (Patch by Christian) 2004-12-01 15:05:10 +00:00
Derick Rethans da1255b17f - And in Zend/ too. 2004-12-01 14:46:13 +00:00
Derick Rethans a2c4aeb659 - Roll back to -dev 2004-12-01 14:44:54 +00:00
Dmitry Stogov 239e693751 Fixed bug #29883 (isset gives invalid values on strings). 2004-12-01 14:01:58 +00:00
Derick Rethans 039dd23c03 - MF43: Update install instructions 2004-12-01 09:15:38 +00:00
Andi Gutmans 1d23c4d551 - Go with 5.0.3RC1 2004-11-30 01:39:18 +00:00
Derick Rethans 2082e22123 - MFH: Added testcase for bug #30695 2004-11-29 10:15:16 +00:00
SVN Migration 62f1637939 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-11-29 10:15:05 +00:00
Derick Rethans 96cae711b9 - MF43: Revert Joe's work around a bug in GCC patch as it breaks too many things. 2004-11-29 09:39:57 +00:00
Sergey Kartashoff 3886f88503 - MnoGoSearch extension updated to fix compilation issues with
mnogosearch-3.2.25+
2004-11-28 20:04:03 +00:00
Antony Dovgal d030269743 BFN 2004-11-28 17:13:49 +00:00
Antony Dovgal 61e2b771d4 MFH: fix #29954 (array_reduce segfaults when initial value is array) 2004-11-28 17:04:18 +00:00
Stefan Esser 2e9541bef5 MFH 2004-11-28 13:34:01 +00:00
Antony Dovgal 43b6cc62b1 MFH: fix #30314 2004-11-28 13:22:11 +00:00
Stefan Esser ab4bfa115c MFH 2004-11-28 12:44:42 +00:00
Ilia Alshanetsky 3a2fb113bc MFH: Improve offset check inside shmop_write(). 2004-11-27 18:18:09 +00:00
Marcus Boerger bdad6ef8c1 - Nowadays we drop fixes :-) 2004-11-27 10:14:20 +00:00
Zeev Suraski 59b098a525 Reverting get_method() signature change
@ Guys - I did my best to look for all of the changed places,
@ but I may have missed something.  If you remember other places
@ which were changed that I haven't reverted, please fix or let me know.
@ Also - Marcus, please take a look at SPL - as this particular
@ implementation took advantage of the signature change, the way I 'fixed'
@ it may very well be incorrect
2004-11-25 20:28:37 +00:00
Zeev Suraski a7cb6a8808 Reverting get_method() signature change 2004-11-25 20:26:48 +00:00
Ilia Alshanetsky 271e7df5eb MFH: Fixed compilation when PHP is built in separate directory. 2004-11-24 23:12:57 +00:00
Marcus Boerger 0a60e71454 - BFN 2004-11-24 20:00:52 +00:00
Marcus Boerger 4163964612 - MFH Bugfix #30856 2004-11-24 19:59:28 +00:00
SVN Migration 29cd249649 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-11-24 19:56:26 +00:00
Dmitry Stogov f444b875b0 Test was fixed. 2004-11-23 17:22:13 +00:00
Derick Rethans 9327ad7d07 - MFH: We need to install these headers too 2004-11-23 13:06:16 +00:00
Edin Kadribasic 74d23c256b MFH 2004-11-23 12:07:25 +00:00
Derick Rethans 68aff652b9 - MFH: export "php_iconv_string()" 2004-11-23 09:45:33 +00:00
Derick Rethans aa06288173 - MFH: Added testcase for bug #28599 2004-11-23 09:44:20 +00:00
SVN Migration 77c460b59f This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-11-23 09:40:09 +00:00
Andi Gutmans d09c0303b8 - Don't use that ZTS connection pooling code until decided what to do with
- this problem.
2004-11-22 21:46:49 +00:00
Frank M. Kromann 7064084418 MFH: Fix #30860 configure fails when tds is compiled as shared 2004-11-22 19:45:17 +00:00
Dmitry Stogov d605aa7846 Test was fixed. 2004-11-22 17:43:31 +00:00
Dmitry Stogov 36a5a19c48 Skip condition was fixed. 2004-11-22 15:15:31 +00:00
Dmitry Stogov 71f00b6ab2 Tests were fixed. 2004-11-22 15:14:14 +00:00
Rob Richards 3bdc15821f MFH: internal entities expanded if no default handler but cdata handler exists 2004-11-21 14:26:26 +00:00
Antony Dovgal 3222f1defb fix yet another typo 2004-11-21 13:35:50 +00:00
Antony Dovgal b65cff0f53 fix typo (bug #30857) 2004-11-21 13:34:02 +00:00
Stefan Esser 4e5296741d MFH 2004-11-20 20:16:27 +00:00
Rob Richards 7ec21cca55 MFH: fix crash when calling com methods
- due to change in Zend
2004-11-20 11:41:24 +00:00
Antony Dovgal acab9b33be BFN 2004-11-19 17:18:09 +00:00
Antony Dovgal bb7515902c MFH: fix bug #30587 (array_multisort doesn't separate zvals before changing them) 2004-11-19 16:57:06 +00:00
Rob Richards 8d3bd0f4f7 BFN 2004-11-18 20:17:08 +00:00
Rob Richards 40d8309354 MFH: Fixed bug #30061 (xml_set_start_namespace_decl_handler not called)
hopefully resolve a bunch of entity issues
2004-11-18 20:16:45 +00:00
Rob Richards 62f3ccdea9 MFH: prototype fixes (Jakub Vrána) 2004-11-18 19:55:00 +00:00
Rob Richards 77598e0382 BFN and re-order news 2004-11-18 18:28:03 +00:00
Rob Richards d67ee093e8 MFH: Fixed bug #30832 ("!" stripped off comments in xml parser)
reset sax->initialized flag when not using SAX2
2004-11-18 18:26:59 +00:00
Rob Richards 69644e9272 MFH: fix SAX2 handling to work with libxml 2.6.16 2004-11-18 16:36:34 +00:00
Antony Dovgal fbb708e211 MFH: run-test2 should be able to emulate POST & GET in the same time 2004-11-18 16:23:40 +00:00
Ilia Alshanetsky 797a132d51 MFH: Gracefully handle allocation failure. 2004-11-17 23:42:28 +00:00
Stanislav Malyshev 3241d7fc46 fix #30543 2004-11-17 12:39:52 +00:00
Dmitry Stogov a8a3ae8566 namespace was renamed 2004-11-17 06:19:12 +00:00
Edin Kadribasic f65691dc68 Fix build here too 2004-11-17 00:24:42 +00:00
Ilia Alshanetsky 91aaefe043 MFH: Fixed possible usage of un-initialized variable. 2004-11-16 21:04:27 +00:00
Dmitry Stogov e8cd732fb2 indentation fixed. 2004-11-16 13:51:32 +00:00
Dmitry Stogov 6a7ed50811 Fixed bug #30799 (SoapServer doesn't handle private or protected properties) 2004-11-16 13:07:27 +00:00
SVN Migration bacd5371f4 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-11-16 13:04:40 +00:00
Dmitry Stogov 95e9a21e31 Class mapping was implemented (Bug #29385 Soapserver always uses std class). 2004-11-16 12:13:40 +00:00
SVN Migration e1c0bcd35f This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-11-16 12:07:33 +00:00
Derick Rethans 34eb46c6b2 - Make this compile for the Mac again 2004-11-16 07:48:32 +00:00
Ilia Alshanetsky 67dcd65a57 MFH: Fixed bug #29801 (Set limit on the size of mmapable data). 2004-11-15 23:44:14 +00:00
Ilia Alshanetsky 00fa3587ba Fixed build. 2004-11-15 23:35:50 +00:00
Edin Kadribasic 044fba0b64 MFH 2004-11-15 23:29:42 +00:00
Frank M. Kromann 99041df380 Avoid renaming of sprintf to php_sprintf 2004-11-15 23:16:20 +00:00
Frank M. Kromann ee3f17d3ee Fix win32 build. 2004-11-15 23:14:40 +00:00
Frank M. Kromann 509eca4182 MFH: Adding most of the changes suggested in #30280. Mostly fix's for possible leaks. 2004-11-15 22:47:57 +00:00
Derick Rethans 6b97f4e98c - MFH: Fixed bug #30779 (Compile of Zend/zend_strtod.c fails on Sparc) 2004-11-15 19:26:57 +00:00
Sergey Kartashoff fcf9c0892d # Unix EOLs fixed 2004-11-15 19:07:35 +00:00
Sergey Kartashoff 3c1b0101ef # Copyright header & version info changed to PHP 5 standatd notice 2004-11-15 19:02:39 +00:00
Derick Rethans 7d5b5f3054 - Those are also fixed with the same commit. 2004-11-15 16:42:10 +00:00
Derick Rethans 7a379811d4 - Fixed bug #28599 (strtotime fails with zero base time). 2004-11-15 16:30:46 +00:00
Antony Dovgal 6749b09d8b MFH: fix CLI leaks when using malformed option string 2004-11-15 14:08:33 +00:00
Derick Rethans 1a1713a4c7 - MF4.3: Cleaned up some of the locale mess:
* all internal use of sprintf, snprintf and the like will always
    use the . as thousands seperator (if php.h is included only!).
  * echo, printf() and sprintf() always render locale-aware
  * added the %F modifier for non-locale aware rendering for floats
2004-11-15 13:41:41 +00:00
Sergey Kartashoff af05fce6b6 # Unix EOLs fixed 2004-11-14 19:30:16 +00:00
Sergey Kartashoff 985122db3b - More mnogosearch-3.2.23+ compatibility 2004-11-14 18:23:52 +00:00
Marcus Boerger 216a000ce3 BFN 2004-11-14 18:09:44 +00:00
Marcus Boerger 3f35f2252d MFH #30783 Apache crash when using ReflectionFunction::getStaticVariables()
MFH proto fixes
2004-11-14 18:07:15 +00:00
Antony Dovgal 480af61b74 MFH: fix #30780 (tidy segfaults on 'new tidyNode;') 2004-11-14 13:35:48 +00:00
Rob Richards f67d540a1b BFN 2004-11-13 14:33:59 +00:00
Rob Richards 2452c92c2b MFH: Fixed bug #30566 (attribute namespace URIs are inconsistent when parsing). 2004-11-13 14:33:25 +00:00
Rob Richards b6b00a822c support file:/// under windows again 2004-11-11 13:09:03 +00:00
Ard Biesheuvel 586f73b1ee MFH: fix return value of ibase_execute() 2004-11-11 12:29:34 +00:00
Dmitry Stogov 4bc6ac34ae Support for lists in non-WSDL mode was implemented
Support for "xsi:type" was improved
2004-11-11 09:16:36 +00:00
Antony Dovgal c32445a860 MFH: fix #30751 (phpinfo() shows the same ini path after reconfigure with --with-config-file-path) 2004-11-11 06:58:00 +00:00
Ilia Alshanetsky 0f04dff942 MFH: Fixed bug #30750 (Meaningful error message when upload directory is not
accessible).
2004-11-11 00:38:44 +00:00
Wez Furlong 70a7fced75 MFH: CloseHandle 2004-11-10 20:21:48 +00:00
Ilia Alshanetsky 47fff9a15d MFH: Fixed possible overflow. 2004-11-10 01:44:28 +00:00
Dmitry Stogov 50a4e4003a Fixed bug #29211 (SoapClient doesn't request wsdl through proxy). (Rob) 2004-11-09 08:13:04 +00:00
Ilia Alshanetsky e0ffe2f109 MFH: Fixed crash inside cpdf_setdash() if called before page init. 2004-11-09 00:44:29 +00:00
Ilia Alshanetsky fa5fbd0a0d MFH: Fixed possible crash on fstat() failure. 2004-11-08 04:54:58 +00:00
Derick Rethans aac98f3eba - Fix for bug #30367, #30490 and possibly #30011. 2004-11-05 15:08:11 +00:00
Antony Dovgal 6f35c85c19 MFH: fix build (hm. looks like nobody noticed that..) 2004-11-05 12:31:58 +00:00
Marcus Boerger 5fd210de89 MFH Bug #30627 2004-11-04 20:15:38 +00:00
Dmitry Stogov 49c5edcb9f Fixed bug #30685 (Malformed SOAPClient http header reequest). 2004-11-04 15:29:54 +00:00
Edin Kadribasic 07c6cb2a5b MFH 2004-11-04 02:42:14 +00:00
Edin Kadribasic 9891d3e03d MFH: zend_strtod compilation on windows 2004-11-04 02:22:10 +00:00
Moriyoshi Koizumi c3c311943c - MFH: Add entry for zend_strtod.c in belief that this is still active. 2004-11-04 00:15:11 +00:00
Derick Rethans d0fd3bf62e - MFH: Fixed bug #30630: Added a BSD based strtod function that is
locale-independent. (PHP part)
2004-11-03 23:27:28 +00:00
Derick Rethans 90546a871f - MFH: Fixed bug #30630: Added a BSD based strtod function that is
locale-independent.
2004-11-03 23:14:32 +00:00
SVN Migration f2d992c76f This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-11-03 23:13:33 +00:00
Andrey Hristov 36b416f514 MFH 2004-11-02 17:25:14 +00:00
Ilia Alshanetsky 03ba78106d Bug fixing news. 2004-11-02 16:42:46 +00:00
Ilia Alshanetsky c7b537e2c3 Fixed bug #30658 (Ensure that temporary files created by GD are removed). 2004-11-02 16:41:26 +00:00
Sebastian Bergmann 523d3c122f MFH: Patch by Joe Orton <jorton@redhat.com>. 2004-11-02 13:19:48 +00:00
Ilia Alshanetsky e79de46f3c MFH: Fixed open_basedir & safe_mode bypass inside readlink() function. 2004-11-02 00:37:55 +00:00
Georg Richter 66a74b4c68 Added default multi resultset support for mysqli_connect (#30645) 2004-11-01 09:52:04 +00:00
Georg Richter fd0e9cc044 fixed error handling in mysqli_multi_query 2004-11-01 07:59:05 +00:00
Georg Richter f2dc3a258d MFH:
Fixed tests for empty dates (see http://bugs.mysql.com/?id=6058)
Fixed memleak in mysqli_stmt_bind_result
Fixed error handling for mysqli_multi_query
2004-11-01 07:57:46 +00:00
Ilia Alshanetsky 6330a6078d Fixed bug #30613 (Prevent infinite recursion in url redirection). 2004-11-01 04:52:51 +00:00
Marcus Boerger ce726fa710 - Fix arginfo 2004-10-31 15:43:06 +00:00
Sebastian Bergmann 0b640b29d7 MFH: Invokation -> Invocation 2004-10-31 10:20:01 +00:00
Marcus Boerger f0e8e0eae8 - Fix (readd function name which got lost during earlier comit) 2004-10-30 20:22:51 +00:00
Marcus Boerger ef3ed0e4d4 BFN 2004-10-30 19:56:34 +00:00
Marcus Boerger 6317956d02 MFH 2004-10-30 19:53:44 +00:00
Marcus Boerger b1e05a7b4f Bump api after latest changes 2004-10-30 19:26:04 +00:00
Marcus Boerger 65a2433793 MFH 2004-10-30 19:21:59 +00:00
Marcus Boerger a5a29a86df MFH change zend_object_handlers->get_method() 2004-10-30 19:16:39 +00:00
Marcus Boerger 7226e7077d MFH 2004-10-30 14:35:01 +00:00
Marcus Boerger 00c9bd1a33 MFH Fix protos 2004-10-30 10:46:24 +00:00
Andi Gutmans 8a340b1572 - [PATCH] Bug fix for #29770, but for PHP 4.3.9 (Vladimir Zidar) 2004-10-29 00:37:51 +00:00
Greg Beaver 4b03f9f172 sync with pear-core 2004-10-28 19:33:23 +00:00
Greg Beaver 167c1675b9 PEAR => 1.3.3 2004-10-28 19:31:07 +00:00
Antony Dovgal 5ddec61e2d fix Win32 & Netware build 2004-10-28 05:05:39 +00:00
Andi Gutmans 77e96aec61 - MFH 2004-10-27 18:15:53 +00:00
Antony Dovgal 9b6a953c91 BFN 2004-10-27 12:05:14 +00:00
Antony Dovgal 61e90440ce MFH: fix bug #30388 (rename across filesystems loses ownership and permission info) 2004-10-27 11:59:48 +00:00
Wez Furlong 0faac783e9 Fix possible crash; patch by Kamesh Jayachandran 2004-10-27 11:07:53 +00:00
Andrey Hristov 95b0546558 news entry 2004-10-26 23:34:43 +00:00
Andi Gutmans e5f62e61e6 - MFH 2004-10-26 23:25:34 +00:00
Ilia Alshanetsky 0484413b86 MFH: Fixed bug #30572 (crash when comparing SimpleXML attribute to a boolean). 2004-10-26 22:40:51 +00:00
Wez Furlong 59cb64f707 BFN 2004-10-26 09:32:01 +00:00
Wez Furlong af9a8dfaa3 Fix for Bug #29418 (double free when openssl_csr_new fails).
Also hook up MSHUTDOWN function which appears to have never been enabled.

Patch by Kamesh Jayachandran
2004-10-26 09:28:34 +00:00
Greg Beaver 01ba76a2ed sync with PEAR_1_3 branch of pear-core 2004-10-25 17:14:34 +00:00
Greg Beaver cd067e641a update for PEAR 1.3.2 2004-10-25 17:06:12 +00:00
Greg Beaver 1228570437 pass in first parameter to work with go-pear 0.5.0 "local" option 2004-10-25 04:11:40 +00:00
Antony Dovgal c6b00a1223 MFH: commit fixes by <mikael dot suvi at trigger dot ee>
(segfaults under heavy load)
2004-10-23 09:34:17 +00:00
Edin Kadribasic 998a9f4438 Revert Linux LFS patch 2004-10-22 10:47:35 +00:00
Edin Kadribasic 3959fe2470 BFN 2004-10-22 00:03:17 +00:00
Edin Kadribasic db5037537b MFB: Linux LFS support, fixes 27792 2004-10-21 23:57:37 +00:00
Joe Orton 88c5b75698 MFH: Fix case where php_handle_aborted_connection was called
outside a try/end_try block (#25570).
2004-10-21 08:22:58 +00:00
Andi Gutmans c6e0f60774 - Fix bug #30395 (Apache Child Segmentation fault in specific PHP-Code) 2004-10-21 00:47:11 +00:00
Andi Gutmans 1cae37c3da - MFH 2004-10-20 19:33:35 +00:00
Georg Richter 6ab8a6705d Minor fix for mysqli_connect: checking socket_len for NULL Values
(Thx to Paul DuBois)
2004-10-19 05:17:26 +00:00
Ilia Alshanetsky 8c13a77e97 MFH: Fixed bug #30475 (curl_getinfo() may crash in some situations). 2004-10-18 22:42:16 +00:00
Antony Dovgal f1df31a3fb BFN 2004-10-18 15:17:04 +00:00
Antony Dovgal 750646d822 MFH: fix bug #30442 ( segmentation fault when parsing ?getvariable[][ ) 2004-10-18 15:07:06 +00:00
Anantha Kesari H Y 3f4cf40c45 removing a call to php_output_activate in php_module_startup(Fix for bug#30397) 2004-10-18 10:36:35 +00:00
Derick Rethans f941d0aeb0 - Revert patch until it is discussed 2004-10-18 06:04:10 +00:00
Anantha Kesari H Y 331c9a83a3 Fix for Bug #30397 2004-10-16 10:34:59 +00:00
Anantha Kesari H Y cf476b6a51 Fix for 30457 2004-10-16 09:48:23 +00:00
Marcus Boerger eacce9faca BFN 2004-10-12 22:35:38 +00:00
Marcus Boerger 9b68fae9c9 BFN 2004-10-12 22:23:48 +00:00
Marcus Boerger c981347ffb MFH Bug #30381 2004-10-12 22:22:06 +00:00
Marcus Boerger 8360ce27aa MFH Fix visibility of get_class_vars() and get_class_methods() 2004-10-12 11:03:35 +00:00
Marcus Boerger 0bcb369eac MFH (add missing check) 2004-10-12 09:16:17 +00:00
Marcus Boerger 0c7f673a91 -MFH Fix set_exception_handler() 2004-10-12 09:14:55 +00:00
Ilia Alshanetsky 02a2e47986 MFH: Fixed bug #30362 (stream_get_line() not handling end string correctly) 2004-10-11 18:33:00 +00:00
Ilia Alshanetsky 3657fef77c MFH: Fixed bug #30375 (cal_info() does not work without a parameter). 2004-10-11 06:40:20 +00:00
Wez Furlong d75ba00e90 BFN 2004-10-11 01:43:40 +00:00
Wez Furlong 1d31caf032 MFH: return value fix (#30387 again) 2004-10-11 01:41:23 +00:00
Wez Furlong a50b0e717f MFH: Fix #30387: wrong flag used for async connection 2004-10-11 01:34:26 +00:00
Sebastian Bergmann b2ccce05e3 MFH: Add *.gcda and *.gcno (from gcc -fprofile-{use|generate}) to .cvsignore. 2004-10-10 16:15:52 +00:00
Antony Dovgal 45a4e123e7 fix possible segfault 2004-10-10 15:05:52 +00:00
Antony Dovgal 8f16f600d5 MFH: prevent deadlocks when re-using previously established persistent connection 2004-10-10 10:55:48 +00:00
Wez Furlong 055d1c2134 MFH: dotnet init fixes 2004-10-09 13:10:37 +00:00
Wez Furlong e188ea9d39 MFH: fix for crash bug 2004-10-09 13:08:49 +00:00
Marcus Boerger 11031593f3 MFH speling 2004-10-08 19:03:53 +00:00
Christian Stocker eca839ae19 MFH
Fixed bug #27183 (Userland stream wrapper segfaults on stream_write).
2004-10-08 14:53:39 +00:00
Moriyoshi Koizumi ac70367d73 - BFN 2004-10-08 14:46:47 +00:00
Moriyoshi Koizumi d5830722a5 - MFH: Sync with the latest codebase (fixes bug #28220). 2004-10-08 14:45:47 +00:00
SVN Migration 82dae9d9be This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-10-08 14:40:47 +00:00
Moriyoshi Koizumi e817baae1e - MFH(r-1.53): Avoid doubly symbol definition. Codes in the removed file has
never been used anywhere.
2004-10-08 14:24:29 +00:00
Ilia Alshanetsky 7c3962f79d MFH: Fixed bug #30356 (str_ireplace() does not work on all strings). 2004-10-07 23:11:20 +00:00
Marcus Boerger 2016ad5441 BFN 2004-10-06 21:32:12 +00:00
Marcus Boerger 67c833661e - MFH (synch after func name change) 2004-10-06 21:27:25 +00:00
Marcus Boerger 8b765c3c44 - MFH Fix Bug #30344 2004-10-06 21:25:37 +00:00
Ilia Alshanetsky 2daa88cd48 Possible fix for bug #29764 2004-10-06 00:12:04 +00:00
Ilia Alshanetsky 32617aea68 MFH: Fixed bug #30027 (Possible crash inside ftp_get()). 2004-10-05 23:53:14 +00:00
Marcus Boerger 69d71f67d2 BFN 2004-10-05 18:45:01 +00:00
Dmitry Stogov f779b01bca Fixed bug #30175 (SOAP results aren't parsed correctly) 2004-10-05 15:58:28 +00:00
Ilia Alshanetsky 0036a3e4da MFH: Fixed bug #30281 (Prevent non-wbmp images from being detected as such) 2004-10-04 20:43:21 +00:00
Marcus Boerger b2f560dc94 MFH 2004-10-04 17:54:13 +00:00
SVN Migration 501a4edf49 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-10-04 17:53:56 +00:00
Marcus Boerger c896d7d6d0 - MFH Add new test 2004-10-04 17:31:37 +00:00
SVN Migration 0285963ec3 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-10-04 17:30:54 +00:00
Marcus Boerger 84a00322eb BFN 2004-10-04 09:04:00 +00:00
Marcus Boerger 5dbe92d8a7 MFH 2004-10-04 09:03:10 +00:00
SVN Migration c2e2a30169 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-10-04 08:58:48 +00:00
Ilia Alshanetsky dee4566360 Test case for bug #30085 2004-10-04 02:46:03 +00:00
Marcus Boerger 900df55818 - Add new tests 2004-10-02 14:33:37 +00:00
SVN Migration d0ff60e95f This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-10-02 14:22:53 +00:00
Rasmus Lerdorf 98aa5b6eb2 Not sure when this BC breaking change snuck in, but the output method
didn't take an argument before and this compression argument is documented
to be optional but in the code it wasn't.  This patch fixes the BC break
by making the compression argument optional.
2004-10-01 19:23:40 +00:00
Sebastian Bergmann 4f92686415 MFH: Fugbix typo. 2004-10-01 10:36:50 +00:00
Ilia Alshanetsky a2f06a9a3c Added skip condition for PHP 5.0 2004-09-30 21:54:28 +00:00
Andi Gutmans 942c837e9f - MFH 2004-09-30 18:36:21 +00:00
Antony Dovgal 890b377094 BFN 2004-09-30 15:00:57 +00:00
Antony Dovgal fb5c9e76fc fix error message 2004-09-30 14:20:22 +00:00
Antony Dovgal d5f88b12c0 MFH: fix segfaults and bug #30282 and suppress compile warnings 2004-09-30 12:37:35 +00:00
Ilia Alshanetsky 7dd408c7e5 MFH: Fixed bug #30276 (Possible crash in ctype_digit on large numbers). 2004-09-30 01:23:34 +00:00
Marcus Boerger b00c9f4501 MFH 2004-09-29 20:16:03 +00:00
Antony Dovgal e81f5ce137 MFH: fix bug #29652 2004-09-29 06:43:29 +00:00
Frank M. Kromann 6081651c65 MFH: Fix compilation 2004-09-28 18:39:22 +00:00
Ilia Alshanetsky cbfa37cfad MFH: Fixed bug #30224 (Sybase date strings are sometimes not null
terminated).
2004-09-28 14:07:59 +00:00
Wez Furlong 797cda2555 MFH: select usage fix 2004-09-28 09:30:20 +00:00
Wez Furlong a540196a41 MFH: Fix for Bug #24189: possibly unsafe select(2) usage. 2004-09-28 09:13:38 +00:00
Marcus Boerger c33bcdda04 MFH fix several property handling issues 2004-09-27 22:28:58 +00:00
Marcus Boerger d85e4ebcc2 MFH parameter description 2004-09-27 22:28:19 +00:00
Marcus Boerger 3b1d4b09da MFH Add new tests 2004-09-27 22:27:54 +00:00
SVN Migration 36280edc99 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-09-27 22:23:32 +00:00
Edin Kadribasic 67bee6eb6e Fixed bug #30133 2004-09-27 22:21:52 +00:00
Marcus Boerger 7942ff14c4 Add new tests 2004-09-27 19:02:23 +00:00
Marcus Boerger 2728e52d58 MFH (discussed with Andi) 2004-09-27 19:01:50 +00:00
Ilia Alshanetsky 96184fe715 MFH: Fixed bug #30249 (Incorrect timeout check). 2004-09-27 17:30:47 +00:00
Marcus Boerger 5d5e004b34 MFH (1 fix, 1 warning) 2004-09-27 08:34:49 +00:00
Marcus Boerger 2e67579965 MFH 2004-09-26 21:52:51 +00:00
Ilia Alshanetsky f858b30f4e MFH:
Return FALSE when file cannot be found.
Specify full paths to the files used for the test.
2004-09-26 19:24:20 +00:00
Marcus Boerger 094aa8699d MFH add new tests 2004-09-26 18:29:46 +00:00
SVN Migration 3d2c4f5670 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-09-26 18:28:08 +00:00
Marcus Boerger ef3ea48ce0 MFH add new tests 2004-09-26 18:20:01 +00:00
SVN Migration a810fefdde This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-09-26 18:16:34 +00:00
Wez Furlong 2be9172661 MFH: Fix bug #30147 OO sqlite_fetch_object did not reset error handler 2004-09-26 01:41:40 +00:00
Wez Furlong 5c085a9224 BFN 2004-09-26 01:14:59 +00:00
Wez Furlong 1665957a8f MFH: configure check for getaddrinfo (Bug #30057) 2004-09-26 01:13:43 +00:00
Marcus Boerger 257f58c862 MFH lib substituation 2004-09-25 15:30:17 +00:00
Marcus Boerger c6744a5370 MFH unserialize fixes 2004-09-24 22:05:36 +00:00
Marcus Boerger 643c61277f - MFH unserialize fixes
# .re first
2004-09-24 22:05:14 +00:00
Marcus Boerger b790562222 BFN (MFHed) 2004-09-24 22:01:25 +00:00
Andi Gutmans 39f83fc506 - PHP 5.0.3-dev 2004-09-23 21:56:15 +00:00
Andi Gutmans 412fb096fa - Roll 5.0.2 2004-09-23 21:21:59 +00:00
Marcus Boerger c4c952f023 BFN 2004-09-23 18:45:27 +00:00
Marcus Boerger 10b2bb1cab MFH 2004-09-23 18:42:49 +00:00
Marcus Boerger 406847a6cd MFH Bugfix # 30209 2004-09-23 18:41:15 +00:00
SVN Migration 57c5bff123 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-09-23 18:38:35 +00:00
Dmitry Stogov 9062b2f967 Fixed bug #29566 (foreach/string handling strangeness (crash)). 2004-09-22 07:12:15 +00:00
Dmitry Stogov 29348ff48b Fixed bug #30182 (SOAP module processing WSDL file dumps core). 2004-09-22 05:57:36 +00:00
Uwe Schindler 2067727a80 changed order of processing of ini entries 2004-09-20 13:29:44 +00:00
Ilia Alshanetsky 6fcc1515cb MFH: Fixed bug #29913 (parse_url() is now binary safe). 2004-09-20 05:14:35 +00:00
Stanislav Malyshev 08e7f480e1 MFH destructor failure fix 2004-09-17 10:19:47 +00:00
Ilia Alshanetsky f521b61ce2 MFH: Fixed bug #30050 (Possible crash inside php_shutdown_config()). 2004-09-17 02:48:47 +00:00
Andi Gutmans 16bc64121f - Go with PHP 5.0.2RC1 2004-09-16 21:44:47 +00:00
Dmitry Stogov d8cd133a33 Fixed crash with SoapFault and register_shutdown_function(). 2004-09-16 08:11:07 +00:00
Sebastian Bergmann f1ec84159d MFH: ZTS fix. 2004-09-16 05:44:39 +00:00
Andi Gutmans b9a6022f15 - NEWS 2004-09-16 00:46:46 +00:00
Andi Gutmans b832343962 - MFH 2004-09-16 00:44:12 +00:00
Uwe Schindler 8e3e81256f Fixed bug #29805 (HTTP Authentication Issues) 2004-09-15 21:27:10 +00:00
Dmitry Stogov 24ec8acb2d Fixed invalid test name 2004-09-15 14:35:59 +00:00
Ilia Alshanetsky 820516e756 Fixed a bug causing ".123" * "90" and alike to return a 0. 2004-09-15 13:41:38 +00:00
Derick Rethans 09d555e3d0 - MFH: Windows has strcoll too. 2004-09-15 12:29:24 +00:00
Derick Rethans 9782bbd297 - MFH: Added new boolean (fourth) parameter to array_slice() that turns on the
preservation of keys in the returned array.
2004-09-15 11:51:56 +00:00
Dmitry Stogov 833331a53d Fixed possible crash 2004-09-15 10:35:09 +00:00
Dmitry Stogov a9b87039e4 Fixed bug #30045 (Cannot pass big integers (> 2147483647) in SOAP requests) 2004-09-14 12:13:39 +00:00
Magnus M��tt� 327125e313 Add missing stream unregister for sslv2 and 3. 2004-09-13 18:31:54 +00:00
Stefan Esser ce886edc0b MFH 2004-09-13 16:00:37 +00:00
Dmitry Stogov bb3e125185 Change soap's ctors to __construct(),
rename SoapClient->__call() to SoapClinet->__soapCall().
2004-09-13 11:54:06 +00:00
Stefan Esser f5722d61b4 MFH 2004-09-12 10:46:27 +00:00
Derick Rethans 7d77171b9b - Added the sorting flag SORT_LOCALE_STRING to the sort() functions which makes
them sort based on the current locale. (Derick)
2004-09-11 14:20:55 +00:00
Andi Gutmans 76d520e9a7 - MFH 2004-09-11 00:23:33 +00:00
Wez Furlong aa5feff190 BFN 2004-09-10 12:06:27 +00:00
Wez Furlong 16dd07c5e0 MFH: fix for Bug #29296 2004-09-10 11:44:10 +00:00
Dmitry Stogov 14c1dc4ab4 SoapClient->__call() is renamed to SoapClient->__soap_call(). 2004-09-10 09:03:25 +00:00
Dmitry Stogov 18079dd248 Using php_libxml_xmlCheckUTF8() from ext/libxml. 2004-09-10 09:00:32 +00:00
Wez Furlong ae5598fa85 MFH: avoid potential AT&T libc problems with tempnam() 2004-09-09 19:41:40 +00:00
Marcus Boerger 6183a1ed3e MFH Fix test script 2004-09-09 17:09:25 +00:00
Rasmus Lerdorf 177647c99b Stop at the index on an unmatched [ 2004-09-09 16:21:49 +00:00
Marcus Boerger 278aee14a5 MFH Drop namespace relict 2004-09-09 13:29:37 +00:00
Marcus Boerger 29048d8d7e Fix test 2004-09-09 11:33:31 +00:00
Marcus Boerger e3b65c75be MFH Fix __call's method signature 2004-09-09 09:54:06 +00:00
Marcus Boerger a3858e17e9 MFH signature check/method registration
# the new function is no ZEND_API in 5.0.* to prevent bumping API
2004-09-09 09:53:20 +00:00
Marcus Boerger 0d27154a49 MFH add new test 2004-09-09 07:46:43 +00:00
SVN Migration 9ab9402ed9 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-09-09 07:46:20 +00:00
Andi Gutmans db638b91b3 - MFH 2004-09-09 02:44:17 +00:00
Sara Golemon c1c1b21686 MFH (r.163) Handle maxlen when stream can't be mmaped 2004-09-08 18:45:05 +00:00
Rob Richards e62db3b3c8 MHF: fix issue with multiple xsl objects using registerPHPfunctions
- also fixes threading issue
2004-09-08 16:54:53 +00:00
Rob Richards f01310928c MFH: implement php_libxml_xmlCheckUTF8
- workaround for <= libxml2-2.6.13 function
2004-09-08 10:16:57 +00:00
Dmitry Stogov b003591f19 Make ext/soap work around libxml2 bug in xmlCheckUTF8 (2.6.7-2.6.13) 2004-09-07 14:41:29 +00:00
Marcus Boerger 9ae0e91ef4 MFH Fix handling of exceptions in dtors 2004-09-06 19:16:35 +00:00
Rob Richards c2c1590d52 BFN 2004-09-06 10:19:36 +00:00
Rob Richards 39916670cc MFH: Fixed bug #29945 (simplexml_load_file URL limitation 255 char) 2004-09-06 10:18:29 +00:00
Marcus Boerger 14b2c4a1f4 BFN 2004-09-05 17:43:37 +00:00
Marcus Boerger 2074b6ceee MFH bugfix 299885 2004-09-05 17:40:54 +00:00
Andi Gutmans 120ea84394 - MFH 2004-09-04 17:04:23 +00:00
Georg Richter 4ca31d911f MFH: LOAD DATA INFILE now uses PHP's fopen wrapper 2004-09-04 14:19:20 +00:00
Marcus Boerger 03a1a3675a MFH 2004-09-03 18:54:41 +00:00
Marcus Boerger 7052ece4e8 MFH: Fix protoe's 2004-09-03 18:41:10 +00:00
Ilia Alshanetsky f34dafccdb MFH: Adjusted input check. 2004-09-03 03:35:27 +00:00
Stanislav Malyshev 65052194b4 MFH: filestat fix 2004-09-02 09:44:59 +00:00
Derick Rethans 88d0d5427e - MFH: Added test for bug #29944. 2004-09-02 06:35:04 +00:00
Georg Richter 2c99f0230c fixed compiler warnings
fixed bug #29283
2004-09-02 04:52:07 +00:00
Ilia Alshanetsky ea138b85ab MFH: Fixed bug #29925 (Added a check to prevent illegal characters in
session key).
2004-09-02 02:44:12 +00:00
Marcus Boerger df93e470cc MFH: Fix seeking 2004-08-31 20:56:08 +00:00
SVN Migration e54698481c This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-08-31 20:54:32 +00:00
Sara Golemon 43004bcaaa MFH: Use user_agent ini setting if it's available. 2004-08-31 20:11:32 +00:00
Joe Orton 98c0dd4147 MFH: Do not rely on handling of integers which might be outside the
range of a 32-bit signed long.
2004-08-31 12:11:06 +00:00
Joe Orton 85f8b2a830 MFH: fix gettimeofday() tests to not fail if the same time is
returned by successive calls.
2004-08-31 11:49:19 +00:00
Antony Dovgal b8c51d4614 MFH: fix bug #29723 (file_get_contents() fails with the file:// wrapper under Win32) 2004-08-31 11:38:59 +00:00
Antony Dovgal 805fe58a28 MFH: this file shouldn't be in the repository at all 2004-08-31 08:31:45 +00:00
Ilia Alshanetsky f5c36b8d9e MFH: Added missing input validation to dio_write(). 2004-08-30 22:21:13 +00:00
Marcus Boerger 25ab185761 MFH: Add some information about array overloading 2004-08-30 18:49:49 +00:00
Rob Richards e7fcde565b MFH: remove cloning under ze1_compatibility_mode
- minor BC break but doesnt work right under compat mode anyways
2004-08-30 17:29:58 +00:00
Rob Richards 6164ea4840 MFH: remove cloning under ze1_compatibility_mode
- minor BC break but doesnt work right under compat mode anyways
2004-08-30 15:09:07 +00:00
Rob Richards 470ca9ef6f MFH: remove clone functionality 2004-08-30 15:00:07 +00:00
Stanislav Malyshev beffd8738e MFH fix #29893 2004-08-30 09:13:40 +00:00
Antony Dovgal bce14e2c6f MFH: add testcase for bug #29893 2004-08-30 09:11:06 +00:00
SVN Migration af2ee723dc This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-08-30 09:07:19 +00:00
Marcus Boerger 975771b431 MFH: String offset starts with 0 2004-08-29 19:15:57 +00:00
Ilia Alshanetsky 3f5e121f2b MFH: Fixed leak when serializing protected & private properties. 2004-08-29 17:16:21 +00:00
Marcus Boerger a000fe6c06 MFH: Bugfix #29882 isset crashes on arrays 2004-08-29 13:29:47 +00:00
Sergey Kartashoff ff8c3d2d67 - A fix for building of shared mnogosearch module 2004-08-29 10:59:15 +00:00
Derick Rethans e6df40e831 - MFH: Fixed bug #29873 (No defines around pcntl_*priority definitions). 2004-08-28 12:20:41 +00:00
Christian Stocker b559075a02 Marking DOM and XSL as "Working". This should have happened with the
release of PHP 5.0.0 already.
2004-08-27 22:41:38 +00:00
Marcus Boerger 1d87b34375 MFH: Fix by (mathieu dot bruneau at argontechnologies dot ca) 2004-08-27 20:39:17 +00:00
Andi Gutmans 942a83b246 - MFH 2004-08-27 16:49:54 +00:00
Dmitry Stogov 92689ec8e0 Fixed bug #29842 (soapclient return null value) 2004-08-27 07:06:07 +00:00
Ilia Alshanetsky dfb664c946 MFH: Fixed a nasty resource/memory/disk-space leak when opening zlib files
via wrapper stacking ala compress.zlib://http://...
2004-08-26 23:36:08 +00:00
Marcus Boerger 8c4eede77d MFH: Enforce semantics: Classes cannot extend Interfaces 2004-08-26 23:02:55 +00:00
Marcus Boerger 4ad82c5ef2 MFH: Add test 2004-08-26 23:01:45 +00:00
Marcus Boerger ca612d3fc0 MFH: Fix test 2004-08-26 23:01:21 +00:00
SVN Migration 87fca31a3f This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-08-26 22:53:52 +00:00
Marcus Boerger 54b2a4d6a0 BFN 2004-08-26 22:44:20 +00:00
Marcus Boerger 82a5d700e3 MFH: Bugfix 29828 2004-08-26 22:43:32 +00:00
Marcus Boerger 982ac8b7a2 MFH 2004-08-26 22:30:16 +00:00
SVN Migration 6aed779dc8 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-08-26 22:24:49 +00:00
Rob Richards 69fe08beb2 not experimental 2004-08-26 20:13:57 +00:00
Dmitry Stogov 412bae8482 Memory leaks were fixed. 2004-08-26 18:55:54 +00:00
Dmitry Stogov 27868d1799 Fixed bug #29839 (incorrect convert (xml:lang to lang)) 2004-08-26 18:36:47 +00:00
Dmitry Stogov bb19590b7e Fixed bug #29795 (SegFault with Soap and Amazon's Web Services)
Fixed bug #27994 (segfault with Soapserver when WSDL-Cache is enabled)
2004-08-26 15:23:57 +00:00
Dmitry Stogov 48dba110e2 Fixed bug #29844 (SOAP doesn't return the result of a valid SOAP request).
Fixed bug #29830 (SoapServer::setClass() should not export non-public methods).
2004-08-26 12:20:13 +00:00
Ilia Alshanetsky 255f9fc072 MFH: Fixed bug #29808 (array_count_values() breaks with numeric strings). 2004-08-26 00:26:22 +00:00
Andrei Zmievski 8f9fa59341 MFB. 2004-08-25 20:48:25 +00:00
Marcus Boerger 872f6e7af8 MFH: No short tags 2004-08-25 07:26:36 +00:00
Andrey Hristov ecca999733 . 2004-08-25 07:20:30 +00:00
Andi Gutmans 38d64188ff - Improve wording 2004-08-25 01:06:29 +00:00
Andi Gutmans 048aa76cc9 - NEWS 2004-08-25 01:04:27 +00:00
Andi Gutmans 5c3249d954 - MFH 2004-08-25 01:02:38 +00:00
Andrey Hristov b15b80c1b7 MFH 2004-08-24 22:03:12 +00:00
Marcus Boerger 5facf4becc TSRM fix 2004-08-24 21:41:02 +00:00
Marcus Boerger f5ebf71f49 Add new test 2004-08-24 21:40:12 +00:00
SVN Migration 7a69f34c69 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-08-24 21:35:47 +00:00
Andrei Zmievski f1b7a88393 MFB 2004-08-24 21:02:52 +00:00
Ilia Alshanetsky 853d714008 MFH: Fixed bug #29821 (Fixed possible crashes in convert_uudecode() on
invalid data).
2004-08-24 15:25:59 +00:00
Rob Richards 077b8f2d25 MFH: fix segfault when object cloned 2004-08-24 13:33:48 +00:00
Christian Stocker b6bb43ef94 MFH ;)
(This extension is no more experimental)
2004-08-24 11:50:53 +00:00
Ilia Alshanetsky 6f20f9d285 MFH: Fixed possible crash inside dio_read(). 2004-08-23 17:27:46 +00:00
Zeev Suraski 2fb5c4394b Fix names 2004-08-23 13:14:27 +00:00
Derick Rethans 9ca8a571e9 - There was a bug # attached to this fix. 2004-08-23 09:56:05 +00:00
Derick Rethans 8ee05c9da8 - Fixed Apache 2.0 SAPI build against Apache 2 HEAD. (Patch by Joe Orton) 2004-08-23 09:00:09 +00:00
Ilia Alshanetsky a4430a9cfe MFH: Using int when long should be used. 2004-08-22 18:05:27 +00:00
Andrey Hristov 2be03f0d73 MFH (bug 26737) 2004-08-21 14:11:56 +00:00
Sara Golemon 85fe5f8c34 MFH Bufix#29777 Bad commenting 2004-08-21 00:01:44 +00:00
Ilia Alshanetsky c7f52698c1 MFB: removed unneeded bits. 2004-08-20 13:52:47 +00:00
Derick Rethans d775bca68f - 78 chars please. 2004-08-20 06:13:41 +00:00
Ilia Alshanetsky 6c763f3721 MFH: Added more missing cURL options. 2004-08-20 00:56:05 +00:00
Brian France 949e461e8f [MFH] If you send a post with a content-type header and then the next post without the content-type header, raw_post_data will not be set. This is because SG(request_info).post_entry is set to the first requests function pointer which makes it follow the wrong code path. 2004-08-19 20:34:04 +00:00
Antony Dovgal 59ed068c78 BFN 2004-08-19 15:23:54 +00:00
Antony Dovgal d8cd7dac07 MFH: ip2long() issues 2004-08-19 15:15:32 +00:00
Antony Dovgal 4945317c28 MFH: fix #29737 (ip2long should return -1 if IP is 255.255.255.255 and FALSE on error) 2004-08-19 14:03:44 +00:00
Derick Rethans 34f4400502 - Reorder 2004-08-19 12:44:35 +00:00
Christian Stocker 259f662488 MFH
- Fixed bug #29657 (xml_* functions throw non descriptive error).
  (Christian, Rob)
- Fixed bug #29711 (Changed ext/xml to default to UTF-8 output). (Rob)
2004-08-19 12:29:43 +00:00
Ilia Alshanetsky d349734059 MFH: Fixed bug #29727 (Added missing CURL authentication directives). 2004-08-18 21:27:27 +00:00
Antony Dovgal fa5f20cfce MFB: typo in config.m4 (potential configuration problem with Stronghold) 2004-08-18 07:19:45 +00:00
Andi Gutmans 435fff2cb1 - Fix typos 2004-08-17 23:09:37 +00:00
Antony Dovgal 9173e270b0 MFH: fix typo 2004-08-17 10:58:07 +00:00
Ilia Alshanetsky 40645cc0a6 MFH: Fixed bug #29594 (Use PHP's own tmpfile() implementation). 2004-08-16 23:08:56 +00:00
Zeev Suraski 33e114b37e *** empty log message *** 2004-08-16 12:34:20 +00:00
Zeev Suraski be85bd83e8 MFH 2004-08-16 12:25:40 +00:00
Marcus Boerger 29099a7470 BFN 2004-08-16 08:51:12 +00:00
Marcus Boerger 8823289f9f MFH: Fix bug #29447: Reflection API issues 2004-08-16 08:49:48 +00:00
Ilia Alshanetsky 78363147b8 MFH: Fixed bug #29678 (opendir() with ftp:// wrapper segfaults if path
does not have trailing slash).
2004-08-16 01:41:17 +00:00
Marcus Boerger ac7665fdc2 MFH: Remove unnecessary check 2004-08-15 15:50:37 +00:00
Georg Richter 1410d8c0b2 fixed default for mysqli_fetch_array 2004-08-15 05:50:29 +00:00
Marcus Boerger 5a4158421c MFH: Add missing check 2004-08-14 19:04:01 +00:00
Georg Richter 945115968c fixed bug #29656 (segfault on result and statement properties) 2004-08-13 16:27:35 +00:00
Antony Dovgal 970f1f9c7f MFH: fix yet another annoying compile warning 2004-08-13 15:02:05 +00:00
Antony Dovgal 65ef16ef31 MFH: fix compile warning 2004-08-13 14:54:50 +00:00
Derick Rethans 0186acacdb - MFH: Added PHP_EOL constant that contains the OS way of representing
newlines. (Patch by Paul Hudson)
2004-08-13 07:08:46 +00:00
Georg Richter bc4a269d3c minor fix in mysqli_prepare: copying stmt errormessag to mysql structure 2004-08-12 22:11:46 +00:00
Andi Gutmans 291441a34c - Back to 5.0.2-dev 2004-08-12 20:53:19 +00:00
Andi Gutmans d8c1e99f02 - Roll 5.0.1 2004-08-12 20:39:36 +00:00
Chuck Hagenbuch 8d0cc271bf More spaces -> tabs. 2004-08-12 19:32:18 +00:00
Ilia Alshanetsky bbde60d6d2 MFH: Properly fix the msgno check inside imap_fetchbody(). 2004-08-12 19:20:17 +00:00
Chuck Hagenbuch e2b820f0ea MFH: fix. 2004-08-12 18:02:03 +00:00
Derick Rethans c970dbb647 - Reorder a bit and add . 2004-08-12 07:25:32 +00:00
Andi Gutmans 29c32f04e3 - Back to -dev 2004-08-12 06:39:26 +00:00
Andi Gutmans 00c6777aa1 - 5.0.1RC2 2004-08-12 06:35:22 +00:00
Magnus M��tt� 143ae77156 Add missing NEWS entry (bug 29147). 2004-08-12 05:42:13 +00:00
Marcus Boerger 87ba25b722 MFH: Change to use md5_file() 2004-08-12 00:38:12 +00:00
Ilia Alshanetsky dc77b5700c MFH: Fixed memory leak. 2004-08-11 23:25:52 +00:00
Ilia Alshanetsky 0e5c01290d Fixed bug #29607 (highlighting code with HEREDOC produces invalid output). 2004-08-11 22:38:31 +00:00
Derick Rethans ba16543ef5 - Tix Fypo 2004-08-11 15:23:00 +00:00
Derick Rethans f65e4feda4 - MFH: Added a notice to getimagesize in case zlib is not available and a
compressed SWF movie has been passed to the function.
2004-08-11 12:31:37 +00:00
Derick Rethans 20181fde3d - Reworded this a bit 2004-08-11 12:24:41 +00:00
Christian Stocker 491ed1813e MFH (fix test) 2004-08-11 08:24:41 +00:00
Derick Rethans caa5dbe679 - MFH: Patch to allow the Zend memory allocators to be disabled. 2004-08-11 06:13:12 +00:00
Sara Golemon 7e6d72f030 MFH: Fix format specifiers 2004-08-11 04:29:26 +00:00
Sara Golemon 6ea962c767 MFH: $errmsg should have been forced reference 2004-08-11 04:10:44 +00:00
Marcus Boerger c87b2d0cee BFN (small but important change) 2004-08-10 22:40:14 +00:00
Ilia Alshanetsky c2c31547c2 Bug fixing news. 2004-08-10 22:17:31 +00:00
Ilia Alshanetsky 21851b0001 MFH: Fixed bug #29606 (php_strip_whitespace() prints to stdout rather then
returning the value).
2004-08-10 22:16:50 +00:00
Dmitry Stogov bd96cca64f Fixed bug #28969 (Wrong data encoding of special characters) 2004-08-10 16:30:31 +00:00
SVN Migration 02893ad216 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-08-10 16:18:09 +00:00
Wez Furlong 4f88703159 BFN 2004-08-10 13:47:30 +00:00
Wez Furlong abc62474bf MFH: Fix for #29256 2004-08-10 13:45:58 +00:00
Christian Stocker 3a9754715a MFH (Fix segfault on error in xslt) 2004-08-10 08:02:00 +00:00
Andi Gutmans 2f212ab8d5 - Back to -dev 2004-08-10 07:28:09 +00:00
Andi Gutmans 71be1ed5f1 - 5.0.1RC1 2004-08-10 07:17:05 +00:00
Moriyoshi Koizumi 1c6896076f - Bugfix #29493 (extract(array, EXTR_REFS) misbehaves with elements referred
twice or more times)
2004-08-10 06:01:20 +00:00
Andi Gutmans 6a2d265af6 - The documentation team has re-wroten the installation part of the manual. 2004-08-10 05:36:12 +00:00
Ilia Alshanetsky 6fe9c3735a MFH: Fixed bug #29581 (Typo inside php.ini comments for mysql.trace_mode). 2004-08-10 00:44:23 +00:00
Andi Gutmans 5d43cf4ec4 - Update NEWS 2004-08-09 22:24:10 +00:00
Andi Gutmans 8b3b1eb121 Update credits for php docs 2004-08-09 21:53:19 +00:00
Dmitry Stogov 836a7b1a88 Included ext/soap fixes from CVS HEAD. 2004-08-09 05:50:06 +00:00
Georg Richter c26edafb17 fixed bug #29577 (MYSQLI_CLIENT_FOUND_ROWS undefined) 2004-08-09 04:33:40 +00:00
Ilia Alshanetsky a9bf810ba2 Remove \r characters from file. 2004-08-08 21:25:55 +00:00
Christian Stocker a737e92b08 Fixed bug #29573. 2004-08-08 18:09:46 +00:00
Christian Stocker 54ae55a949 MFH (fix for Bug #29573 : Segmentation fault when php function(called from XSLT templat) throw exception
and Zero Byte Memory Leaks)
2004-08-08 18:05:47 +00:00
Wez Furlong 5ab53094fa BFN 2004-08-07 21:04:51 +00:00
Wez Furlong aff24aed0d MFH: Fix for Bug #29490 from Michael Sisolak 2004-08-07 21:01:43 +00:00
Sara Golemon b915644ec4 MFH ZTS Fix 2004-08-06 17:35:59 +00:00
Wez Furlong 28c71a667a MFH: avoid possible segfault with stream_socket_client and bogus flags. 2004-08-06 14:18:49 +00:00
Ilia Alshanetsky d45c4f86d3 MFH: php_error() -> php_error_docref() 2004-08-05 23:57:53 +00:00
Edin Kadribasic 8060534f63 MFH: Export php_libxml_error_handler for windows build (#29541) 2004-08-05 21:03:15 +00:00
Antony Dovgal 80bdf7eae5 MFH: remove all references to @ thing, as it's not recommended 2004-08-05 14:19:59 +00:00
Ilia Alshanetsky 2dad2b3882 MFH: Eliminate unneeded variable. 2004-08-05 00:44:32 +00:00
Frank M. Kromann aa0a80bea8 Revert. ADD_EXTENSION_DEP is available in this branch! 2004-08-04 19:22:12 +00:00
Frank M. Kromann dec171c4bf No extension dependency in this branch 2004-08-04 17:22:14 +00:00
Frank M. Kromann 6d5779844f MFH: Move iconv exports to the iconv extension and make libxml depend on iconv 2004-08-04 17:13:11 +00:00
SVN Migration 94ed0368b9 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-08-04 16:46:49 +00:00
Zeev Suraski 6c8d9c8c8e Fix prototypes 2004-08-04 16:39:56 +00:00
Zeev Suraski 9de0be49d6 Fix prototypes 2004-08-04 14:40:53 +00:00
Georg Richter 5a76218edd fixed bug #29522 2004-08-04 13:02:40 +00:00
Marcus Boerger d84c321376 MFH missing part 2004-08-04 10:32:43 +00:00
Ilia Alshanetsky b3262ff512 MFH: Fixed argument handling in sun* functions. 2004-08-04 00:28:05 +00:00
Edin Kadribasic a825563c0b Typofix 2004-08-03 22:56:15 +00:00
Edin Kadribasic da476e0da9 MFH 2004-08-03 22:50:18 +00:00
Marcus Boerger 46107c39a4 MFH 2004-08-03 17:10:58 +00:00
Marcus Boerger a263d88c81 BFN 2004-08-03 17:07:56 +00:00
Marcus Boerger 9158cd2494 - MFH Bug #29505 get_class_vars() severely broken when used with arrays 2004-08-03 17:02:35 +00:00
SVN Migration 2e98f2dd1a This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-08-03 16:59:54 +00:00
Antony Dovgal 902b4bda6a MFH: typo in ini parameter name 2004-08-03 06:26:59 +00:00
Antony Dovgal 87b52bb5cd MFH: fix typo in php.ini-dist & php.ini-recommended 2004-08-03 06:21:17 +00:00
Greg Beaver e6199b5279 commit for win32 - binary so line endings are always preserved - ..and in PHP_5_0, where it also belongs 2004-08-03 04:36:56 +00:00
SVN Migration e7f995106c This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-08-03 04:36:01 +00:00
Ilia Alshanetsky 3bcb1f3af1 MFH: Allow sqlite_fetch_column_types() to properly handle table names with
spaces in them.
2004-08-02 22:43:42 +00:00
Marcus Boerger 13a652c81c MFH Change to use memcmp instead of strcmp 2004-08-02 22:43:16 +00:00
Ilia Alshanetsky 5ddd062e36 MFH: A gentler (performance wise) allocation of buffer for temp variables. 2004-08-02 02:35:03 +00:00
Marcus Boerger 4bedc6bb31 - Add new tests 2004-08-01 21:55:58 +00:00
Marcus Boerger 70f94e52ea - Enforce protocol on magic methods/functions 2004-08-01 21:55:39 +00:00
Wez Furlong 87c3363fa9 MFH usleep fix, and BFN. 2004-08-01 00:35:11 +00:00
Wez Furlong ca1dc06e04 MFH: zts fix 2004-07-31 16:37:18 +00:00
Wez Furlong b5ed0a1d3d MFH: streams fixes 2004-07-31 11:00:11 +00:00
Wez Furlong 19c8eeb4e8 MFH: zts fix for ini entries and dl() 2004-07-30 15:05:02 +00:00
Wez Furlong 293e62c99d MFH: win32 zts fix 2004-07-30 14:39:18 +00:00
Wez Furlong 2da7dd5982 MFH: various ZTS fixes 2004-07-30 14:24:59 +00:00
Edin Kadribasic 6325b1b630 MFH 2004-07-30 12:40:54 +00:00
Edin Kadribasic 9244e0eee1 MFH 2004-07-30 09:59:06 +00:00
Edin Kadribasic 712d951ffc MFH 2004-07-30 09:30:30 +00:00
Ilia Alshanetsky 40773632e0 MFH: Fixed bug #29443 (Sanity check for wbmp detection). 2004-07-30 01:10:42 +00:00
Edin Kadribasic 88628a2319 MFH 2004-07-29 22:26:52 +00:00
Edin Kadribasic 31120ba5f7 MFH: Fix informix compilation on Windows (bug #29340) 2004-07-29 21:12:47 +00:00
Timm Friebe 75276870db - MFH:
. Fixed bug #29064 (Exact numeric/decimal/money datatypes lose precision)
  . Fixed bug #27843 (sybase_query() triggers (spurious?) notices when
    query is a stored procedure)
  . Fixed multiple memory leaks with sybase_unbuffered_query()
  . Changed sybase_query() to ignore store_results = false in  buffering
    mode, it would yield unpredictable results
  . Fixed sybase_unbuffered_query() when used with store_results = false
  . Changed sybase_fetch_object() to ignore second argument when passed
    as NULL
  . Made sybase_data_seek() error message more verbose
  . Fixed memory leak in shutdown when not all rows where selected in an
    unbuffered query
# sort of, empty_string -> STR_EMPTY_ALLOC patch ommitted
2004-07-29 20:05:46 +00:00
SVN Migration fc0b122460 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-07-29 03:58:02 +00:00
Ilia Alshanetsky d976c362ac MFH: Fixed but #29437 (Possible crash inside array_walk_recursive()). 2004-07-29 00:35:12 +00:00
Wez Furlong 6c82c26884 BFN 2004-07-29 00:17:01 +00:00
Wez Furlong a0ef3e1865 MFH: #29431 2004-07-28 23:53:04 +00:00
Wez Furlong 4f91645642 MFH:
#29258: variant_date_from_timestamp() does not honour timezone
#29392: com_dotnet crashes when echo'ing an object
2004-07-28 23:48:26 +00:00
Wez Furlong 46b2bef868 Moved to PECL 2004-07-28 23:39:36 +00:00
Ilia Alshanetsky 26319ee1a1 MFH: Better address availability check. 2004-07-28 23:34:30 +00:00
Ilia Alshanetsky 42a8242676 MFH: Fixed possible crash in stream_socket_recvfrom() when length
parameter has a negative value.
2004-07-28 23:21:56 +00:00
Marcus Boerger 57ab773c70 MFH 2004-07-28 22:55:26 +00:00
Andi Gutmans 219364ee55 - Fix MAC OSX to always use native DSO loading 2004-07-28 19:07:26 +00:00
Christian Stocker 8b5fc29c7a MFH
Fixed bug #29409 (Segfault in PHP functions called from XSLT). (Rob)
2004-07-28 12:42:16 +00:00
Ilia Alshanetsky 21f4b69b2b MFH: Fixed bug #29342 (strtotime() does not handle empty date string
properly).
2004-07-28 01:44:41 +00:00
Ilia Alshanetsky f76ce400eb MFH: Fixed bug 29395 (sqlite_escape_string() returns bogus data on empty
strings).
2004-07-27 16:40:46 +00:00
Ilia Alshanetsky 16204148bb MFH: Added missing comma. 2004-07-27 12:44:35 +00:00
Ilia Alshanetsky 1f2d017ae1 MFH: Fixed bug #29349 (imagecreatefromstring() crashes with external GD
library).
2004-07-27 00:27:07 +00:00
Georg Richter 1b10ad424a MFH: fixed bug 29335 2004-07-26 07:22:01 +00:00
Georg Richter 3e65f6bf57 MFH: fixed bug in mysqli->client_version 2004-07-26 05:45:41 +00:00
Marcus Boerger f84d03b2bc - Update/Add tests 2004-07-25 19:35:30 +00:00
SVN Migration 2db28891e4 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-07-25 19:21:22 +00:00
Ilia Alshanetsky 7adc26fd8b MFH: Fixed bug #29369 (Uploaded files with ' or " in their names get their
names truncated at those characters).
2004-07-25 19:19:28 +00:00
Marcus Boerger fe80df5446 BFN 2004-07-25 17:38:44 +00:00
Marcus Boerger 8588815ef3 - MFH: Fix bug #29368 : The destructor is called when an exception is
thrown from the constructor
2004-07-25 17:37:55 +00:00
Georg Richter a70fc67b0b fixed bug #29311 2004-07-23 12:48:20 +00:00
SVN Migration b5c53ae6c7 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-07-23 12:47:37 +00:00
Edin Kadribasic 3d018fb061 MFB: Updated version number 2004-07-23 02:28:36 +00:00
Ilia Alshanetsky 3845e2c145 MFH: Fixed bug #29333 (output_buffering + trans_sess_id can corrupt output) 2004-07-23 02:05:51 +00:00
Stefan Esser 1930c2c33b MFH 2004-07-22 22:59:11 +00:00
SVN Migration 1e2b92b517 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-07-22 22:39:01 +00:00
Marcus Boerger 983fa5a21e Fix testcase 2004-07-22 18:39:45 +00:00
Georg Richter 3ecbb5c314 MFH: changed warning (bug #29298) for outdated client library 2004-07-22 07:25:31 +00:00
Sara Golemon 8fa1628958 MFH: This should fix binary safety for bound results. 2004-07-22 03:26:59 +00:00
Edin Kadribasic e52b580cad MFH: Fix for #28929 by Michael Sisolak 2004-07-21 22:53:27 +00:00
Edin Kadribasic 4b28e0a8f1 MFH: Build fix 2004-07-21 22:22:21 +00:00
Ilia Alshanetsky 91f5ceb3be MFH: Fixed bug #29209 (imap_fetchbody() doesn't check message index). 2004-07-21 21:57:09 +00:00
Marcus Boerger 603758b484 BFN 2004-07-21 18:38:23 +00:00
Marcus Boerger b6b575c1d5 MFH: Fixded #29291: get_class_vars() return names with NULLs 2004-07-21 18:37:36 +00:00
Christian Stocker e2f3142c78 MFH. Fix for Bug 29010 "make test does not wait to email address" (by Sebastian Nohn) 2004-07-21 11:20:33 +00:00
Ilia Alshanetsky 7623887079 MFH: Abort earlier on invalid format. 2004-07-21 00:14:50 +00:00
Moriyoshi Koizumi 1bd6ec4c91 - MFH (ctype.c: 1.31): Correct range checks.
- MFH (ctype.c: 1.31): Normalize negative values.
2004-07-20 20:09:27 +00:00
Moriyoshi Koizumi 33a6aefce8 oops... 2004-07-20 19:36:00 +00:00
Marcus Boerger d3f8aaecd8 BFN 2004-07-20 19:30:09 +00:00
Marcus Boerger 049cca1711 MFH 2004-07-20 19:25:18 +00:00
Moriyoshi Koizumi a40df45348 - MFH (iconv.c: 1.119): Fix possible leaks / segfaults in persistent iconv
filter.
2004-07-20 18:48:23 +00:00
Marcus Boerger 8f42eaae01 BFN 2004-07-20 18:25:48 +00:00
Marcus Boerger ebeefd9f7d MFH bugfix 28895 2004-07-20 18:23:49 +00:00
Moriyoshi Koizumi 646f9a4a8b - MFH (filters.c: 1.41): Add more null checks. 2004-07-20 18:17:07 +00:00
Moriyoshi Koizumi b4fa1661af - MFH (filters.c: 1.40): pemalloc() might return NULL 2004-07-20 18:04:36 +00:00
Stanislav Malyshev ba3c63dbc9 export ini parser 2004-07-20 08:45:04 +00:00
Sebastian Bergmann 350535d498 BFN: Fixed ReflectionClass::getMethod() and ReflectionClass::getProperty() to raise an ReflectionException instead of returning NULL on failure. 2004-07-20 05:48:45 +00:00
Ilia Alshanetsky 467caa4307 MFH: Fixed bug #29226 (ctype_* functions missing validation of numeric
string representations).
2004-07-20 01:03:18 +00:00
Sergey Kartashoff 01b6956d61 - A Bug #29147 was fixed. Thanks to Antony Dovgal <tony2001 at phpclub.net>
for his patch.
2004-07-19 19:46:52 +00:00
Marcus Boerger 61c3a669b4 - MFH protos and error message 2004-07-19 19:24:37 +00:00
Moriyoshi Koizumi befb6e9b80 - MFH (bug29119.phpt: 1.2): Fix test name 2004-07-19 18:49:46 +00:00
Moriyoshi Koizumi 35e43dabe1 - MFH (html.c: 1.98, bug29199.phpt: 1.1): Fix bug #29199 (html_entity_decode()
misbehaves with UTF-8)
2004-07-19 17:53:00 +00:00
SVN Migration b905779950 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-07-19 17:51:42 +00:00
Moriyoshi Koizumi 04c32887f1 - MFH (iconv.c: 1.118): Fix a bug in iconv stream filter that prevents
pending buckets from being processed.
2004-07-19 08:35:48 +00:00
Moriyoshi Koizumi e0a39d68d8 - MFH (config.m4: 1.52): Fix VPATH build. (patch by Joe Orton) 2004-07-19 05:09:46 +00:00
Moriyoshi Koizumi 92ec8541c1 - MFH: rename php_compat.h to php_onig_compat.h to avoid name conflict.
(reported by Joe Orton, thanks.)
2004-07-19 05:06:01 +00:00
SVN Migration 82a7ef78f3 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-07-19 05:04:34 +00:00
Ilia Alshanetsky 236c42c14e MFH: Fixed bug #28633 (sprintf incorrectly adding padding to floats). 2004-07-18 17:28:04 +00:00
SVN Migration b8fdc56a8b This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-07-18 17:27:51 +00:00
Rob Richards 17ad61bd7f enable exslt support for win32 builds
WS fixes for exslt tests
2004-07-18 13:22:46 +00:00
Rob Richards ec1507ea9d add missing optional value param to createElementNS (chregu) 2004-07-18 13:15:50 +00:00
Rob Richards 69bd1f31fd Fixed bug #29221 (Segfault using DOM ownerDocument in a PHP object) 2004-07-18 11:44:25 +00:00
Moriyoshi Koizumi b9d4af72e9 - MFH (sapi_apache2.c: 1.41): request_dtor should be called if a fatal error
occurs during activation phase.
2004-07-17 21:31:43 +00:00
Sara Golemon fbbc036830 BFN 2004-07-16 23:45:21 +00:00
Sara Golemon c2b0fdd647 MFH: convert.* filters not consuming buckets_in on PSFS_FLUSH_* 2004-07-16 23:42:00 +00:00
Marcus Boerger 3706b626fe BFN 2004-07-16 07:27:34 +00:00
Marcus Boerger edbfc48fdd MFH 2004-07-16 07:26:49 +00:00
Ilia Alshanetsky 59c6886c65 Fixed bug #28800 (strings beginning with "inf" improperly converted). 2004-07-16 02:02:09 +00:00
SVN Migration 8091552925 This commit was manufactured by cvs2svn to create branch 'PHP_5_0'. 2004-07-15 19:41:23 +00:00
1208 changed files with 115707 additions and 49514 deletions

No files matched your search

+117 -44
View File
@@ -26,11 +26,6 @@ Status legend
== Server APIs ==
-------------------------------------------------------------------------------
EXTENSION: activescript
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
MAINTENANCE: Odd Fixes
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: aolserver
MAINTENANCE: Unknown
@@ -41,14 +36,19 @@ PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: apache2handler / apache2filter
EXTENSION: apache_hooks
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: apache2filter
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: apache_hooks
MAINTENANCE: Unknown
STATUS: Unknown
EXTENSION: apache2handler
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: caudium
MAINTENANCE: Unknown
@@ -63,6 +63,11 @@ MAINTENANCE: Marcus Boerger <helly@php.net>, Edin Kadribasic <edink@php.
STATUS: Working
SINCE: 4.3.0
-------------------------------------------------------------------------------
EXTENSION: continuity
PRIMARY MAINTAINER: Alex Leigh <aleigh@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: embed
PRIMARY MAINTAINER: Edin Kadribasic <edink@php.net>
MAINTENANCE: Maintained
@@ -129,12 +134,8 @@ STATUS: Working
SINCE: 4.0.6
COMMENT: DB abstraction for odbc, mysql, pgsql, mssql, fbsql and more, see documentation
-------------------------------------------------------------------------------
EXTENSION: filepro
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: hwapi
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
EXTENSION: fbsql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
@@ -175,6 +176,26 @@ MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: odbc
PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: oracle
MAINTENANCE: Orphaned
STATUS: Working
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
EXTENSION: ovrimos
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: pgsql
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Yasuo Ohgaki <yohgaki@php.net>
MAINTENANCE: Maintained
@@ -196,22 +217,6 @@ EXTENSION: sybase_ct
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: odbc
PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: oracle
MAINTENANCE: Orphaned
STATUS: Working
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
== XML extensions ==
@@ -220,7 +225,7 @@ COMMENT: Using the new OCI8 driver is encouraged where possible.
EXTENSION: dom
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>, Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: simplexml
@@ -229,6 +234,11 @@ MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: soap
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
@@ -247,7 +257,7 @@ STATUS: Experimental
EXTENSION: xsl
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
@@ -265,11 +275,6 @@ MAINTENANCE: Odd Fixes
STATUS: Working
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: dio
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 4.0.6
-------------------------------------------------------------------------------
EXTENSION: calendar
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
@@ -297,17 +302,31 @@ MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: dio
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 4.0.6
-------------------------------------------------------------------------------
EXTENSION: exif
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
-------------------------------------------------------------------------------
EXTENSION: fam
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: fdf
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: filepro
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Stefan Esser (sesser@php.net)
MAINTENANCE: Maintained
@@ -327,6 +346,11 @@ MAINTENANCE: Unknown
STATUS: Unknown
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: hwapi
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: iconv
PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net>
MAINTENANCE: Maintained
@@ -337,6 +361,11 @@ PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: ircg
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: ldap
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>
MAINTENANCE: Maintained
@@ -352,33 +381,63 @@ PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcve
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: mhash
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mime_magic
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Deprecated
STATUS: Experimental
COMMENT: Use PECL's fileinfo extension instead
-------------------------------------------------------------------------------
EXTENSION: ming
PRIMARY MAINTAINER: Frank M. Kromann
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: mnogosearch
PRIMARY MAINTAINER: Sergey Kartashoff <gluke@mail.ru>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: mono
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: msession
PRIMARY MAINTAINER Mark L. Woodward mlwmohawk@mohawksoft.com
PRIMARY MAINTAINER Mark L. Woodward <mlwmohawk@mohawksoft.com>
MAINTENANCE: Maintained
STATUS: Working/Experimental
COMMENT: Tested on Linux, should work on other UNIX platforms. Backend server code can compile under Windows.
-------------------------------------------------------------------------------
EXTENSION: ncurses
PRIMARY MAINTAINER Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>, Hartmut Holzgraefe <hholzgra@php.net>, Georg Richter <georg@php.net>
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: openssl
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: pcntl
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pcre
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pdf
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pfpro
PRIMARY MAINTAINER: David Croft <david@infotrek.co.uk>
MAINTENANCE: Maintained
@@ -439,6 +498,20 @@ EXTENSION: sysvshm
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tidy
PRIMARY MAINTAINER: John Coggeshall <john@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: tokenizer
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: w32api
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: yaz
PRIMARY MAINTAINER: Adam Dickmeiss <adam@indexdata.dk>
MAINTENANCE: Maintained
+1493 -380
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -69,7 +69,7 @@ clean:
distclean: clean
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp5.module buildmk.stamp
egrep define'.*include/php' configure|sed 's/.*>//'|xargs rm -f
egrep define'.*include/php' $(top_srcdir)/configure|sed 's/.*>//'|xargs rm -f
find . -name Makefile | xargs rm -f
.PHONY: all clean install distclean test
+627 -4
View File
@@ -1,7 +1,633 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2004, PHP 5.0.1
05 Sep 2005, PHP 5.0.5
- Upgraded PCRE library to version 5.0. (Andrei)
- Removed php_check_syntax() function which never worked properly. (Ilia)
- Added new function mysqli_set_charset(). (Georg)
- Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana)
- Added support for .cc files in extensions. (Brian)
- Added PHP_INT_MAX and PHP_INT_SIZE as predefined constants. (Andrey)
- Changed sha1_file() and md5_file() functions to use streams instead of
low level IO. (Uwe)
- Changed ming to support official 0.2a and 0.3 library versions. (Marcus)
- Fixed failing queries problem (FALSE returned) with mysqli_query() on 64 bit.
(Andrey)
- Fixed memory corruption in pg_copy_from() in case the as_null parameter was
passed. (Derick)
- Fixed ext/mysqli to allocate less memory when fetching bound params
of type (MEDIUM|LONG)BLOB/(MEDIUM|LONG)TEXT. (Andrey)
- Fixed memory corruption in ImageTTFText() with 64bit systems. (Andrey)
- Fixed memory corruption in stristr(). (Derick)
- Fixed segfaults when CURL callback functions throw exception. (Tony)
- Fixed various reentrancy bugs in user-sort functions, solves bugs #33286 and
#33295. (Mike Bretz)
- Fixed bug #34307 (on_modify handler not called to set the default value if
setting from php.ini was invalid). (Andrei)
- Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9).
(Derick)
- Fixed bug #34299 (ReflectionClass::isInstantiable() returns true for abstract
classes). (Marcus)
- Fixed bug #34277 (array_filter() crashes with references and objects).
(Dmitry)
- Fixed bug #34260 (Segfault with callbacks (array_map) + overloading).
(Dmitry)
- Fixed bug #34137 (assigning array element by reference causes binary mess).
(Dmitry)
- Fixed bug #34078 (Reflection API problems in methods with boolean or
null default values). (Tony)
- Fixed bug #34064 (arr[] as param to function is allowed only if function
receives argument by reference). (Dmitry)
- Fixed bug #34062 (Crash in catch block when many arguments are used).
(Dmitry)
- Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP). (Dmitry)
- Fixed bug #33940 (array_map() fails to pass by reference when called
recursively). (Dmitry)
- Fixed bug #33853 (php:function call __autoload with lowercase param). (Marcus)
- Fixed bug #33802 (throw Exception in error handler causes crash). (Dmitry)
- Fixed bug #33723 (php_value overrides php_admin_value). (Dmitry)
- Fixed bug #33710 (ArrayAccess objects doen't initialize $this). (Dmitry)
- Fixed bug #33588 (LDAP: RootDSE query not possible). (Jani)
- Fixed bug #33558 (warning with nested calls to functions returning by
reference). (Dmitry)
- Fixed bug #33520 (crash if safe_mode is on and session.save_path is changed).
(Dmitry)
- Fixed bug #33491 (crash after extending MySQLi internal class). (Tony)
- Fixed bug #33340 (CLI Crash when calling php:function from XSLT). (Rob)
- Fixed bug #33277 (private method accessed by child class). (Dmitry)
- Fixed bug #33268 (iconv_strlen() works only with a parameter of < 3 in
length). (Ilia)
- Fixed bug #33263 (mysqli_real_escape doesn't work in __construct) (Georg)
- Fixed bug #33257 (array_splice() inconsistent when passed function instead
of variable). (Dmitry)
- Fixed bug #33243 (ze1_compatibility_mode does not work as expected). (Dmitry)
- Fixed bug #33242 (Mangled error message when stream fails). (Derick)
- Fixed bug #33222 (segfault when CURL handle is closed in a callback). (Tony)
- Fixed bug #33214 (odbc_next_result does not signal SQL errors with
2-statement SQL batches). (rich at kastle dot com, Tony)
- Fixed bug #33210 (relax jpeg recursive loop protection). (Ilia)
- Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier
misbehave). (Jani)
- Fixed bug #33185 (--enable-session=shared does not build). (Jani)
- Fixed bug #33171 (foreach enumerates private fields declared in base
classes). (Dmitry)
- Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1). (Ilia)
- Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF).
(Nuno)
- Fixed bug #33116 (crash when assigning class name to global variable in
__autoload). (Dmitry)
- Fixed bug #33090 (mysqli_prepare() doesn't return an error). (Georg)
- Fixed bug #33076 (str_ireplace() incorrectly counts result string length
and may cause segfault). (Tony)
- Fixed bug #33072 (Add a safemode/open_basedir check for runtime
"session.save_path" change using session_save_path() function). (Rasmus)
- Fixed bug #33070 (Improved performance of bzdecompress() by several orders
of magnitude). (Ilia)
- Fixed bug #33059 (crash when moving xml attribute set in dtd). (Ilia)
- Fixed bug #33057 (Don't send extraneous entity-headers on a 304 as per
RFC 2616 section 10.3.5) (Rasmus, Choitel)
- Fixed bug #33019 (socket errors cause memory leaks in php_strerror()).
(jwozniak23 at poczta dot onet dot pl, Tony).
- Fixed bug #33017 ("make distclean" gives an error with VPATH build). (Jani)
- Fixed bug #33013 ("next month" was handled wrong while parsing dates).
(Derick)
- Fixed bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54
seg fault). (Dmitry)
- Fixed bug #32956 (mysql_bind_result() doesn't support MYSQL_TYPE_NULL). (Georg)
- Fixed bug #32947 (Incorrect option for mysqli default password). (Georg)
- Fixed bug #32944 (Disabling session.use_cookies doesn't prevent reading
session cookies). (Jani, Tony)
- Fixed bug #32941 (Sending structured SOAP fault kills a php). (Dmitry)
- Fixed bug #32936 (http redirects URLs are not checked for control chars). (Ilia)
- Fixed bug #32933 (Cannot extend class "SQLiteDatabase"). (Marcus)
- Fixed bug #32932 (Oracle LDAP: ldap_get_entries(), invalid pointer). (Jani)
- Fixed bug #32930 (class extending DOMDocument doesn't clone properly). (Rob)
- Fixed bug #32904 (pg_get_notify() ignores result_type parameter). (Tony)
- Fixed bug #32852 (Crash with singleton and __destruct when
zend.ze1_compatibility_mode = On). (Dmitry)
- Fixed bug #32813 (parse_url() does not handle scheme-only urls properly). (Ilia)
- Fixed bug #32810 (temporary files not using plain file wrapper). (Ilia)
- Fixed bug #32809 (Missing T1LIB support on Windows). (Edin)
- Fixed bug #32802 (General cookie overrides more specific cookie). (Ilia)
- Fixed bugs #32800, #32830 (ext/odbc: Problems with 64bit systems). (Jani)
- Fixed bug #32799 (crash: calling the corresponding global var during the
destruct). (Dmitry)
- Fixed bug #32776 (SOAP doesn't support one-way operations). (Dmitry)
- Fixed bug #32773 (GMP functions break when second parameter is 0). (Stas)
- Fixed bug #32759 (incorrect determination of default value (COM)). (Wez)
- Fixed bug #32758 (Cannot access safearray properties in VB6 objects). (Wez)
- Fixed bug #32755 (Segfault in replaceChild() when DocumentFragment has
no children). (Rob)
- Fixed bug #32753 (Undefined constant SQLITE_NOTADB). (Ilia)
- Fixed bug #32742 (segmentation fault when the stream with a wrapper
is not closed). (Tony, Dmitry)
- Fixed bug #32699 (pg_affected_rows() was defined when it was not available).
(Derick)
- Fixed bug #32686 (Require/include file in destructor causes segfault).
(Marcus)
- Fixed bug #32682 (ext/mssql: Error on module shutdown when called from
activescript). (Frank)
- Fixed bug #32674 (exception in iterator causes crash). (Dmitry)
- Fixed bug #32660 (Assignment by reference causes crash when field access is
overloaded (__get)). (Dmitry)
- Fixed bug #32647 (Using register_shutdown_function() with invalid callback
can crash PHP). (Jani)
- Fixed bug #32615 (Segfault in replaceChild() using fragment when
previousSibling is NULL). (Rob)
- Fixed bug #32613 (ext/snmp: use of snmp_shutdown() causes snmpapp.conf
access errors). (Jani, ric at arizona dot edu)
- Fixed bug #32608 (html_entity_decode() converts single quotes even if
ENT_NOQUOTES is given). (Ilia)
- Fixed bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct).
(Dmitry)
- Fixed bug #32591 (ext/mysql: Unsatisfied symbol: ntohs with HP-UX). (Jani)
- Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets).
(Ilia)
- Fixed bug #32587 (Apache2: errors sent to error_log do not include
timestamps). (Jani)
- Fixed bug #32560 (configure looks for incorrect db2 library). (Tony)
- Fixed bug #32553 (mmap loads only the 1st 2000000 bytes on Win32). (Ilia)
- Fixed bug #32533 (proc_get_status() returns the incorrect process status). (Ilia)
- Fixed bug #32530 (chunk_split() does not append endstr if chunklen is
longer then the original string). (Ilia)
- Fixed bug #32491 (File upload error - unable to create a temporary file).
(Uwe Schindler)
- Fixed bug #32405 (mysqli::fetch() returns bad data - 64bit problem). (Andrey)
- Fixed bug #32282 (Segfault in mysqli_fetch_array on 64-bit). (Georg)
- Fixed bug #32296 (get_class_methods() output has changed between 5.0.2 and
5.0.3). (Dmitry)
- Fixed bug #32245 (xml_parser_free() in a function assigned to the xml parser
gives a segfault). (Rob)
- Fixed bug #32171 (Userspace stream wrapper crashes PHP). (Tony, Dmitry)
- Fixed bug #32080 (segfault when assigning object to itself with
zend.ze1_compatibility_mode=On). (Dmitry)
- Fixed bug #32013 (ext/mysqli bind_result causes fatal error: memory
limit). (Andrey)
- Fixed bug #31887 (ISAPI: Custom 5xx error does not return correct HTTP
response message). (Jani)
- Fixed bug #31828 (Crash with zend.ze1_compatibility_mode=On). (Dmitry)
- Fixed bug #31668 (multi_query works exactly every other time - multi query
d/e flag global and not per connection). (Andrey)
- Fixed bug #31636 (another crash when echoing a COM object). (Wez)
- Fixed bug #31583 (php_std_date() uses short day names in non-y2k_compliance
mode). (mike at php dot net)
- Fixed bug #31525 (object reference being dropped. $this getting lost).
(Stas, Dmitry)
- Fixed bug #31502 (Wrong deserialization from session when using WDDX
serializer). (Dmitry)
- Fixed bug #31465 (False warning in unpack() when working with *). (Ilia)
- Fixed bug #31363 (broken non-blocking flock()). ian at snork dot net
- Fixed bug #31213 (Sideeffects caused by fix of bug #29493). (Dmitry)
- Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry)
- Fixed bug #30961 (Wrong linenumber in ReflectionClass getStartLine()).
(Dmitry)
- Fixed bug #30889 (Conflict between __get/__set and ++ operator). (Dmitry)
- Fixed bug #30833 (array_count_values() modifying input array). (Tony)
- Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden
methods). (Dmitry)
- Fixed bug #30820 (static member conflict with $this->member silently
ignored). (Dmitry)
- Fixed bug #30819 (Better support for LDAP SASL bind). (Jani)
- Fixed bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if
object is overloaded). (Dmitry)
- Fixed bug #30707 (Segmentation fault on exception in method). (Stas, Dmitry)
- Fixed bug #30702 (cannot initialize class variable from class constant).
(Dmitry)
- Fixed bug #30519 (Interface not existing says Class not found). (Dmitry)
- Fixed bug #30394 (Assignment operators yield wrong result with __get/__set).
(Dmitry)
- Fixed bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with
array_push()). (Dmitry)
- Fixed bug #30162 (Catching exception in constructor causes lose of $this).
(Dmitry)
- Fixed bug #30140 (Problem with array in static properties). (Dmitry)
- Fixed bug #30126 (Enhancement for error message for abstract classes).
(Marcus)
- Fixed bug #30080 (Passing array or non array of objects). (Dmitry)
- Fixed bug #29975 (memory leaks when set_error_handler() is used inside error
handler). (Tony)
- Fixed bug #29971 (variables_order behaviour). (Dmitry)
- Fixed bug #29944 (Function defined in switch, crashes). (Dmitry)
- Fixed bug #29896 (Backtrace argument list out of sync). (Dmitry)
- Fixed bug #29683 (headers_list() returns empty array). (Tony)
- Fixed bug #29583 (crash when echoing a COM object). (M.Sisolak, Wez)
- Fixed bug #29338 (unencoded spaces get ignored after certain tags). (Ilia)
- Fixed bug #29210 (Function: is_callable - no support for private and
protected classes). (Dmitry)
- Fixed bug #29104 (Function declaration in method doesn't work). (Dmitry)
- Fixed bug #29015 (Incorrect behavior of member vars(non string ones)-numeric
mem vars und others). (Dmitry)
- Fixed bug #28839 (SIGSEGV in interactive mode (php -a)).
(kameshj at fastmail dot fm)
- Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs). (Jani)
- Fixed bug #28377 (debug_backtrace is intermittently passing args). (Dmitry)
- Fixed bug #27598 (list() array key assignment causes HUGE memory leak).
(Dmitry)
- Fixed bug #26456 (Wrong results from Reflection-API getDocComment() when
called via STDIN). (Dmitry)
- Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may result
in seg fault). (Dmitry)
- Fixed bug #22836 (returning reference to uninitialized variable). (Dmitry)
- Fixed bug #29689 (default value of protected member overrides default value of private)
and other private variable problems in inherited classes (Stas)
- Fixed bug #29253 (array_diff with $GLOBALS argument fails). (Dmitry)
- Abstract private methods are no longer allowed (Stas)
31 Mar 2005, PHP 5.0.4
- Added SNMPv2 support. (harrie)
- Added Oracle Instant Client support. (cjbj at hotmail dot com, Tony)
- Added length and charsetnr for field array and object in mysqli. (Georg)
- Added checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem()
and gmp_fact() to prevent SIGFPE. (Tony)
- Changed foreach() to throw an exception if IteratorAggregate::getIterator()
does not return an Iterator. (Marcus)
- Changed phpize not to require libtool. (Jani)
- Updated bundled oniguruma library (used for multibyte regular expression)
to 3.7.0. (Moriyoshi)
- Updated bundled libmbfl library (used for multibyte functions). (Moriyoshi)
Fixed bugs:
. Bug #32311 (mb_encode_mimeheader() does not properly escape characters)
. Bug #32063 (mb_convert_encoding ignores named entity 'alpha')
. Bug #31911 (mb_decode_mimeheader() is case-sensitive to hex escapes)
. bug #30573 (compiler warnings in libmbfl due to invalid type cast)
. Bug #30549 (incorrect character translations for some ISO8859 charsets).
- Fixed bug preventing from building oci8 as shared.
(stanislav dot voroniy at portavita dot nl, Tony)
- Fixed a bug in mysql_affected_rows and mysql_stmt_affected_rows when the
api function returns -1 (Georg)
- Fixed several leaks in ext/browscap and sapi/embed. (Andrei)
- Fixed several leaks in ext/filepro. (Tony)
- Fixed build system to always use bundled libtool files. (Jani)
- Fixed a bug in mysqli_stmt_execute() (type conversion with NULL values).
(Georg)
- Fixed segfault in mysqli_fetch_field_direct() when invalid field offset
is passed. (Tony)
- Fixed posix_getsid() & posix_getpgid() to return sid & pgid instead
of true. (Tony)
- Fixed bug #32394 (offsetUnset() segfaults in a foreach). (Marcus)
- Fixed bug #32373 (segfault in bzopen() if supplied path to non-existent
file). (Tony)
- Fixed bug #32326 (Check values of Connection/Transfer-Encoding
case-incentively in SOAP extension). (Ilia)
- Fixed bug #32290 (call_user_func_array() calls wrong class method within
child class). (Marcus)
- Fixed bug #32238 (spl_array.c: void function cannot return value). (Johannes)
- Fixed bug #32210 (proc_get_status() sets "running" always to true). (Ilia)
- Fixed bug #32200 (Prevent using both --with-apxs2 and --with-apxs2filter).
(Jani)
- Fixed bug #32134 (Overloading offsetGet/offsetSet). (Marcus)
- Fixed bug #32130 (ArrayIterator::seek() does not throw an Exception on
invalid index). (Marcus)
- Fixed bug #32115 (dateTime SOAP encoding of timezone incorrect). (Dmitry)
- Fixed bug #32081 (in mysqli default socket value is not being used). (Ilia)
- Fixed bug #32021 (Crash caused by range('', 'z')). (Derick)
- Fixed bug #32011 (Fragments which replaced Nodes are not globaly useable).
(Rob)
- Fixed bug #32001 (xml_parse_into_struct() function exceeds maximum
execution time). (Rob, Moriyoshi)
- Fixed bug #31980 (Unicode exif data not available on Windows). (Edin)
- Fixed bug #31960 (msql_fetch_row() and msql_fetch_array() dropping columns
with NULL values). (Daniel Convissor)
- Fixed bug #31878 (Segmentation fault using clone keyword on nodes). (Rob)
- Fixed bug #31858 (--disable-cli does not force --without-pear). (Jani)
- Fixed bug #31842 (*date('r') does not return RFC2822 conforming date string).
(Jani)
- Fixed bug #31832 (SOAP encoding problem with complex types in WSDL mode with
multiple parts). (Dmitry)
- Fixed bug #31797 (exif_read_data() uses too low nesting limit). (Ilia)
- Fixed bug #31796 (readline completion handler does not handle empty return
values). (Ilia)
- Fixed bug #31792 (getrusage() does not provide ru_nswap value). (Ilia)
- Fixed bug #31755 (Cannot create SOAP header in no namespace). (Dmitry)
- Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick)
- Fixed bug #31751 (pg_parameter_status() missing on Windows). (Edin)
- Fixed bug #31747 (SOAP Digest Authentication doesn't work with
"HTTP/1.1 100 Continue" response). (Dmitry)
- Fixed bug #31732 (mb_get_info() causes segfault when no parameters
specified). (Tony)
- Fixed bug #31710 (Wrong return values for mysqli_autocommit/commit/rollback).
(Georg)
- Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar). (Ilia)
- Fixed bug #31695 (Cannot redefine endpoint when using WSDL). (Dmitry)
- Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings).
(elod at itfais dot com)
- Fixed bug #31683 (changes to $name in __get($name) override future
parameters). (Dmitry)
- Fixed bug #31699 (unserialize() float problem on non-English locales). (Ilia)
- Fixed bug #31562 (__autoload() problem with static variables). (Marcus)
- Fixed bug #31651 (ReflectionClass::getDefaultProperties segfaults with arrays).
(Marcus)
- Fixed bug #31623 (OCILogin does not support password grace period).
(daniel dot beet at accuratesoftware dot com, Tony)
- Fixed bug #31527 (crash in msg_send() when non-string is stored without
being serialized). (Ilia)
- Fixed bug #31515 (Improve performance of scandir() by factor of 10 or so). (Ilia)
- Fixed bug #31514 (open_basedir uses path_translated rather then cwd for .
translation). (Ilia)
- Fixed bug #31480 (Possible infinite loop in imap_mail_compose()). (Ilia)
- Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen). (Ilia)
- Fixed bug #31454 (session_set_save_handler crashes PHP when supplied
non-existent object ref). (Tony)
- Fixed bug #31444 (Memory leak in zend_language_scanner.c).
(hexer at studentcenter dot org)
- Fixed bug #31442 (unserialize broken on 64-bit systems). (Marcus)
- Fixed bug #31440 ($GLOBALS can be overwritten via GPC when register_globals
is enabled). (Ilia)
- Fixed bug #31422 (No Error-Logging on SoapServer-Side). (Dmitry)
- Fixed bug #31413 (curl POSTFIELDS crashes on 64-bit platforms). (Joe)
- Fixed bug #31396 (compile fails with gd 2.0.33 without freetype). (Jani)
- Fixed bug #31371 (highlight_file() trims new line after heredoc). (Ilia)
- Fixed bug #31361 (simplexml/domxml segfault when adding node twice). (Rob)
- Fixed bug #31348 (CachingIterator::rewind() leaks). (Marcus)
- Fixed bug #31346 (ArrayIterator::next segfaults). (Marcus)
- Fixed bug #31190 (Unexpected warning then exception is thrown from
call_user_func_array()). (phpbugs at domain51 dot net, Dmitry)
- Fixed bug #31142 (imap_mail_compose() fails to generate correct output). (Ilia)
- Fixed bug #31139 (XML Parser Functions seem to drop &amp; when parsing). (Rob)
- Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with ' get cutoff).
(Ilia)
- Fixed bug #31288 (Possible crash in mysql_fetch_field(), if mysql_list_fields()
was not called previously). (Ilia)
- Fixed bug #31107, #31110, #31111, #31249 (Compile failure of zend_strtod.c).
(Jani)
- Fixed bug #31110 (PHP 4.3.10 does not compile on Tru64 UNIX 5.1B). (Derick)
- Fixed bug #31107 (Compile failure on Solaris 9 (Intel) and gcc 3.4.3). (Derick)
- Fixed bug #31103 (Better error message when c-client cannot be found). (Ilia)
- Fixed bug #31101 (missing kerberos header file path with --with-openssl). (Jani)
- Fixed bug #31098 (isset() / empty() incorrectly return true in dereference of
a string type). (Moriyoshi)
- Fixed bug #31087 (broken php_url_encode_hash macro). (Ilia)
- Fixed bug #31072 (var_export() does not output an array element with an empty
string key). (Derick)
- Fixed bug #31060 (imageftbbox() does not use linespacing parameter). (Jani)
- Fixed bug #31056 (php_std_date() returns invalid formatted date if
y2k_compliance is On). (Ilia)
- Fixed bug #31055 (apache2filter: per request leak proportional to the full
path of the request URI). (kameshj at fastmail dot fm)
- Fixed bug #30901 (can't send cookies with soap envelop). (Dmitry)
- Fixed bug #30871 (Misleading warning message for array_combine()). (Andrey)
- Fixed bug #30868 (evaluated pointer comparison in mbregex causes compile
failure). (Moriyoshi)
- Fixed bug #30862 (Static array with boolean indexes). (Marcus)
- Fixed bug #30726 (-.1 like numbers are not being handled correctly). (Ilia)
- Fixed bug #30725 (PHP segfaults when an exception is thrown in getIterator()
within foreach). (Marcus)
- Fixed bug #30609 (cURL functions bypass open_basedir). (Jani)
- Fixed bug #30446 (apache2handler: virtual() includes files out of sequence)
- Fixed bug #30430 (odbc_next_result() doesn't bind values and that results
in segfault). (pdan-php at esync dot org, Tony)
- Fixed bug #30266 (Invalid opcode 137/1/8). (Marcus)
- Fixed bug #30120 (imagettftext() and imagettfbbox() accept too many
parameters). (Jani)
- Fixed bug #30106 (SOAP cannot not parse 'ref' element. Causes Uncaught
SoapFault exception). (Dmitry)
- Fixed bug #29989 (type re_registers redefined in oniguruma.h). (Moriyoshi)
- Fixed bug #28803 (enabled debug causes bailout errors with CLI on AIX
because of fflush() called on already closed filedescriptor). (Tony)
- Fixed bug #29767 (Weird behaviour of __set($name, $value)). (Dmitry)
- Fixed bug #29733 (printf() handles repeated placeholders wrong).
(bugs dot php dot net at bluetwanger dot de, Ilia)
- Fixed bug #29424 (width and height inverted for JPEG2000 files). (Ilia)
- Fixed bug #29329 (configure for mysqli with shared doesn't work). (Georg)
- Fixed bug #29136 (make test - libtool failure on MacOSX). (Jani)
- Fixed bug #28976 (mail(): use "From:" from headers if sendmail_from is empty).
(Jani)
- Fixed bug #28930 (PHP sources pick wrong header files generated by bison).
(eggert at gnu dot org, Jani)
- Fixed bug #28840 (__destruct of a class that extends mysqli not called).
(Marcus)
- Fixed bug #28804 (ini-file section parsing pattern is buggy).
(wendland at scan-plus dot de)
- Fixed bug #28451 (corrupt EXIF headers have unlimited recursive IFD directory
entries). (Andrei)
- Fixed bug #28444 (Cannot access undefined property for object with overloaded
property access). (Dmitry)
- Fixed bug #28442 (Changing a static variables in a class changes it across
sub/super classes.) (Marcus)
- Fixed bug #28324 (HTTP_SESSION_VARS appear when register_long_arrays is
Off). (Tony)
- Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream).
(chris at ex-parrot dot com)
- Fixed bug #28067 (partially incorrect utf8 to htmlentities mapping). (Derick,
Benjamin Greiner)
- Fixed bug #28041 (SOAP HTTP Digest Access Authentication). (Dmitry)
- Fixed bug #27633 (Double \r problem on ftp_get in ASCII mode on Win32). (Ilia)
- Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly).
(Jani)
15 Dec 2004, PHP 5.0.3
- Added the %F modifier to *printf to render a non-locale-aware representation
of a float with the . as decimal seperator. (Derick)
- Fixed error handling in mysqli_multi_query. (Georg)
- Extended the functionality of is_subclass_of() to accept either a class name
or an object as first parameter. (Andrey)
- Fixed potential problems with unserializing invalid serialize data. (Marcus)
- Fixed bug #32076 (ReflectionMethod::isDestructor() always return true).
(Derick, Tony)
- Fixed bug #31034 (Problem with non-existing iconv header file). (Derick)
- Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). (Ilia)
- Fixed bug #30994 (SOAP server unable to handle request with references).
(Dmitry)
- Fixed bug #30990 (allow popen() on *NIX to accept 'b' flag). (Ilia)
- Fixed bug #30967 (properties in extended mysqli classes don't work). (Georg)
- Fixed bug #30928 (When Using WSDL, SoapServer doesn't handle private or
protected properties). (Dmitry)
- Fixed bug #30922 (reflective functions crash PHP when interfaces extend
themselves). (Tony, Dmitry)
- Fixed bug #30904 (segfault when recording soapclient into session). (Tony,
Dmitry)
- Fixed bug #30890 (MySQLi testsuite)
- Fixed bug #30856 (ReflectionClass::getStaticProperties segfaults). (Marcus)
- Fixed bug #30832 ("!" stripped off comments in xml parser). (Rob)
- Fixed bug #30799 (SoapServer doesn't handle private or protected properties).
(Dmitry)
- Fixed bug #30783 (Apache crash when using ReflectionFunction::
getStaticVariables()). (Marcus)
- Fixed bug #30750 (Meaningful error message when upload directory is not
accessible). (Ilia)
- Fixed bug #30685 (Malformed SOAPClient http header reequest). (Dmitry)
- Fixed bug #30672 (Problem handling exif data in jpeg images at unusual
places). (Marcus)
- Fixed bug #30658 (Ensure that temporary files created by GD are removed).
(Ilia)
- Fixed bug #30645 (def. multi result set support for mysql_connect). (Georg)
- Fixed bug #30637 (compile with pear error). (Antony)
- Fixed bug #30587 (array_multisort doesn't separate zvals before
changing them). (Tony)
- Fixed bug #30572 (crash when comparing SimpleXML attribute to a boolean).
(Andi)
- Fixed bug #30566 (attribute namespace URIs are inconsistent when parsing).
(Rob)
- Fixed bug #30490 (PEAR installation fails). (Antony)
- Fixed bug #30475 (curl_getinfo() may crash in some situations). (Ilia)
- Fixed bug #30442 (segfault when parsing ?getvariable[][ ). (Tony)
- Fixed bug #30388 (rename across filesystems loses ownership and
permission info). (Tony)
- Fixed bug #30387 (stream_socket_client async connect was broken).
(vnegrier at esds dot com, Wez).
- Fixed bug #30381 (Strange results with get_class_vars()). (Marcus)
- Fixed bug #30375 (cal_info() does not work without a parameter). (Ilia)
- Fixed bug #30362 (stream_get_line() not handling end string correctly).
(Ilia)
- Fixed bug #30359 (SOAP client requests have no port in "Host" field).
(Dmitry)
- Fixed bug #30356 (str_ireplace() does not work on all strings). (Ilia)
- Fixed bug #30344 (Reflection::getModifierNames() returns too long strings).
(Marcus)
- Fixed bug #30329 (Error Fetching http body, No Content-Length, connection
closed or chunked data). (Dmitry)
- Fixed bug #30282 (segfault when using unknown/unsupported
session.save_handler and/or session.serialize_handler). (Tony)
- Fixed bug #30281 (Prevent non-wbmp images from being detected as such).
(Ilia)
- Fixed bug #30276 (Possible crash in ctype_digit on large numbers). (Ilia)
- Fixed bug #30230 (exception handler not working with objects). (Marcus)
- Fixed bug #30224 (Sybase date strings are sometimes not null terminated).
(Ilia)
- Fixed bug #30175 (SOAP results aren't parsed correctly). (Dmitry)
- Fixed bug #30147 (OO sqlite_fetch_object did not reset error handler). (Wez)
- Fixed bug #30133 (get_current_user() crashes on Windows). (Edin)
- Fixed bug #30061 (xml_set_start_namespace_decl_handler not called). (Rob)
- Fixed bug #30057 (did not detect IPV6 on FreeBSD 4.1). (Wez)
- Fixed bug #30042 (strtotime does not use second param). (Derick)
- Fixed bug #30027 (Possible crash inside ftp_get()).
(cfield at affinitysolutions dot com)
- Fixed bug #29954 (array_reduce segfaults when initial value is array). (Tony)
- Fixed bug #29883 (isset gives invalid values on strings). (Tony, Dmitry)
- Fixed bug #29801 (Set limit on the size of mmapable data). (Ilia)
- Fixed bug #29557 (strtotime error). (Derick)
- Fixed bug #29418 (double free when openssl_csr_new fails).
(Kamesh Jayachandran).
- Fixed bug #29385 (Soapserver always uses std class). (David, Dmitry)
- Fixed bug #29211 (SoapClient doesn't request wsdl through proxy). (Rob)
- Fixed bug #28817 (Var problem when extending domDocument). (Georg)
- Fixed bug #28599 (strtotime fails with zero base time). (Derick)
- Fixed bug #28598 (Lost support for MS Symbol fonts). (Pierre)
- Fixed bug #28220 (mb_strwidth() returns wrong width values for some hangul
characters). (Moriyoshi)
- Fixed bug #28228 (NULL decimal separator is not being handled correctly).
(Ilia)
- Fixed bug #28209 (strtotime("now")). (Derick)
- Fixed bug #27798 (private / protected variables not exposed by
get_object_vars() inside class). (Marcus)
- Fixed bug #27728 (Can't return within a zend_try {} block or the previous
bailout state isn't restored. (Andi)
- Fixed bug #27183 (Userland stream wrapper segfaults on stream_write).
(Christian)
23 Sep 2004, PHP 5.0.2
- Added new boolean (fourth) parameter to array_slice() that turns on the
preservation of keys in the returned array. (Derick)
- Added the sorting flag SORT_LOCALE_STRING to the sort() functions which makes
them sort based on the current locale. (Derick)
- Added interface_exists() and make class_exists() only return true for real
classes. (Andrey)
- Added PHP_EOL constant that contains the OS way of representing newlines.
(Paul Hudson, Derick)
- Implemented periodic PCRE compiled regexp cache cleanup, to avoid memory
exhaustion. (Andrei)
- Renamed SoapClient->__call() to SoapClinet->__soapCall(). (Dmitry)
- Fixed bug with raw_post_data not getting set (Brian)
- Fixed a file-descriptor leak with phpinfo() and other 'special' URLs (Zeev)
- Fixed bug #30209 (ReflectionClass::getMethod() lowercases attribute).
(Marcus)
- Fixed bug #30182 (SOAP module processing WSDL file dumps core). (Dmitry)
- Fixed bug #30045 (Cannot pass big integers (> 2147483647) in SOAP requests).
(Dmitry)
- Fixed bug #29985 (unserialize()/ __PHP_Incomplete_class does not report
correctly class name). (Marcus, Tony)
- Fixed bug #29945 (simplexml_load_file URL limitation 255 char). (Rob)
- Fixed bug #29873 (No defines around pcntl_*priority definitions). (Derick)
- Fixed bug #29844 (SOAP doesn't return the result of a valid SOAP request).
(Dmitry)
- Fixed bug #29842 (soapclient return null value). (Dmitry)
- Fixed bug #29839 (incorrect convert (xml:lang to lang)). (Dmitry)
- Fixed bug #29830 (SoapServer::setClass() should not export non-public
methods). (Dmitry)
- Fixed bug #29828 (Interfaces no longer work). (Marcus)
- Fixed bug #29821 (Fixed possible crashes in convert_uudecode() on invalid
data). (Ilia)
- Fixed bug #29808 (array_count_values() breaks with numeric strings). (Ilia)
- Fixed bug #29805 (HTTP Authentication Issues). (Uwe Schindler)
- Fixed bug #29795 (SegFault with Soap and Amazon's Web Services). (Dmitry)
- Fixed bug #29737 (ip2long should return -1 if IP is 255.255.255.255 and FALSE
on error). (Tony)
- Fixed bug #29711 (Changed ext/xml to default to UTF-8 output). (Rob)
- Fixed bug #29678 (opendir() with ftp:// wrapper segfaults if path does not
have trailing slash). (Ilia)
- Fixed bug #29657 (xml_* functions throw non descriptive error).
(Christian, Rob)
- Fixed bug #29656 (segfault on result and statement properties). (Georg)
- Fixed bug #29566 (foreach/string handling strangeness (crash)). (Dmitry)
- Fixed bug #29447 (Reflection API issues). (Marcus)
- Fixed bug #29296 (Added sslv2 and sslv3 transports). (Wez)
- Fixed bug #29283 (Invalid statement handle in mysqli on execute). (Georg)
- Fixed bug #29913 (parse_url() is now binary safe). (Ilia)
- Fixed bug #27994 (segfault with Soapserver when WSDL-Cache is enabled).
(Dmitry)
- Fixed bug #27791 (Apache 2.0 SAPI build against Apache 2 HEAD). (Joe Orton,
Derick)
- Fixed bug #26737 (private/protected properties not serialized when user
declared method __sleep() exists). E_NOTICE thrown when __sleep() returns
name of non-existing member. (Andrey, Curt)
12 Aug 2004, PHP 5.0.1
- Changed destructor mechanism so that destructors are called prior to request
shutdown. (Marcus)
- Rewritten UNIX and Windows install help files. (Documentation Team)
- Updated several libraries bundled with the windows release which now
includes libxml2-2.6.11, libxslt-1.1.7 and iconv-1.9.1. (Rob, Edin)
- Improved and moved ActiveScript SAPI to PECL. (Wez)
- Fixed bug #29606 (php_strip_whitespace() prints to stdout rather then
returning the value). (Ilia)
- Fixed bug #29577 (MYSQLI_CLIENT_FOUND_ROWS undefined) (Georg)
- Fixed bug #29573 (Segmentation fault, when exception thrown within
PHP function called from XSLT). (Christian)
- Fixed bug #29522 (accessing properties without connection) (Georg)
- Fixed bug #29505 (get_class_vars() severely broken when used with arrays).
(Marcus)
- Fixed bug #29490 (.Net object instantiation failed). (Michael Sisolak).
- Fixed bug #29474 (win32: usleep() doesn't work). (Wez)
- Fixed bug #29449 (win32: feof() hangs on empty tcp stream). (Wez)
- Fixed bug #29437 (Possible crash inside array_walk_recursive()). (Ilia)
- Fixed bug #29431 (crash when parsing invalid address; invalid address
returned by stream_socket_recvfrom(), stream_socket_getname()). (Wez)
- Fixed bug #29409 (Segfault in PHP functions called from XSLT). (Rob)
- Fixed unloading of dynamically loaded extensions.
(Marcus, kameshj at fastmail dot fm)
- Fixed bug #29395 (sqlite_escape_string() returns bogus data on empty
strings). (Ilia, Tony)
- Fixed bug #29392 (com_dotnet crashes when echo'ing an object). (Wez)
- Fixed bug #29368 (The destructor is called when an exception is thrown from
the constructor). (Marcus)
- Fixed bug #29354 (Exception constructor marked as both public and protected).
(Marcus)
- Fixed bug #29342 (strtotime() does not handle empty date string properly).
(Ilia)
- Fixed bug #29340 (win32 build produces invalid php_ifx.dll). (Edin)
- Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default) (Georg)
- Fixed bug #29291 (get_class_vars() return names with NULLs). (Marcus)
- Fixed bug #29264 (gettext extension not working). (Edin)
- Fixed bug #29258 (variant_date_from_timestamp() does not honour
timezone). (Wez)
- Fixed bug #29256 (error when sending large packets on a socket). (Dmitry)
- Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry)
- Fixed bug #29147 (Compile Error in mnoGoSearch functions). (Sergey, Antony)
- Fixed bug #29132 ($_SERVER["PHP_AUTH_USER"] isn't defined). (Stefan)
- Fixed bug #29119 (html_entity_decode() misbehaves with UTF-8). (Moriyoshi)
- Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry)
- Fixed bug #29061 (soap extension segfaults). (Dmitry)
- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
- Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry)
- Fixed bug #28895 (ReflectionClass::isAbstract always returns false). (Marcus)
- Fixed bug #28829 (Thread-unsafety in bcmath elementary values). (Sara)
- Fixed bug #28464 (catch() does not catch exceptions by interfaces). (Marcus)
- Fixed bug #27669 (PHP 5 didn't support all possibilities for calling static
methods dynamically). (Dmitry)
- Fixed ReflectionClass::getMethod() and ReflectionClass::getProperty() to
raise an ReflectionException instead of returning NULL on failure.
(Sebastian)
- Fixed convert.* filters to consume remaining buckets_in on flush. (Sara)
- Fixed bug in mysqli->client_version. (Georg)
13 Jul 2004, PHP 5.0.0
- Updated PCRE to provide better error handling in certain cases. (Andrei)
@@ -10,7 +636,6 @@ PHP NEWS
- Fixed bug #29008 (array_combine() does not handle non-numeric/string keys).
(Ilia)
- Fixed bug #28999 (fixed behaviour of exec() to work as it did in 4.X). (Ilia)
- Fixed bug #28895 (ReflectionClass::isAbstract always returns false). (Marcus)
- Fixed bug #28868 (Internal filter registry not thread safe). (Sara)
- Fixed bug #28851 (call_user_func_array has typo in error message). (Marcus)
- Fixed bug #28831 (ArrayObject::offsetGet() does the work of offsetUnset()).
@@ -27,7 +652,6 @@ PHP NEWS
- Fixed bug #28699 (Reflection api bugs). (Marcus)
- Fixed bug #28694 (ReflectionExtension::getFunctions() crashes PHP). (Marcus)
- Fixed bug #28512 (Allocate enough space to store MSSQL data). (Frank)
- Fixed bug #28325 (Circular references not properly serialised). (Moriyoshi)
- Fixed strip_tags() to correctly handle '\0' characters. (Stefan)
7 Jun 2004, PHP 5 Release Candidate 3
@@ -112,7 +736,6 @@ PHP NEWS
- Fixed bug #27619 (filters not applied to pre-buffered stream data). (Sara)
- Fixed bug #27519 (Reflection_Function constructor crashes with non-existant
function's name). (Marcus)
- Fixed bug #27469 (serialize() objects of incomplete class). (Dmitry)
- Fixed bug #27457 (handling of numeric indexes in strtr()). (Dmitry)
- Fixed bug #27397 (debug_backtrace() not showing function arguments). (Zeev)
- Fixed bug #27283 (The last catch statement was sometimes skipped). (Andi)
+28 -28
View File
@@ -29,7 +29,14 @@ Having said that, here are the organizational rules:
5. If you don't know how to do something, ask first!
6. Test your changes before committing them. We mean it. Really.
Currently we have the following branches in use:
HEAD Will become PHP 5.1. This CVS branch is for active development.
PHP_5_0 Is used to release the PHP 5.0.x series. Only minor feature
enhancements may go in here, but please keep that as infrequent as
possible.
PHP_4_3 Is used to release the PHP 4.3.x series. Only bugfixes are permitted
on this branch.
The next few rules are more of a technical nature.
@@ -37,8 +44,11 @@ The next few rules are more of a technical nature.
messages every day. Woe be to those who attempt to mess with it.
2. All news updates intended for public viewing, such as new features,
bug fixes, improvements, etc., should go into the NEWS file. Also see
the note below about automatically updating NEWS in your commit message.
bug fixes, improvements, etc., should go into the NEWS file.
NB! Lines, starting with @ will go automagically into NEWS file, but
this is NOT recommended, though. Please, add news entries directly to
NEWS file and don't forget to keep them adjusted and sorted.
3. Do not commit multiple file and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
@@ -58,37 +68,29 @@ The next few rules are more of a technical nature.
The format of the commit messages is pretty simple.
Use a - to start a new item in your commit message.
If a line begins with #, it is taken to be a comment and will not appear
in the ChangeLog. If the line begins with @, it will be redirected to the
NEWS file. Everything else goes into the ChangeLog.
in the ChangeLog. Everything else goes into the ChangeLog.
It is important to note that if your comment or news logline spans multiple
lines, you have to put # or @ at the beginning of _every_ such line. Every
entry in NEWS has to have a name after it, so if you did it with someone's
help, put both your names there. Your name WILL NOT be automatically put
at the end of the NEWS entry - so, please provide it yourself.
lines, you have to put # at the beginning of _every_ such line.
Example. Say you modified two files, datetime.c and string.c. In datetime.c
you added a new format option for date() function, and in string.c you fixed
a memory leak in php_trim(). Don't commit both of these at once. Commit them
Example. Say you modified two files, datetime.c and string.c. In datetime.c you
added a new format option for the date() function, and in string.c you fixed a
memory leak in php_trim(). Don't commit both of these at once. Commit them
separately and try to make sure your commit messages look something like the
following.
For datetime.c:
(PHP date) Added new 'K' format modifier for printing out number of
days until New Year's Eve.
@- Added new 'K' format modifier that will output the number of days
@ until New Year's Eve. (Bob)
- Added new 'K' format modifier to date() for printing out number of days until
New Year's Eve.
For string.c:
(php_trim) Fixed a memory leak resulting from improper use of zval_dtor().
# Man, that thing was leaking all over the place!
@- Fixed memory leak in trim(). (Bob)
- Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
#- Man, that thing was leaking all over the place!
The lines above marked with @ will go into NEWS file automagically, and the
# lines will be omitted from the ChangeLog. Alternatively, you might want
to modify NEWS file directly and not use the @ lines.
The # lines will be omitted from the ChangeLog automagically.
If you fix some bugs, you should note the bug ID numbers in your
commit message. Bug ID should be prefixed by "#" for easier access to
@@ -96,13 +98,11 @@ bug report when developers are browsing CVS via. LXR or Bonsai.
Example:
Fixed pgsql notice handler double free crash bug. Bug #14016
@ Fixed pgsql notice handler double free crash bug. Bug #14016
Fixed bug #14016 (pgsql notice handler double free crash bug.)
If you don't see your messages in ChangeLog and NEWS right away, don't worry!
If you don't see your messages in ChangeLog right away, don't worry!
These files are updated once a day, so your stuff will not show up until
somewhat later. Don't go adding stuff to NEWS by hand if you already put @
lines in the commit message.
somewhat later.
You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
to look at PHP CVS repository in various ways.
+53 -5
View File
@@ -77,20 +77,24 @@
9. get_class() starting PHP 5 returns the name of the class as it was
declared which may lead to problems in older scripts that rely on
the previous behaviour - the class name is lowercased.
the previous behaviour - the class name is lowercased. Expect the
same behaviour from get_parent_class() when applicable.
Example :
<?php
class FooBar {
}
class ExtFooBar extends FooBar{}
$a = new FooBar();
var_dump(get_class($a));
var_dump(get_class($a), get_parent_class($a));
?>
Output (PHP 4):
string(6) "foobar"
string(9) "extfoobar"
Output (PHP 5):
string(6) "FooBar"
string(9) "ExtFooBar"
----------------------------------------------------------------------
Example code that will break :
//....
@@ -101,7 +105,51 @@
//...
}
//...
Possible solution is to search for get_class() in all your scripts and
use strtolower().
Possible solution is to search for get_class() and get_parent_class() in
all your scripts and use strtolower().
10. get_class_methods() returns the names of the methods of a class as they
declared. In PHP4 the names are all lowercased.
Example code :
<?php
class Foo{
function doFoo(){}
function hasFoo(){}
}
var_dump(get_class_methods("Foo"));
?>
Output (PHP4):
array(2) {
[0]=>
string(5) "dofoo"
[1]=>
string(6) "hasfoo"
}
Output (PHP5):
array(2) {
[0]=>
string(5) "doFoo"
[1]=>
string(6) "hasFoo"
}
11. Assignment $this is impossible. Starting PHP 5.0.0 $this has special
meaning in class methods and is recognized by the PHP parser. The latter
will generate a parse error when assignment to $this is found
Example code :
<?php
class Foo {
function assignNew($obj) {
$this = $obj;
}
}
$a = new Foo();
$b = new Foo();
$a->assignNew($b);
echo "I was executed\n";
?>
Output (PHP 4):
I was executed
Output (PHP 5):
PHP Fatal error: Cannot re-assign $this in /tmp/this_ex.php on line 4
+2 -42
View File
@@ -296,11 +296,11 @@ static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_
}
}
tsrm_mutex_unlock(tsmm_mutex);
if (tsrm_new_thread_end_handler) {
tsrm_new_thread_end_handler(thread_id, &((*thread_resources_ptr)->storage));
}
tsrm_mutex_unlock(tsmm_mutex);
}
@@ -481,13 +481,6 @@ TSRM_API THREAD_T tsrm_thread_id(void)
{
#ifdef TSRM_WIN32
return GetCurrentThreadId();
#elif defined(NETWARE)
/* There seems to be some problem with the LibC call: NXThreadGetId().
* Due to this, the PHPMyAdmin application is abending in PHP calls.
* Used the call, kCurrentThread instead and it works fine.
*/
/* return NXThreadGetId(); */
return kCurrentThread();
#elif defined(GNUPTH)
return pth_self();
#elif defined(PTHREADS)
@@ -508,24 +501,9 @@ TSRM_API THREAD_T tsrm_thread_id(void)
TSRM_API MUTEX_T tsrm_mutex_alloc(void)
{
MUTEX_T mutexp;
#ifdef NETWARE
#ifndef USE_MPK
/* To use the Recursive Mutex Locking of LibC */
long flags = NX_MUTEX_RECURSIVE;
NXHierarchy_t order = 0;
NX_LOCK_INFO_ALLOC (lockInfo, "PHP-TSRM", 0);
#endif
#endif
#ifdef TSRM_WIN32
mutexp = malloc(sizeof(CRITICAL_SECTION));
InitializeCriticalSection(mutexp);
#elif defined(NETWARE)
#ifdef USE_MPK
mutexp = kMutexAlloc((BYTE*)"PHP-TSRM");
#else
mutexp = NXMutexAlloc(flags, order, &lockInfo);
#endif
#elif defined(GNUPTH)
mutexp = (MUTEX_T) malloc(sizeof(*mutexp));
pth_mutex_init(mutexp);
@@ -557,12 +535,6 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
#ifdef TSRM_WIN32
DeleteCriticalSection(mutexp);
free(mutexp);
#elif defined(NETWARE)
#ifdef USE_MPK
kMutexFree(mutexp);
#else
NXMutexFree(mutexp);
#endif
#elif defined(GNUPTH)
free(mutexp);
#elif defined(PTHREADS)
@@ -592,12 +564,6 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
#ifdef TSRM_WIN32
EnterCriticalSection(mutexp);
return 1;
#elif defined(NETWARE)
#ifdef USE_MPK
return kMutexLock(mutexp);
#else
return NXLock(mutexp);
#endif
#elif defined(GNUPTH)
return pth_mutex_acquire(mutexp, 0, NULL);
#elif defined(PTHREADS)
@@ -623,12 +589,6 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
#ifdef TSRM_WIN32
LeaveCriticalSection(mutexp);
return 1;
#elif defined(NETWARE)
#ifdef USE_MPK
return kMutexUnlock(mutexp);
#else
return NXUnlock(mutexp);
#endif
#elif defined(GNUPTH)
return pth_mutex_release(mutexp);
#elif defined(PTHREADS)
+2 -16
View File
@@ -14,8 +14,8 @@
#define TSRM_H
/* #ifndef WIN32 */
#if !defined(WIN32) && !defined(NETWARE)
# include "tsrm_config.h"
#ifndef WIN32
# include <tsrm_config.h>
#endif
#ifdef WIN32
@@ -42,13 +42,6 @@
# endif
# include <windows.h>
# include <shellapi.h>
#elif defined(NETWARE)
# include <nks/thread.h>
#ifdef USE_MPK
# include <mpklib4php.h>
#else
# include <nks/synch.h>
#endif
#elif defined(GNUPTH)
# include <pth.h>
#elif defined(PTHREADS)
@@ -66,13 +59,6 @@ typedef int ts_rsrc_id;
#ifdef TSRM_WIN32
# define THREAD_T DWORD
# define MUTEX_T CRITICAL_SECTION *
#elif defined(NETWARE)
# define THREAD_T NXThreadId_t
#ifdef USE_MPK
# define MUTEX_T MUTEX
#else
# define MUTEX_T NXMutex_t *
#endif
#elif defined(GNUPTH)
# define THREAD_T pth_t
# define MUTEX_T pth_mutex_t *
+1 -1
View File
@@ -1,5 +1,5 @@
AC_DEFUN(AM_SET_LIBTOOL_VARIABLE,[
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
+13 -5
View File
@@ -30,7 +30,7 @@ dnl PTHREADS_FLAGS
dnl
dnl Set some magic defines to achieve POSIX threads conformance
dnl
AC_DEFUN(PTHREADS_FLAGS,[
AC_DEFUN([PTHREADS_FLAGS],[
if test -z "$host_alias" && test -n "$host"; then
host_alias=$host
fi
@@ -65,7 +65,7 @@ dnl PTHREADS_CHECK_COMPILE
dnl
dnl Check whether the current setup can use POSIX threads calls
dnl
AC_DEFUN(PTHREADS_CHECK_COMPILE, [
AC_DEFUN([PTHREADS_CHECK_COMPILE], [
AC_TRY_RUN( [
#include <pthread.h>
#include <stddef.h>
@@ -84,7 +84,15 @@ int main() {
pthreads_working=yes
], [
pthreads_working=no
], pthreads_working=no ) ] )dnl
], [
dnl For cross compiling running this test is of no use. NetWare supports pthreads
pthreads_working=no
case $host_alias in
*netware*)
pthreads_working=yes
esac
]
) ] )dnl
dnl
dnl PTHREADS_CHECK()
dnl
@@ -100,7 +108,7 @@ dnl -pthreads gcc (Solaris)
dnl -qthreaded AIX cc V5
dnl -threads gcc (HP-UX)
dnl
AC_DEFUN(PTHREADS_CHECK,[
AC_DEFUN([PTHREADS_CHECK],[
if test "$beos_threads" = "1"; then
pthreads_working="yes"
@@ -154,7 +162,7 @@ fi
])dnl
dnl
dnl
AC_DEFUN(PTHREADS_ASSIGN_VARS,[
AC_DEFUN([PTHREADS_ASSIGN_VARS],[
if test -n "$ac_cv_pthreads_lib"; then
LIBS="$LIBS -l$ac_cv_pthreads_lib"
fi
+6 -6
View File
@@ -1,6 +1,6 @@
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
AC_DEFUN(TSRM_CHECK_GCC_ARG,[
AC_DEFUN([TSRM_CHECK_GCC_ARG],[
gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_)
AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [
echo 'void somefunc() { };' > conftest.c
@@ -21,7 +21,7 @@ AC_DEFUN(TSRM_CHECK_GCC_ARG,[
fi
])
AC_DEFUN(TSRM_BASIC_CHECKS,[
AC_DEFUN([TSRM_BASIC_CHECKS],[
AC_REQUIRE([AC_PROG_CC])dnl
dnl AC_REQUIRE([AM_PROG_CC_STDC])dnl
@@ -33,7 +33,7 @@ AC_CHECK_HEADERS(stdarg.h)
])
AC_DEFUN(TSRM_CHECK_PTH,[
AC_DEFUN([TSRM_CHECK_PTH],[
AC_MSG_CHECKING(for GNU Pth)
PTH_PREFIX="`$1 --prefix`"
@@ -50,7 +50,7 @@ AC_MSG_RESULT(yes - installed in $PTH_PREFIX)
])
AC_DEFUN(TSRM_CHECK_ST,[
AC_DEFUN([TSRM_CHECK_ST],[
if test -r "$1/include/st.h"; then
CPPFLAGS="$CPPFLAGS -I$1/include"
LDFLAGS="$LDFLAGS -L$1/lib"
@@ -70,7 +70,7 @@ AC_DEFUN(TSRM_CHECK_ST,[
sinclude(threads.m4)
sinclude(TSRM/threads.m4)
AC_DEFUN(TSRM_CHECK_PTHREADS,[
AC_DEFUN([TSRM_CHECK_PTHREADS],[
PTHREADS_CHECK
@@ -89,7 +89,7 @@ fi
])
AC_DEFUN(TSRM_THREADS_CHECKS,[
AC_DEFUN([TSRM_THREADS_CHECKS],[
dnl For the thread implementations, we always use --with-*
dnl to maintain consistency
+1 -3
View File
@@ -7,10 +7,8 @@
#ifdef TSRM_WIN32
# include "tsrm_config.w32.h"
#elif defined(NETWARE)
# include "tsrm_config.nw.h"
#else
# include "tsrm_config.h"
# include <tsrm_config.h>
# include <sys/param.h>
#endif
+79 -43
View File
@@ -42,8 +42,7 @@
#endif
#ifdef NETWARE
/*#include "pipe.h"*/
#include "tsrm_nw.h"
#include <fsio.h>
#endif
#ifndef HAVE_REALPATH
@@ -142,15 +141,9 @@ static int php_check_dots(const char *element, int n)
static int php_is_dir_ok(const cwd_state *state)
{
#if !(defined(NETWARE) && defined(CLIB_STAT_PATCH))
struct stat buf;
if (stat(state->cwd, &buf) == 0 && S_ISDIR(buf.st_mode))
#else
struct stat_libc buf;
if (stat(state->cwd, (struct stat*)(&buf)) == 0 && S_ISDIR(buf.st_mode))
#endif
return (0);
return (1);
@@ -158,15 +151,9 @@ static int php_is_dir_ok(const cwd_state *state)
static int php_is_file_ok(const cwd_state *state)
{
#if !(defined(NETWARE) && defined(CLIB_STAT_PATCH))
struct stat buf;
if (stat(state->cwd, &buf) == 0 && S_ISREG(buf.st_mode))
#else
struct stat_libc buf;
if (stat(state->cwd, (struct stat*)(&buf)) == 0 && S_ISREG(buf.st_mode))
#endif
return (0);
return (1);
@@ -202,7 +189,20 @@ CWD_API void virtual_cwd_startup(void)
char cwd[MAXPATHLEN];
char *result;
#ifdef NETWARE
result = getcwdpath(cwd, NULL, 1);
if(result)
{
char *c=cwd;
while(c = strchr(c, '\\'))
{
*c='/';
++c;
}
}
#else
result = getcwd(cwd, sizeof(cwd));
#endif
if (!result) {
cwd[0] = '\0';
}
@@ -308,15 +308,22 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
if (path_length == 0)
return (0);
if (path_length >= MAXPATHLEN)
return (1);
#if !defined(TSRM_WIN32) && !defined(NETWARE)
/* 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);
if (use_realpath) {
if (realpath(path, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
} else {
/* disable for now
return 1; */
}
}
} else { /* Concat current directory with relative path and then run realpath() on it */
char *tmp;
@@ -332,9 +339,19 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
memcpy(ptr, path, path_length);
ptr += path_length;
*ptr = '\0';
if (use_realpath && realpath(tmp, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
if (strlen(tmp) >= MAXPATHLEN) {
free(tmp);
return 1;
}
if (use_realpath) {
if (realpath(tmp, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
} else {
/* disable for now
free(tmp);
return 1; */
}
}
free(tmp);
}
@@ -428,8 +445,19 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
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] != ':') {
/*
Below code keeps appending to state->cwd a File system seperator
cases where this appending should not happen is given below,
a) sys: should just be left as it is
b) sys:system should just be left as it is,
Colon is allowed only in the first token as volume names alone can have the : in their names.
Files and Directories cannot have : in their names
So the check goes like this,
For second token and above simply append the DEFAULT_SLASH to the state->cwd.
For first token check for the existence of :
if it exists don't append the DEFAULT_SLASH to the state->cwd.
*/
if(((state->cwd_length == 0) && (strchr(ptr, ':') == NULL)) || (state->cwd_length > 0)) {
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
}
#else
@@ -699,7 +727,6 @@ CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC)
return retval;
}
#if !(defined(NETWARE) && defined(CLIB_STAT_PATCH))
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC)
{
cwd_state new_state;
@@ -713,23 +740,8 @@ CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC)
CWD_STATE_FREE(&new_state);
return retval;
}
#else
CWD_API int virtual_stat(const char *path, struct stat_libc *buf TSRMLS_DC)
{
cwd_state new_state;
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, path, NULL, 1);
retval = stat(new_state.cwd, (struct stat*)buf);
CWD_STATE_FREE(&new_state);
return retval;
}
#endif
#if !defined(TSRM_WIN32) && !defined(NETWARE)
#ifndef TSRM_WIN32
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC)
{
cwd_state new_state;
@@ -851,13 +863,24 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
{
int command_length;
int dir_length, extra = 0;
char *command_line;
char *ptr;
char *ptr, *dir;
FILE *retval;
command_length = strlen(command);
ptr = command_line = (char *) malloc(command_length + sizeof("cd ; ") + CWDG(cwd).cwd_length+1);
dir_length = CWDG(cwd).cwd_length;
dir = CWDG(cwd).cwd;
while (dir_length > 0) {
if (*dir == '\'') extra+=3;
dir++;
dir_length--;
}
dir_length = CWDG(cwd).cwd_length;
dir = CWDG(cwd).cwd;
ptr = command_line = (char *) malloc(command_length + sizeof("cd '' ; ") + dir_length +extra+1+1);
if (!command_line) {
return NULL;
}
@@ -867,8 +890,21 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
if (CWDG(cwd).cwd_length == 0) {
*ptr++ = DEFAULT_SLASH;
} else {
memcpy(ptr, CWDG(cwd).cwd, CWDG(cwd).cwd_length);
ptr += CWDG(cwd).cwd_length;
*ptr++ = '\'';
while (dir_length > 0) {
switch (*dir) {
case '\'':
*ptr++ = '\'';
*ptr++ = '\\';
*ptr++ = '\'';
/* fall-through */
default:
*ptr++ = *dir;
}
dir++;
dir_length--;
}
*ptr++ = '\'';
}
*ptr++ = ' ';
+2 -8
View File
@@ -74,10 +74,8 @@ typedef unsigned short mode_t;
#define DEFAULT_DIR_SEPARATOR ';'
#define IS_SLASH(c) ((c) == '/' || (c) == '\\')
#define IS_SLASH_P(c) IS_SLASH(*(c))
#define COPY_WHEN_ABSOLUTE(path) \
(strchr(path, ':') - path + 1) /* Take the volume name which ends with a colon */
#define IS_ABSOLUTE_PATH(path, len) \
(strchr(path, ':') != NULL) /* Colon indicates volume name */
((strchr(path, ':') != NULL) || ((len >= 1) && ((path[0] == '/') || (path[0] == '\\'))))
#else
#ifdef HAVE_DIRENT_H
@@ -141,11 +139,7 @@ CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC);
CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...);
CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC);
CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC);
#if !(defined(NETWARE) && defined(CLIB_STAT_PATCH))
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC);
#else
CWD_API int virtual_stat(const char *path, struct stat_libc *buf TSRMLS_DC);
#endif
#if !defined(TSRM_WIN32) && !defined(NETWARE)
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC);
#endif
@@ -229,7 +223,7 @@ typedef struct _virtual_cwd_globals {
#define VCWD_REALPATH(path, real_path) virtual_realpath(path, real_path TSRMLS_CC)
#define VCWD_RENAME(oldname, newname) virtual_rename(oldname, newname TSRMLS_CC)
#define VCWD_STAT(path, buff) virtual_stat(path, buff TSRMLS_CC)
#if !defined(TSRM_WIN32) && !defined(NETWARE)
#ifndef TSRM_WIN32
#define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC)
#endif
#define VCWD_UNLINK(path) virtual_unlink(path TSRMLS_CC)
+2 -2
View File
@@ -6446,13 +6446,13 @@
2003-02-08 Ilia Alshanetsky <ilia@prohost.org>
* zend_builtin_functions.c:
The string.h is already avaliable through zend.h, so the manual inclusion
The string.h is already available through zend.h, so the manual inclusion
is not necessary.
2003-02-07 Ilia Alshanetsky <ilia@prohost.org>
* zend_builtin_functions.c:
Added a check to ensure that string.h is avaliable before trying to use it.
Added a check to ensure that string.h is available before trying to use it.
Thanks Andi.
+2 -1
View File
@@ -16,7 +16,8 @@ libZend_la_SOURCES=\
zend_ini.c zend_qsort.c zend_objects.c zend_object_handlers.c \
zend_objects_API.c zend_ts_hash.c zend_stream.c zend_mm.c \
zend_default_classes.c zend_reflection_api.c \
zend_iterators.c zend_interfaces.c zend_exceptions.c
zend_iterators.c zend_interfaces.c zend_exceptions.c \
zend_strtod.c zend_multibyte.c
libZend_la_LDFLAGS =
libZend_la_LIBADD = @ZEND_EXTRA_LIBS@
+42 -1
View File
@@ -545,7 +545,7 @@ Changes in the Zend Engine 2.0
<?php
class Exception {
function __construct(string $message=NULL, int $code=0) {
function __construct(/*string*/ $message=NULL, /*int*/ $code=0) {
if (func_num_args()) {
$this->message = $message;
}
@@ -890,6 +890,47 @@ Changes in the Zend Engine 2.0
the use of all abstract methods declared in the interfaces Iterator
and IteratorAggregate respectively.
* Array overloading
Objects can be used with Array notation when they implement the
interface ArrayAccess. You cannot use such objects in standard
array functions, however you have full control over the array
notation. This allows lazy initialization or read only array.
Note that setting [] results in a call to offsetSet() with
index being NULL. That means that as with standard arrays you
cannot store NULL keys.
Example:
<?php
class ArrayClass implements ArrayAccess {
public $a = array();
function offsetExists($index) {
return array_key_exists($index, $this->a);
}
function offsetGet($index) {
return $this->a[$index];
}
function offsetSet($index, $newval) {
return $this->a[$index] = $newval;
}
function offsetUnset($index) {
unset($this->a[$index]);
}
}
$obj = new ArrayClass;
$obj[0] = 'bla'; // calls offsetSet(0,'bla')
$obj[] = 42; // calls offsetSet(NULL, 42)
$x = $obj[0]; // calls offsetGet(0)
$b = isset($obj[0]); // calls offsetExists(0)
unset($obj[0]); // calls offsetUnset(0)
?>
* __METHOD__
The pseudo constant __METHOD__ shows the current class and method
+27 -19
View File
@@ -7,20 +7,20 @@
CFG=Zend - Win32 Release_inline
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE
!MESSAGE NMAKE /f "Zend.mak".
!MESSAGE
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE
!MESSAGE NMAKE /f "Zend.mak" CFG="Zend - Win32 Release_inline"
!MESSAGE
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE
!MESSAGE "Zend - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "Zend - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE "Zend - Win32 Release_inline" (based on "Win32 (x86) Static Library")
!MESSAGE
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
@@ -95,7 +95,7 @@ LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
!ENDIF
# Begin Target
@@ -135,10 +135,6 @@ SOURCE=.\zend_default_classes.c
# End Source File
# Begin Source File
SOURCE=.\zend_interfaces.c
# End Source File
# Begin Source File
SOURCE=.\zend_dynamic_array.c
# End Source File
# Begin Source File
@@ -179,6 +175,10 @@ SOURCE=.\zend_ini_scanner.c
# End Source File
# Begin Source File
SOURCE=.\zend_interfaces.c
# End Source File
# Begin Source File
SOURCE=".\zend_language_parser.c"
# End Source File
# Begin Source File
@@ -243,6 +243,10 @@ SOURCE=.\zend_stream.c
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.c
# End Source File
# Begin Source File
SOURCE=.\zend_ts_hash.c
# End Source File
# Begin Source File
@@ -291,10 +295,6 @@ SOURCE=.\zend_default_classes.h
# End Source File
# Begin Source File
SOURCE=.\zend_interfaces.h
# End Source File
# Begin Source File
SOURCE=.\zend_dynamic_array.h
# End Source File
# Begin Source File
@@ -351,6 +351,10 @@ SOURCE=.\zend_ini_scanner.h
# End Source File
# Begin Source File
SOURCE=.\zend_interfaces.h
# End Source File
# Begin Source File
SOURCE=.\zend_istdiostream.h
# End Source File
# Begin Source File
@@ -415,6 +419,10 @@ SOURCE=.\zend_stream.h
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.h
# End Source File
# Begin Source File
SOURCE=.\zend_ts_hash.h
# End Source File
# Begin Source File
@@ -449,7 +457,7 @@ BuildCmds= \
!ELSEIF "$(CFG)" == "Zend - Win32 Release_inline"
!ENDIF
!ENDIF
# End Source File
# Begin Source File
@@ -504,7 +512,7 @@ BuildCmds= \
$(BuildCmds)
# End Custom Build
!ENDIF
!ENDIF
# End Source File
# End Group
@@ -533,7 +541,7 @@ InputPath=.\zend_ini_scanner.l
!ELSEIF "$(CFG)" == "Zend - Win32 Release_inline"
!ENDIF
!ENDIF
# End Source File
# Begin Source File
@@ -570,7 +578,7 @@ InputPath=".\zend_language_scanner.l"
# End Custom Build
!ENDIF
!ENDIF
# End Source File
# End Group
+56 -7
View File
@@ -4,7 +4,7 @@ dnl
dnl This file contains Zend specific autoconf functions.
dnl
AC_DEFUN(LIBZEND_BISON_CHECK,[
AC_DEFUN([LIBZEND_BISON_CHECK],[
if test "$YACC" != "bison -y"; then
AC_MSG_WARN(You will need bison if you want to regenerate the Zend parser.)
@@ -19,7 +19,29 @@ fi
])
AC_DEFUN(LIBZEND_BASIC_CHECKS,[
AC_DEFUN([LIBZEND_CHECK_INT_TYPE],[
AC_MSG_CHECKING(for $1)
AC_TRY_COMPILE([
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#if HAVE_INTTYPES_H
#include <inttypes.h>
#elif HAVE_STDINT_H
#include <stdint.h>
#endif],
[if (($1 *) 0)
return 0;
if (sizeof ($1))
return 0;
],[
AC_DEFINE_UNQUOTED([HAVE_]translit($1,a-z_-,A-Z__), 1,[Define if $1 type is present. ])
AC_MSG_RESULT(yes)
], AC_MSG_RESULT(no)
)dnl
])
AC_DEFUN([LIBZEND_BASIC_CHECKS],[
AC_REQUIRE([AC_PROG_YACC])
AC_REQUIRE([AC_PROG_CC])
@@ -42,6 +64,8 @@ if test "$ac_cv_prog_gcc" = "yes" -a "`uname -s`" = "Rhapsody"; then
fi
AC_CHECK_HEADERS(
inttypes.h \
stdint.h \
limits.h \
malloc.h \
string.h \
@@ -58,12 +82,12 @@ dlfcn.h)
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
AC_DEFUN(LIBZEND_LIBDL_CHECKS,[
AC_DEFUN([LIBZEND_LIBDL_CHECKS],[
AC_CHECK_LIB(dl, dlopen, [LIBS="-ldl $LIBS"])
AC_CHECK_FUNC(dlopen,[AC_DEFINE(HAVE_LIBDL, 1,[ ])])
])
AC_DEFUN(LIBZEND_DLSYM_CHECK,[
AC_DEFUN([LIBZEND_DLSYM_CHECK],[
dnl
dnl Ugly hack to check if dlsym() requires a leading underscore in symbol name.
dnl
@@ -82,6 +106,10 @@ dnl This is required for QNX and may be some BSD derived systems
AC_CHECK_TYPE( uint, unsigned int )
AC_CHECK_TYPE( ulong, unsigned long )
dnl Check if int32_t and uint32_t are defined
LIBZEND_CHECK_INT_TYPE(int32_t)
LIBZEND_CHECK_INT_TYPE(uint32_t)
dnl Checks for library functions.
AC_FUNC_VPRINTF
AC_FUNC_MEMCMP
@@ -95,7 +123,7 @@ ZEND_FP_EXCEPT
])
AC_DEFUN(LIBZEND_ENABLE_DEBUG,[
AC_DEFUN([LIBZEND_ENABLE_DEBUG],[
AC_ARG_ENABLE(debug,
[ --enable-debug Compile with debugging symbols],[
@@ -106,7 +134,16 @@ AC_ARG_ENABLE(debug,
])
AC_DEFUN(LIBZEND_OTHER_CHECKS,[
AC_DEFUN([LIBZEND_OTHER_CHECKS],[
AC_ARG_ENABLE(zend-memory-manager,
[ --disable-zend-memory-manager
Disable the Zend memory manager - FOR DEVELOPERS ONLY!!],
[
ZEND_USE_ZEND_ALLOC=$enableval
], [
ZEND_USE_ZEND_ALLOC=yes
])
AC_ARG_ENABLE(maintainer-zts,
[ --enable-maintainer-zts Enable thread safety - for code maintainers only],[
@@ -137,6 +174,9 @@ AC_ARG_ENABLE(zend-multibyte,
ZEND_MULTIBYTE=no
])
AC_MSG_CHECKING(whether to enable the Zend memory manager)
AC_MSG_RESULT($ZEND_USE_ZEND_ALLOC)
AC_MSG_CHECKING(whether to enable thread-safety)
AC_MSG_RESULT($ZEND_MAINTAINER_ZTS)
@@ -167,6 +207,12 @@ fi
test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
if test "$ZEND_USE_ZEND_ALLOC" = "yes"; then
AC_DEFINE(USE_ZEND_ALLOC,1,[Use Zend memory manager])
else
AC_DEFINE(USE_ZEND_ALLOC,0,[Use Zend memory manager])
fi
if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
AC_DEFINE(ZTS,1,[ ])
CFLAGS="$CFLAGS -DZTS"
@@ -237,6 +283,9 @@ int main()
LIBZEND_MM_ALIGN_LOG2=`cat conftest.zend | cut -d ' ' -f 2`
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT, $LIBZEND_MM_ALIGN, [ ])
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT_LOG2, $LIBZEND_MM_ALIGN_LOG2, [ ])
], [], [
dnl cross-compile needs something here
LIBZEND_MM_ALIGN=8
])
AC_MSG_RESULT(done)
@@ -244,7 +293,7 @@ AC_MSG_RESULT(done)
])
AC_DEFUN(LIBZEND_CPLUSPLUS_CHECKS,[
AC_DEFUN([LIBZEND_CPLUSPLUS_CHECKS],[
])
+8
View File
@@ -276,6 +276,10 @@ SOURCE=.\zend_stream.c
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.c
# End Source File
# Begin Source File
SOURCE=.\zend_ts_hash.c
# End Source File
# Begin Source File
@@ -452,6 +456,10 @@ SOURCE=.\zend_stream.h
# End Source File
# Begin Source File
SOURCE=.\zend_strtod.h
# End Source File
# Begin Source File
SOURCE=.\zend_ts_hash.h
# End Source File
# Begin Source File
+11 -4
View File
@@ -23,9 +23,7 @@
#define ZEND_DLEXPORT
#define ZEND_DLIMPORT
#ifndef NETWARE
@TOP@
#endif
#undef uint
#undef ulong
@@ -33,9 +31,7 @@
/* Define if you want to enable memory limit support */
#define MEMORY_LIMIT 0
#ifndef NETWARE
@BOTTOM@
#endif
#ifndef ZEND_ACCONFIG_H_NO_C_PROTOS
@@ -47,6 +43,10 @@
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#ifdef HAVE_IEEEFP_H
# include <ieeefp.h>
#endif
@@ -98,6 +98,13 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
#ifdef NETWARE
#ifdef USE_WINSOCK
#/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T
#/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H
#endif
#endif
/*
* Local variables:
* tab-width: 4
+31 -4
View File
@@ -2,7 +2,7 @@ dnl $Id$
dnl
dnl This file contains local autoconf functions.
AC_DEFUN(ZEND_FP_EXCEPT,[
AC_DEFUN([ZEND_FP_EXCEPT],[
AC_CACHE_CHECK(whether fp_except is defined, ac_cv_type_fp_except,[
AC_TRY_COMPILE([
#include <floatingpoint.h>
@@ -23,7 +23,7 @@ fp_except x = (fp_except) 0;
dnl
dnl Check for broken sprintf()
dnl
AC_DEFUN(AC_ZEND_BROKEN_SPRINTF,[
AC_DEFUN([AC_ZEND_BROKEN_SPRINTF],[
AC_CACHE_CHECK(whether sprintf is broken, ac_cv_broken_sprintf,[
AC_TRY_RUN([main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }],[
ac_cv_broken_sprintf=no
@@ -41,7 +41,34 @@ AC_DEFUN(AC_ZEND_BROKEN_SPRINTF,[
AC_DEFINE_UNQUOTED(ZEND_BROKEN_SPRINTF, $ac_result, [Whether sprintf is broken])
])
AC_DEFUN(AM_SET_LIBTOOL_VARIABLE,[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
dnl
dnl AC_ZEND_C_BIGENDIAN
dnl Replacement macro for AC_C_BIGENDIAN
dnl
AC_DEFUN([AC_ZEND_C_BIGENDIAN],
[AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian_php,
[
ac_cv_c_bigendian_php=unknown
AC_TRY_RUN(
[
int main(void)
{
short one = 1;
char *cp = (char *)&one;
if (*cp == 0) {
return(0);
} else {
return(1);
}
}
], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown])
])
if test $ac_cv_c_bigendian_php = yes; then
AC_DEFINE(WORDS_BIGENDIAN, [], [Define if processor uses big-endian word])
fi
])
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
+4
View File
@@ -10,10 +10,14 @@ AC_PROG_CC
AM_PROG_LEX
AM_PROG_CC_STDC
ZEND_VERSION=$VERSION
AC_ZEND_C_BIGENDIAN
dnl We want this one before the checks, so the checks can modify CFLAGS.
test -z "$CFLAGS" && auto_cflags=1
AC_CHECK_SIZEOF(long, 8)
AC_CHECK_SIZEOF(int, 4)
sinclude(Zend.m4)
LIBZEND_BASIC_CHECKS
+1 -1
View File
@@ -39,5 +39,5 @@ echo "Done\n";
2
3
Done
test::destructor
test::__destruct
test::destructor
+8 -16
View File
@@ -19,56 +19,48 @@ for ($i = 0; $i < 8; $i++) {
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: a in %s on line %d
Strict Standards: Only variable references should be returned by reference in %s on line %d
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: a in %s on line %d
Strict Standards: Only variable references should be returned by reference in %s on line %d
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: a in %s on line %d
Strict Standards: Only variable references should be returned by reference in %s on line %d
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: a in %s on line %d
Strict Standards: Only variable references should be returned by reference in %s on line %d
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: a in %s on line %d
Strict Standards: Only variable references should be returned by reference in %s on line %d
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: a in %s on line %d
Strict Standards: Only variable references should be returned by reference in %s on line %d
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: a in %s on line %d
Strict Standards: Only variable references should be returned by reference in %s on line %d
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: a in %s on line %d
Strict Standards: Only variable references should be returned by reference in %s on line %d
string(3) "foo"
'foo'
Notice: Undefined variable: a in %s on line %d
Strict Standards: Only variable references should be returned by reference in %s on line %d
+12 -4
View File
@@ -11,11 +11,19 @@ class array_iterator implements IteratorAggregate {
$obj = new array_iterator;
foreach ($obj as $property => $value) {
var_dump($value);
try
{
foreach ($obj as $property => $value)
{
var_dump($value);
}
}
catch(Exception $e)
{
echo $e->getMessage() . "\n";
}
?>
===DONE===
--EXPECTF--
Warning: Objects returned by array_iterator::getIterator() must be traversable or implement interface Iterator in %sbug26229.php on line %d
===DONE===
Objects returned by array_iterator::getIterator() must be traversable or implement interface Iterator
===DONE===
-13
View File
@@ -1,13 +0,0 @@
--TEST--
Bug #27145 (Errors messages print unmangled PPP property names)
--FILE--
<?php
class a {
protected static $v = "aa";
}
class b extends a {
protected static $v = "bb";
}
?>
--EXPECTF--
Fatal error: Cannot redeclare property static protected a::$v in class b in %s on line %d
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #27268 (Bad references accentuated by clone)
--FILE--
<?php
class A
{
public function &getA()
{
return $this->a;
}
}
$A = new A;
$A->a = array(1);
$x = $A->getA();
$clone = clone $A;
$clone->a = array();
print_r($A);
?>
--EXPECT--
A Object
(
[a] => Array
(
[0] => 1
)
)
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #27304
--FILE--
<?php
class Staticexample
{
static function test()
{
var_dump(isset($this));
}
}
$b = new Staticexample();
Staticexample::test();
$b->test();
?>
===DONE===
--EXPECT--
bool(false)
bool(false)
===DONE===
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Bug #27598 (list() array key assignment causes HUGE memory leak)
--FILE--
<?php
list($out[0]) = array(1);
var_dump($out);
?>
--EXPECT--
array(1) {
[0]=>
int(1)
}
+72
View File
@@ -0,0 +1,72 @@
--TEST--
Bug #27798 (private / protected variables not exposed by get_object_vars() inside class)
--FILE--
<?php
class Base
{
public $Foo = 1;
protected $Bar = 2;
private $Baz = 3;
function __construct()
{
echo __METHOD__ . "\n";
var_dump(get_object_vars($this));
}
}
class Child extends Base
{
private $Baz = 4;
function __construct()
{
parent::__construct();
echo __METHOD__ . "\n";
var_dump(get_object_vars($this));
}
}
var_dump(get_object_vars(new Base));
var_dump(get_object_vars(new Child));
?>
===DONE===
--EXPECT--
Base::__construct
array(3) {
["Foo"]=>
int(1)
["Bar"]=>
int(2)
["Baz"]=>
int(3)
}
array(1) {
["Foo"]=>
int(1)
}
Base::__construct
array(3) {
["Baz"]=>
int(4)
["Foo"]=>
int(1)
["Bar"]=>
int(2)
}
Child::__construct
array(3) {
["Baz"]=>
int(4)
["Foo"]=>
int(1)
["Bar"]=>
int(2)
}
array(1) {
["Foo"]=>
int(1)
}
===DONE===
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #28377 (debug_backtrace is intermittently passing args)
--FILE--
<?php
function doit($a, $b)
{
$trace = debug_backtrace();
custom_callback('dereferenced', $trace);
custom_callback('direct', debug_backtrace());
}
function custom_callback($traceName, $btInfo)
{
echo $traceName ." -- args: ";
echo isset($btInfo[0]['args']) ? count($btInfo[0]['args']) : 'does not exist';
echo "\n";
}
doit('a','b');
?>
--EXPECT--
dereferenced -- args: 2
direct -- args: 2
+65
View File
@@ -0,0 +1,65 @@
--TEST--
Bug #28442 (Changing a static variables in a class changes it across sub/super classes.)
--FILE--
<?php
class ClassA
{
static $prop;
}
class ClassB extends ClassA
{
static $prop;
}
class ClassC extends ClassB
{
}
echo "===INIT===\n";
ClassA::$prop = 'A';
ClassB::$prop = 'B';
ClassC::$prop = 'C';
var_dump(ClassA::$prop);
var_dump(ClassB::$prop);
var_dump(ClassC::$prop);
echo "===SetA===\n";
ClassA::$prop = 'A2';
var_dump(ClassA::$prop);
var_dump(ClassB::$prop);
var_dump(ClassC::$prop);
echo "===SetB===\n";
ClassB::$prop = 'B2';
var_dump(ClassA::$prop);
var_dump(ClassB::$prop);
var_dump(ClassC::$prop);
echo "===SetC===\n";
ClassC::$prop = 'C2';
var_dump(ClassA::$prop);
var_dump(ClassB::$prop);
var_dump(ClassC::$prop);
?>
===DONE===
--EXPECTF--
===INIT===
string(1) "A"
string(1) "C"
string(1) "C"
===SetA===
string(2) "A2"
string(1) "C"
string(1) "C"
===SetB===
string(2) "A2"
string(2) "B2"
string(2) "B2"
===SetC===
string(2) "A2"
string(2) "C2"
string(2) "C2"
===DONE===
+74
View File
@@ -0,0 +1,74 @@
--TEST--
Bug #28444 (Cannot access undefined property for object with overloaded property access)
--FILE--
<?php
class Object
{
public $x;
function __construct($x)
{
$this->x = $x;
}
}
class Overloaded
{
public $props = array();
public $x;
function __construct($x)
{
$this->x = new Object($x);
}
function __get($prop)
{
echo __METHOD__ . "($prop)\n";
return $this->props[$prop];
}
function __set($prop, $val)
{
echo __METHOD__ . "($prop,$val)\n";
$this->props[$prop] = $val;
}
}
$y = new Overloaded(2);
var_dump($y->x);
var_dump($y->x->x);
var_dump($y->x->x = 3);
var_dump($y->y = 3);
var_dump($y->y);
var_dump($y->z = new Object(4));
var_dump($y->z->x);
$t = $y->z;
var_dump($t->x = 5);
var_dump($y->z->x = 6);
?>
===DONE===
--EXPECTF--
object(Object)#%d (1) {
["x"]=>
int(2)
}
int(2)
int(3)
Overloaded::__set(y,3)
int(3)
Overloaded::__get(y)
int(3)
Overloaded::__set(z,Object id #3)
object(Object)#%d (1) {
["x"]=>
int(4)
}
Overloaded::__get(z)
int(4)
Overloaded::__get(z)
int(5)
Overloaded::__get(z)
int(6)
===DONE===
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #29015 (Incorrect behavior of member vars(non string ones)-numeric mem vars und others)
--FILE--
<?php
$a = new stdClass();
$x = "";
$a->$x = "string('')";
var_dump($a);
?>
--EXPECTF--
Fatal error: Cannot access empty property in %sbug29015.php on line 4
+27
View File
@@ -0,0 +1,27 @@
--TEST--
Bug #29104 Function declaration in method doesn't work
--FILE--
<?php
class A
{
function g()
{
echo "function g - begin\n";
function f()
{
echo "function f\n";
}
echo "function g - end\n";
}
}
$a = new A;
$a->g();
f();
?>
--EXPECT--
function g - begin
function g - end
function f
+104
View File
@@ -0,0 +1,104 @@
--TEST--
Bug #29210 Function: is_callable - no support for private and protected classes
--FILE--
<?php
class test_class {
private function test_func1() {
echo "test_func1\n";
}
protected function test_func2() {
echo "test_func2\n";
}
static private function test_func3() {
echo "test_func3\n";
}
static protected function test_func4() {
echo "test_func4\n";
}
function test() {
if (is_callable(array($this,'test_func1'))) {
$this->test_func1();
} else {
echo "test_func1 isn't callable from inside\n";
}
if (is_callable(array($this,'test_func2'))) {
$this->test_func2();
} else {
echo "test_func2 isn't callable from inside\n";
}
if (is_callable(array('test_class','test_func3'))) {
test_class::test_func3();
} else {
echo "test_func3 isn't callable from inside\n";
}
if (is_callable(array('test_class','test_func4'))) {
test_class::test_func4();
} else {
echo "test_func4 isn't callable from inside\n";
}
}
}
class foo extends test_class {
function test() {
if (is_callable(array($this,'test_func1'))) {
$this->test_func1();
} else {
echo "test_func1 isn't callable from child\n";
}
if (is_callable(array($this,'test_func2'))) {
$this->test_func2();
} else {
echo "test_func2 isn't callable from child\n";
}
if (is_callable(array('test_class','test_func3'))) {
test_class::test_func3();
} else {
echo "test_func3 isn't callable from child\n";
}
if (is_callable(array('test_class','test_func4'))) {
test_class::test_func4();
} else {
echo "test_func4 isn't callable from child\n";
}
}
}
$object = new test_class;
$object->test();
if (is_callable(array($object,'test_func1'))) {
$object->test_func1();
} else {
echo "test_func1 isn't callable from outside\n";
}
if (is_callable(array($object,'test_func2'))) {
$object->test_func2();
} else {
echo "test_func2 isn't callable from outside\n";
}
if (is_callable(array('test_class','test_func3'))) {
test_class::test_func3();
} else {
echo "test_func3 isn't callable from outside\n";
}
if (is_callable(array('test_class','test_func4'))) {
test_class::test_func4();
} else {
echo "test_func4 isn't callable from outside\n";
}
$object = new foo();
$object->test();
?>
--EXPECT--
test_func1
test_func2
test_func3
test_func4
test_func1 isn't callable from outside
test_func2 isn't callable from outside
test_func3 isn't callable from outside
test_func4 isn't callable from outside
test_func1 isn't callable from child
test_func2
test_func3 isn't callable from child
test_func4
+34
View File
@@ -0,0 +1,34 @@
--TEST--
Bug #29368 (The destructor is called when an exception is thrown from the constructor)
--FILE--
<?
class Foo
{
function __construct()
{
echo __METHOD__ . "\n";
throw new Exception;
}
function __destruct()
{
echo __METHOD__ . "\n";
}
}
try
{
$bar = new Foo;
} catch(Exception $exc)
{
echo "Caught exception!\n";
}
unset($bar);
?>
===DONE===
--EXPECTF--
Foo::__construct
Caught exception!
===DONE===
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Bug #29505 (get_class_vars() severely broken when used with arrays)
--FILE--
<?php
class Test {
public $empty = array();
public $three = array(1, "b"=>"c", 3=>array());
}
var_dump(get_class_vars('Test'));
?>
===DONE===
--EXPECT--
array(2) {
["empty"]=>
array(0) {
}
["three"]=>
array(3) {
[0]=>
int(1)
["b"]=>
string(1) "c"
[3]=>
array(0) {
}
}
}
===DONE===
+62
View File
@@ -0,0 +1,62 @@
--TEST--
Bug #29689 (default value of protected member overrides default value of private)
--FILE--
<?php
class foo {
private $foo = 'foo';
private $foo2 = 'foo2';
function printFoo()
{
echo __CLASS__, ': ', $this->foo, " ", $this->foo2, "\n";
}
}
class bar extends foo {
protected $foo = 'bar';
function printFoo()
{
parent::printFoo();
echo __CLASS__, ': ', $this->foo, " ", $this->foo2, "\n";
}
}
class baz extends bar {
protected $foo = 'baz';
protected $foo2 = 'baz2';
}
class bar2 extends foo {
function printFoo()
{
parent::printFoo();
echo __CLASS__, ': ', $this->foo, " ", $this->foo2, "\n";
}
}
class baz2 extends bar2 {
protected $foo = 'baz2';
protected $foo2 = 'baz22';
}
$bar = new bar;
$bar->printFoo();
echo "---baz--\n";
$baz = new baz();
$baz->printFoo();
echo "---baz2--\n";
$baz = new baz2();
$baz->printFoo();
?>
--EXPECTF--
foo: foo foo2
bar: bar
Notice: Undefined property: bar::$foo2 in %s on line %d
---baz--
foo: foo foo2
bar: baz baz2
---baz2--
foo: foo foo2
bar2: baz2 baz22
+13
View File
@@ -0,0 +1,13 @@
--TEST--
Bug #29883 (isset gives invalid values on strings)
--FILE--
<?php
$x = "bug";
var_dump(isset($x[-1]));
var_dump(isset($x["1"]));
echo $x["1"]."\n";
?>
--EXPECT--
bool(false)
bool(true)
u
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #29890 (crash if error handler fails)
--FILE--
<?php
function customErrorHandler($fErrNo,$fErrStr,$fErrFile,$fErrLine,&$fClass) {
echo "error :".$fErrStr."\n";
}
set_time_limit(5);
error_reporting(E_ALL);
set_error_handler("customErrorHandler");
define("TEST",2);
//should return a notice that the constant is already defined
define("TEST",3);
?>
--EXPECT--
error :Constant TEST already defined
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #29896 (Backtrace argument list out of sync)
--FILE--
<?php
function userErrorHandler($num, $msg, $file, $line, $vars)
{
debug_print_backtrace();
}
$OldErrorHandler = set_error_handler("userErrorHandler");
function GenerateError1($A1)
{
$a = $b;
}
function GenerateError2($A1)
{
GenerateError1("Test1");
}
GenerateError2("Test2");
?>
--EXPECTF--
#0 userErrorHandler(8, Undefined variable: b, %sbug29896.php, 11, Array ([A1] => Test1)) called at [%sbug29896.php:11]
#1 GenerateError1(Test1) called at [%sbug29896.php:16]
#2 GenerateError2(Test2) called at [%sbug29896.php:19]
+16
View File
@@ -0,0 +1,16 @@
--TEST--
Bug #29944 (Function defined in switch, crashes)
--FILE--
<?php
$a = 1;
switch ($a) {
case 1:
function foo($a) {
return "ok\n";
}
echo foo($a);
}
?>
--EXPECT--
ok
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #30080 (Passing array or non array of objects)
--FILE--
<?php
class foo {
function foo($arrayobj) {
var_dump($arrayobj);
}
}
new foo(array(new stdClass));
?>
--EXPECT--
array(1) {
[0]=>
object(stdClass)#2 (0) {
}
}
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #30140 (Problem with array in static properties)
--FILE--
<?php
class A {
public static $test1 = true;
public static $test2 = array();
public static $test3 = "str";
}
class B extends A {
}
A::$test1 = "x";
A::$test2 = "y";
A::$test3 = "z";
var_dump(A::$test1);
var_dump(A::$test2);
var_dump(A::$test3);
var_dump(B::$test1);
var_dump(B::$test2);
var_dump(B::$test3);
?>
--EXPECT--
string(1) "x"
string(1) "y"
string(1) "z"
string(1) "x"
string(1) "y"
string(1) "z"
+52
View File
@@ -0,0 +1,52 @@
--TEST--
Bug #30162 (Catching exception in constructor couses lose of $this)
--FILE--
<?php
class FIIFO {
public function __construct() {
$this->x = "x";
throw new Exception;
}
}
class hariCow extends FIIFO {
public function __construct() {
try {
parent::__construct();
} catch(Exception $e) {
}
$this->y = "y";
try {
$this->z = new FIIFO;
} catch(Exception $e) {
}
}
public function __toString() {
return "Rusticus in asino sedet.";
}
}
try {
$db = new FIIFO();
} catch(Exception $e) {
}
var_dump($db);
$db = new hariCow;
var_dump($db);
?>
--EXPECTF--
Notice: Undefined variable: db in %sbug30162.php on line 35
NULL
object(hariCow)#1 (2) {
["x"]=>
string(1) "x"
["y"]=>
string(1) "y"
}
+40
View File
@@ -0,0 +1,40 @@
--TEST--
Bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with array_push())
--INI--
zend.ze1_compatibility_mode=on
error_reporting=4095
--FILE--
<?php
class x { };
$first = new x;
$second = $first;
$container = array();
array_push($container, $first);
$first->first = " im in the first";
print_r($first);
print_r($second);
print_r($container);
?>
--EXPECTF--
Strict Standards: Implicit cloning object of class 'x' because of 'zend.ze1_compatibility_mode' in %sbug30332.php on line 4
Strict Standards: Implicit cloning object of class 'x' because of 'zend.ze1_compatibility_mode' in %sbug30332.php on line 5
Strict Standards: Implicit cloning object of class 'x' because of 'zend.ze1_compatibility_mode' in %sbug30332.php on line 7
x Object
(
[first] => im in the first
)
x Object
(
)
Array
(
[0] => x Object
(
)
)
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #30394 (Assignment operators yield wrong result with __get/__set)
--FILE--
<?php
class Container
{
public function __get( $what )
{
return $this->_p[ $what ];
}
public function __set( $what, $value )
{
$this->_p[ $what ] = $value;
}
private $_p = array();
}
$c = new Container();
$c->a = 1;
$c->a += 1;
print $c->a; // --> 2
print " - ";
$c->a += max( 0, 1 );
print $c->a; // --> 4 (!)
?>
--EXPECT--
2 - 3
+36
View File
@@ -0,0 +1,36 @@
--TEST--
Bug #30451 (static properties permissions broken)
--FILE--
<?php
class A {
protected static $property = TRUE;
protected static function method() {
return TRUE;
}
}
class B extends A {
public function __construct() {
var_dump(self::method());
var_dump(parent::method());
var_dump(self::$property);
var_dump(parent::$property);
}
}
new B;
?>
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(true)
+10
View File
@@ -0,0 +1,10 @@
--TEST--
Bug #30519 Interface not existing says Class not found
--FILE--
<?php
class test implements a {
}
?>
--EXPECTF--
Fatal error: Interface 'a' not found in %sbug30519.php on line 2
+39
View File
@@ -0,0 +1,39 @@
--TEST--
Bug #30702 cannot initialize class variable from class constant
--FILE--
<?php
class foo {
const C1=1;
}
class bar extends foo {
const C2=2;
public $c1=bar::C1;
public $c2=bar::C2;
public $c3=self::C1;
public $c4=self::C2;
public $c5=foo::C1;
public $c6=parent::C1;
}
$x= new bar();
var_dump($x);
?>
--EXPECT--
object(bar)#1 (6) {
["c1"]=>
int(1)
["c2"]=>
int(2)
["c3"]=>
int(1)
["c4"]=>
int(2)
["c5"]=>
int(1)
["c6"]=>
int(1)
}
+29
View File
@@ -0,0 +1,29 @@
--TEST--
Bug #30707 (Segmentation fault on exception in method)
--FILE--
<?php
class C {
function byePHP($plop) {
echo "ok\n";
}
function plip() {
try {
$this->plap($this->plop());
} catch(Exception $e) {
}
}
function plap($a) {
}
function plop() {
throw new Exception;
}
}
$x = new C;
$x->byePHP($x->plip());
?>
--EXPECT--
ok
+32
View File
@@ -0,0 +1,32 @@
--TEST--
Bug #30725 (PHP segfaults when an exception is thrown in getIterator() within foreach)
--FILE--
<?php
class Test implements IteratorAggregate
{
function getIterator()
{
throw new Exception();
}
}
try
{
$it = new Test;
foreach($it as $v)
{
echo "Fail\n";
}
echo "Wrong\n";
}
catch(Exception $e)
{
echo "Caught\n";
}
?>
===DONE===
--EXPECT--
Caught
===DONE===
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #30791 magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded
--FILE--
<?php
class a {
public $a = 4;
function __call($a,$b) {
return "unknown method";
}
}
$b = new a;
echo $b,"\n";
$c = unserialize(serialize($b));
echo $c,"\n";
var_dump($c);
?>
--EXPECT--
Object id #1
Object id #2
object(a)#2 (1) {
["a"]=>
int(4)
}
+27
View File
@@ -0,0 +1,27 @@
--TEST--
Bug #30820 (static member conflict with $this->member silently ignored)
--INI--
error_reporting=4095
--FILE--
<?php
class Blah {
private static $x;
public function show() {
Blah::$x = 1;
$this->x = 5; // no warning, but refers to different variable
echo 'Blah::$x = '. Blah::$x ."\n";
echo '$this->x = '. $this->x ."\n";
}
}
$b = new Blah();
$b->show();
?>
--EXPECTF--
Strict Standards: Accessing static property Blah::$x as non static in %sbug30820.php on line 7
Blah::$x = 1
Strict Standards: Accessing static property Blah::$x as non static in %sbug30820.php on line 10
$this->x = 5
+61
View File
@@ -0,0 +1,61 @@
--TEST--
Bug #30828 (debug_backtrace() reports incorrect class in overridden methods)
--FILE--
<?php
class A {
function __construct() {
debug_print_backtrace();
$bt = debug_backtrace();
foreach ($bt as $t) {
print $t['class'].$t['type'].$t['function']."\n";
}
}
function foo() {
debug_print_backtrace();
$bt = debug_backtrace();
foreach ($bt as $t) {
print $t['class'].$t['type'].$t['function']."\n";
}
}
static function bar() {
debug_print_backtrace();
$bt = debug_backtrace();
foreach ($bt as $t) {
print $t['class'].$t['type'].$t['function']."\n";
}
}
}
class B extends A {
function __construct() {
parent::__construct();
}
function foo() {
parent::foo();
}
static function bar() {
parent::bar();
}
}
$b = new B();
$b->foo();
B::bar();
?>
--EXPECTF--
#0 A->__construct() called at [%sbug30828.php:30]
#1 B->__construct() called at [%sbug30828.php:42]
A->__construct
B->__construct
#0 A->foo() called at [%sbug30828.php:34]
#1 B->foo() called at [%sbug30828.php:43]
A->foo
B->foo
#0 A::bar() called at [%sbug30828.php:38]
#1 B::bar() called at [%sbug30828.php:44]
A::bar
B::bar
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Bug #30889 Conflict between __get/__set and ++ operator
--FILE--
<?php
class overloaded
{
private $values;
function __construct()
{
$this->values = array('a' => 0);
}
function __set($name, $value)
{
print "set $name = $value ($name was ".$this->values[$name].")\n";
$this->values[$name] = $value;
}
function __get($name)
{
print "get $name (returns ".$this->values[$name].")\n";
return $this->values[$name];
}
}
$test = new overloaded();
$test->a++; // __get(), then __set()
++$test->a;
?>
--EXPECT--
get a (returns 0)
set a = 1 (a was 0)
get a (returns 1)
set a = 2 (a was 1)
+13
View File
@@ -0,0 +1,13 @@
--TEST--
Bug #30922 (reflective functions crash PHP when interfaces extend themselves)
--FILE--
<?php
interface RecurisiveFooFar extends RecurisiveFooFar {}
class A implements RecurisiveFooFar {}
$a = new A();
var_dump($a instanceOf A);
echo "ok\n";
?>
--EXPECTF--
Fatal error: Interface RecurisiveFooFar cannot not implement itself in %sbug30922.php on line %d
+53
View File
@@ -0,0 +1,53 @@
--TEST--
Bug #31098 (isset() / empty() incorrectly returns true in dereference of a wrong type)
--FILE--
<?php
$a = '';
var_dump(isset($a->b));
$a = 'a';
var_dump(isset($a->b));
$a = '0';
var_dump(isset($a->b));
$a = '';
var_dump(isset($a{'b'}));
$a = 'a';
var_dump(isset($a{'b'}));
$a = '0';
var_dump(isset($a{'b'}));
$simpleString = "Bogus String Text";
echo isset($simpleString->wrong)?"bug\n":"ok\n";
echo isset($simpleString["wrong"])?"ok\n":"bug\n";
echo isset($simpleString[-1])?"bug\n":"ok\n";
echo isset($simpleString[0])?"ok\n":"bug\n";
echo isset($simpleString["0"])?"ok\n":"bug\n";
echo isset($simpleString["16"])?"ok\n":"bug\n";
echo isset($simpleString["17"])?"bug\n":"ok\n";
echo isset($simpleString["wrong"][0])?"bug\n":"ok\n";
echo $simpleString->wrong === null?"ok\n":"bug\n";
echo $simpleString["wrong"] === "B"?"ok\n":"bug\n";
echo $simpleString["0"] === "B"?"ok\n":"bug\n";
$simpleString["wrong"] = "f";
echo $simpleString["0"] === "f"?"ok\n":"bug\n";
?>
--EXPECTF--
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
ok
ok
ok
ok
ok
ok
ok
ok
Notice: Trying to get property of non-object in %sbug31098.php on line %d
ok
ok
ok
ok
+44
View File
@@ -0,0 +1,44 @@
--TEST--
Bug #31177 (Memory leak)
--FILE--
<?php
class DbGow {
public function query() {
throw new Exception;
}
public function select() {
return new DbGowRecordSet($this->query());
}
public function select2() {
new DbGowRecordSet($this->query());
}
}
class DbGowRecordSet {
public function __construct($resource) {
}
}
$db = new DbGow;
try {
$rs = $db->select();
} catch(Exception $e) {
echo "ok\n";
}
try {
$db->select2();
} catch(Exception $e) {
echo "ok\n";
}
?>
--EXPECT--
ok
ok
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #31525 (object reference being dropped. $this getting lost)
--INI--
error_reporting=4095
--FILE--
<?php
class Foo {
function getThis() {
return $this;
}
function destroyThis() {
$baz =& $this->getThis();
}
}
$bar = new Foo();
$bar->destroyThis();
var_dump($bar);
?>
--EXPECTF--
Strict Standards: Only variables should be assigned by reference in %sbug31525.php on line 7
object(Foo)#1 (0) {
}
+97
View File
@@ -0,0 +1,97 @@
--TEST--
Bug #31683 (changes to $name in __get($name) override future parameters)
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
class Foo implements ArrayAccess {
function __get($test) {
var_dump($test);
$test = 'bug';
}
function __set($test, $val) {
var_dump($test);
var_dump($val);
$test = 'bug';
$val = 'bug';
}
function __call($test, $arg) {
var_dump($test);
$test = 'bug';
}
function offsetget($test) {
var_dump($test);
$test = 'bug';
return 123;
}
function offsetset($test, $val) {
var_dump($test);
var_dump($val);
$test = 'bug';
$val = 'bug';
}
function offsetexists($test) {
var_dump($test);
$test = 'bug';
}
function offsetunset($test) {
var_dump($test);
$test = 'bug';
}
}
$foo = new Foo();
$a = "ok";
for ($i=0; $i < 2; $i++) {
$foo->ok("ok");
$foo->ok;
$foo->ok = "ok";
$x = $foo["ok"];
$foo["ok"] = "ok";
isset($foo["ok"]);
unset($foo["ok"]);
// $foo[];
$foo[] = "ok";
// isset($foo[]);
// unset($foo[]);
$foo->$a;
echo "---\n";
}
?>
--EXPECT--
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
NULL
string(2) "ok"
string(2) "ok"
---
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
string(2) "ok"
NULL
string(2) "ok"
string(2) "ok"
---
+16
View File
@@ -0,0 +1,16 @@
--TEST--
Bug #31720 (Invalid object callbacks not caught in array_walk())
--FILE--
<?
$array = array('at least one element');
array_walk($array, array($nonesuchvar,'show'));
?>
===DONE===
--EXPECTF--
Notice: Undefined variable: nonesuchvar in %s on line %d
Notice: Non-callable array passed to zend_call_function() in %s on line %d
Warning: array_walk(): Unable to call Array() - function does not exist in %s on line %d
===DONE===
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Bug #31828 (Crash with zend.ze1_compatibility_mode=On)
--INI--
zend.ze1_compatibility_mode=on
error_reporting=4095
--FILE--
<?php
$o = new stdClass();
$o->id = 77;
$o->name = "Aerospace";
$a[] = $o;
$a = $a[0];
print_r($a);
?>
--EXPECTF--
Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug31828.php on line 2
Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug31828.php on line 5
Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug31828.php on line 6
stdClass Object
(
[id] => 77
[name] => Aerospace
)
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #32080 (segfault when assigning object to itself with zend.ze1_compatibility_mode=On)
--INI--
zend.ze1_compatibility_mode=on
error_reporting=4095
--FILE--
<?php
class test { }
$t = new test;
$t = $t; // gives segfault
var_dump($t);
?>
--EXPECTF--
Strict Standards: Implicit cloning object of class 'test' because of 'zend.ze1_compatibility_mode' in %sbug32080.php on line 3
Strict Standards: Implicit cloning object of class 'test' because of 'zend.ze1_compatibility_mode' in %sbug32080.php on line 5
object(test)#%d (0) {
}
+36
View File
@@ -0,0 +1,36 @@
--TEST--
Bug # 32226 (SEGV with exception handler on non existing instance)
--FILE--
<?
class A
{
public function A()
{
set_exception_handler(array($this, 'EH'));
throw new Exception();
}
public function EH()
{
restore_exception_handler();
throw new Exception();
}
}
try
{
$a = new A();
}
catch(Exception $e)
{
echo "Caught\n";
}
?>
===DONE===
--EXPECT--
Caught
===DONE===
+47
View File
@@ -0,0 +1,47 @@
--TEST--
Bug #32252 (Segfault when offsetSet throws an Exception (only without debug))
--FILE--
<?php
class Test implements ArrayAccess
{
function offsetExists($offset)
{
echo __METHOD__ . "($offset)\n";
return false;
}
function offsetGet($offset)
{
echo __METHOD__ . "($offset)\n";
return null;
}
function offsetSet($offset, $value)
{
echo __METHOD__ . "($offset, $value)\n";
throw new Exception("Ooops");
}
function offsetUnset($offset)
{
echo __METHOD__ . "($offset)\n";
}
}
$list = new Test();
try
{
$list[-1] = 123;
}
catch (Exception $e)
{
echo "CAUGHT\n";
}
?>
===DONE===
--EXPECT--
Test::offsetSet(-1, 123)
CAUGHT
===DONE===
+35
View File
@@ -0,0 +1,35 @@
--TEST--
Bug #32290 (calling call_user_func_array() ends in infinite loop within child class)
--FILE--
<?php
class TestA
{
public function doSomething($i)
{
echo __METHOD__ . "($this)\n";
return --$i;
}
}
class TestB extends TestA
{
public function doSomething($i)
{
echo __METHOD__ . "($this)\n";
$i++;
if ($i >= 5) return 5;
return call_user_func_array(array("TestA","doSomething"), array($i));
}
}
$x = new TestB();
var_dump($x->doSomething(1));
?>
===DONE===
--EXPECTF--
TestB::doSomething(Object id #%d)
TestA::doSomething(Object id #%d)
int(1)
===DONE===
+60
View File
@@ -0,0 +1,60 @@
--TEST--
Bug #32296 get_class_methods output has changed between 5.0.2 and 5.0.3
--FILE--
<?php
abstract class space{
function __construct(){}
abstract protected function unfold();
}
abstract class shape extends space{
private function x1() {}
protected final function unfold(){}
}
abstract class quad extends shape{
private function x2() {}
function buggy(){
$c = get_class($this);
$a = get_class_methods(get_class($this));
$b = get_class_methods($this);
print($c."\n".'a:');
print_r($a);
print('b:');
print_r($b);
}
}
class square extends quad{}
$a = new square();
$a->buggy();
print_r(get_class_methods("square"));
print_r(get_class_methods($a));
?>
--EXPECT--
square
a:Array
(
[0] => x2
[1] => buggy
[2] => unfold
[3] => __construct
)
b:Array
(
[0] => x2
[1] => buggy
[2] => unfold
[3] => __construct
)
Array
(
[0] => buggy
[1] => __construct
)
Array
(
[0] => buggy
[1] => __construct
)
+80
View File
@@ -0,0 +1,80 @@
--TEST--
Bug #32322 (Return values by reference broken( using self::),example singleton instance)
--INI--
error_reporting=4095
--FILE--
<?php
class test
{
private static $instance = null;
private $myname = '';
private function __construct( $value = '' )
{
echo "New class $value created \n";
$this -> myname = $value;
}
private function __clone() {}
static public function getInstance()
{
if ( self::$instance == null )
{
self::$instance = new test('Singleton1');
}
else {
echo "Using old class " . self::$instance -> myname . "\n";
}
return self::$instance;
}
static public function getInstance2()
{
static $instance2 = null;
if ( $instance2 == null )
{
$instance2 = new test('Singleton2');
}
else {
echo "Using old class " . $instance2 -> myname . "\n";
}
return $instance2;
}
public function __destruct()
{
if ( defined('SCRIPT_END') )
{
echo "Class " . $this -> myname . " destroyed at script end\n";
} else {
echo "Class " . $this -> myname . " destroyed beforce script end\n";
}
}
}
echo "Try static instance inside class :\n";
$getCopyofSingleton = test::getInstance();
$getCopyofSingleton = null;
$getCopyofSingleton = &test::getInstance();
$getCopyofSingleton = null;
$getCopyofSingleton = test::getInstance();
echo "Try static instance inside function :\n";
$getCopyofSingleton2 = test::getInstance2();
$getCopyofSingleton2 = null;
$getCopyofSingleton2 = &test::getInstance2();
$getCopyofSingleton2 = null;
$getCopyofSingleton2 = test::getInstance2();
define('SCRIPT_END',1);
?>
--EXPECTF--
Try static instance inside class :
New class Singleton1 created
Using old class Singleton1
Strict Standards: Only variables should be assigned by reference in %sbug32322.php on line 49
Using old class Singleton1
Try static instance inside function :
New class Singleton2 created
Using old class Singleton2
Strict Standards: Only variables should be assigned by reference in %sbug32322.php on line 55
Using old class Singleton2
Class Singleton1 destroyed at script end
Class Singleton2 destroyed at script end
+27
View File
@@ -0,0 +1,27 @@
--TEST--
Bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct)
--FILE--
<?php
class BUG {
public $error = "please fix this thing, it wasted a nice part of my life!\n";
static function instance() {return new BUG();}
function __destruct()
{
$c=get_class($this); unset($c);
echo get_class($this) ."\n";
if(defined('DEBUG_'.__CLASS__)){}
$c=get_class($this); //memory leak only
echo $this->error;
}
}
BUG::instance()->error;
echo "this is still executed\n";
?>
--EXPECT--
BUG
please fix this thing, it wasted a nice part of my life!
this is still executed
+36
View File
@@ -0,0 +1,36 @@
--TEST--
Bug #32660 Assignment by reference causes crash when field access is overloaded (__get)
--FILE--
<?php
class A
{
public $q;
function __construct()
{
$this->q = 3;//array();
}
function __get($name)
{
return $this->q;
}
}
$a = new A;
$b = "short";
$c =& $a->whatever;
$c = "long";
print_r($a);
$a->whatever =& $b;
$b = "much longer";
print_r($a);
?>
--EXPECTF--
A Object
(
[q] => long
)
Fatal error: Cannot assign by reference to overloaded object in %sbug32660.php on line 23
+62
View File
@@ -0,0 +1,62 @@
--TEST--
Bug #32674 exception in iterator causes crash
--FILE--
<?php
class collection implements Iterator {
private $_elements = array();
public function __construct() {
}
public function rewind() {
reset($this->_elements);
}
public function count() {
return count($this->_elements);
}
public function current() {
$element = current($this->_elements);
return $element;
}
public function next() {
$element = next($this->_elements);
return $element;
}
public function key() {
$this->_fillCollection();
$element = key($this->_elements);
return $element;
}
public function valid() {
throw new Exception('shit happend');
return ($this->current() !== false);
}
}
class class2 {
public $dummy;
}
$obj = new class2();
$col = new collection();
try {
foreach($col as $co) {
//irrelevant
}
echo 'shouldn`t get here';
//$dummy = 'this will not crash';
$obj->dummy = 'this will crash';
} catch (Exception $e) {
echo "ok\n";
}
?>
--EXPECT--
ok
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Bug #32799 (crash: calling the corresponding global var during the destruct)
--FILE--
<?php
class test{
public $c=1;
function __destruct (){
$GLOBALS['p']->c++; // no warning
print $GLOBALS['p']->c."\n"; // segfault
var_dump($GLOBALS['p']);
}
}
$p=new test;
$p=null; //destroy the object by a new assignment (segfault)
?>
--EXPECT--
2
object(test)#1 (1) {
["c"]=>
int(2)
}
+38
View File
@@ -0,0 +1,38 @@
--TEST--
Bug #32852 (Crash with singleton and __destruct when zend.ze1_compatibility_mode = On)
--INI--
zend.ze1_compatibility_mode=on
error_reporting=4095
--FILE--
<?php
class crashme {
private static $instance = null;
public function __construct() {
self::$instance = $this;
}
public function __destruct() {
echo "i'm called\n";
}
public static function singleton() {
if (!isset(self::$instance)) {
self::$instance = new crashme();
}
return self::$instance;
}
}
crashme::singleton();
?>
--EXPECTF--
Strict Standards: Implicit cloning object of class 'crashme' because of 'zend.ze1_compatibility_mode' in %sbug32852.php on line 6
i'm called
Strict Standards: Implicit cloning object of class 'crashme' because of 'zend.ze1_compatibility_mode' in %sbug32852.php on line 15
i'm called
Strict Standards: Implicit cloning object of class 'crashme' because of 'zend.ze1_compatibility_mode' in %sbug32852.php on line 17
i'm called
i'm called
+29
View File
@@ -0,0 +1,29 @@
--TEST--
Bug #32993 (implemented Iterator function current() don't throw exception)
--FILE--
<?php
class Test implements Iterator {
public $arr = array();
public function rewind() { return reset($this->arr); }
public function current() { throw new Exception(); }
public function key() { return key($this->arr); }
public function next() { return next($this->arr); }
public function valid() { return (current($this->arr) !== false); }
}
$t = new Test();
$t->arr = array(1, 2, 3);
try {
foreach ($t as $v) {
echo "$v\n";
}
} catch (Exception $e) {
; // handle exception
}
echo "ok\n";
?>
--EXPECT--
ok
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #33116 (crash when assigning class name to global variable in __autoload)
--FILE--
<?php
function __autoload($class)
{
$GLOBALS['include'][] = $class;
eval("class DefClass{}");
}
$a = new DefClass;
print_r($a);
print_r($GLOBALS['include']);
?>
--EXPECT--
DefClass Object
(
)
Array
(
[0] => DefClass
)
+27
View File
@@ -0,0 +1,27 @@
--TEST--
Bug #33171 (foreach enumerates private fields declared in base classes)
--FILE--
<?php
class A
{
private $c = "A's c";
}
class B extends A
{
private $c = "B's c";
public function go()
{
foreach ($this as $key => $val)
{
echo "$key => $val\n";
}
}
};
$x = new B;
$x->go();
?>
--EXPECT--
c => B's c
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Bug #33243 (ze1_compatibility_mode does not work as expected)
--INI--
zend.ze1_compatibility_mode=1
error_reporting=4095
--FILE--
<?php
$a->y->z = 0;
$b = $a; // should perform deep copy of $a
$b->y->z = 1; // hence this should have no effect on $a
var_dump($a);
?>
--EXPECTF--
Strict Standards: Creating default object from empty value in %sbug33243.php on line 2
Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug33243.php on line 3
Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug33243.php on line 5
object(stdClass)#%d (1) {
["y"]=>
object(stdClass)#%d (1) {
["z"]=>
int(0)
}
}
+17
View File
@@ -0,0 +1,17 @@
--TEST--
Bug #33257 array_splice() inconsistent when passed function instead of variable
--FILE--
<?php
class X {
protected static $arr = array("a", "b", "c");
public static function getArr() {
return self::$arr;
}
}
//$arr1 = X::getArr();
array_splice(X::getArr(), 1, 1);
print_r(X::getArr());
?>
--EXPECTF--
Fatal error: Only variables can be passed by reference in %sbug33257.php on line 10
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #33277 (private method accessed by child class)
--FILE--
<?
class foo {
private function bar() {
echo "private!\n";
}
}
class fooson extends foo {
function barson() {
$this->bar();
}
}
class foo2son extends fooson {
function bar() {
echo "public!\n";
}
}
$b = new foo2son();
$b->barson();
?>
--EXPECT--
public!
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Bug #33558 (warning with nested calls to functions returning by reference)
--INI--
error_reporting=4095
--FILE--
<?php
function & foo() {
$var = 'ok';
return $var;
}
function & bar() {
return foo();
}
$a =& bar();
echo "$a\n";
?>
--EXPECT--
ok
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #33802 (throw Exception in error handler causes crash)
--FILE--
<?php
set_error_handler('errorHandler', E_USER_ERROR);
try{
test();
}catch(Exception $e){
}
restore_error_handler();
function test(){
trigger_error("error", E_USER_ERROR);
}
function errorHandler($errno, $errstr, $errfile, $errline) {
throw new Exception();
}
?>
ok
--EXPECT--
ok
+35
View File
@@ -0,0 +1,35 @@
--TEST--
Bug #34064 (arr[] as param to function in class gives invalid opcode)
--FILE--
<?php
class XmlTest {
function test_ref(&$test)
{
$test = "ok";
}
function test($test)
{
}
function run()
{
$ar = array();
$this->test_ref($ar[]);
var_dump($ar);
$this->test($ar[]);
}
}
$o = new XmlTest();
$o->run();
?>
--EXPECTF--
array(1) {
[0]=>
string(2) "ok"
}
Fatal error: Cannot use [] for reading in %sbug34064.php on line 18
+10
View File
@@ -0,0 +1,10 @@
--TEST--
Bug #34137 (assigning array element by reference causes binary mess)
--FILE--
<?php
$arr1 = array('a1' => array('alfa' => 'ok'));
$arr1 =& $arr1['a1'];
echo '-'.$arr1['alfa']."-\n";
?>
--EXPECT--
-ok-
+36
View File
@@ -0,0 +1,36 @@
--TEST--
Bug #34260 (Segfault with callbacks (array_map) + overloading)
--FILE--
<?php
class Faulty
{
function __call($Method,$Args)
{
switch($Method)
{
case 'seg':
echo "I hate me\n";
break;
}
}
function NormalMethod($Args)
{
echo "I heart me\n";
}
}
$Faulty = new Faulty();
$Array = array('Some junk','Some other junk');
// This causes a seg fault.
$Failure = array_map(array($Faulty,'seg'),$Array);
// This does not.
$Failure = array_map(array($Faulty,'NormalMethod'),$Array);
?>
--EXPECT--
I hate me
I hate me
I heart me
I heart me
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug - crash in debug_backtrace when trace starts in eval
--FILE--
<?php
function foo() {
bar();
}
function bar() {
boo();
}
function boo(){
debug_print_backtrace();
}
eval("foo();");
echo "Done\n";
?>
===DONE===
--EXPECTF--
#0 boo() called at [%s:%d]
#1 bar() called at [%s:%d]
#2 foo() called at [%s(%d) : eval()'d code:1]
#3 eval() called at [%s:%d]
Done
===DONE===
+171
View File
@@ -0,0 +1,171 @@
--TEST--
Magic object handlers segfault and memory errors
--FILE--
<?php
function f($x) {
return $x;
}
class foo implements ArrayAccess {
function __get($property) {
$GLOBALS["y"] = $property;
}
function __set($property, $value) {
$GLOBALS["y"] = $property;
}
function __call($func, $args) {
$GLOBALS["y"] = $func;
}
function offsetGet($index) {
$GLOBALS["y"] = $index;
}
function offsetSet($index, $newval) {
$GLOBALS["y"] = $index;
}
function offsetExists($index) {
$GLOBALS["y"] = $index;
}
function offsetUnset($index) {
$GLOBALS["y"] = $index;
}
}
$x = new foo();
$y = null;
// IS_CONST
$z = $x->const_get;
echo $y,"\n";
$x->const_set = 1;
echo $y,"\n";
$x->const_call();
echo $y,"\n";
$z = $x["const_dim_get"];
echo $y,"\n";
$x["const_dim_set"] = 1;
echo $y,"\n";
isset($x["const_dim_isset"]);
echo $y,"\n";
unset($x["const_dim_unset"]);
echo $y,"\n";
// IS_CONST + conversion
$z = $x->{1};
echo $y,"\n";
$x->{2} = 1;
echo $y,"\n";
// IS_TMP_VAR
$c = "tmp";
$z = $x->{$c."_get"};
echo $y,"\n";
$x->{$c."_set"} = 1;
echo $y,"\n";
$x->{$c."_call"}();
echo $y,"\n";
$z = $x[$c."_dim_get"];
echo $y,"\n";
$x[$c."_dim_set"] = 1;
echo $y,"\n";
isset($x[$c."_dim_isset"]);
echo $y,"\n";
unset($x[$c."_dim_unset"]);
echo $y,"\n";
// IS_TMP_VAR + conversion
$c = 0;
$z = $x->{$c+3};
echo $y,"\n";
$x->{$c+4} = 1;
echo $y,"\n";
// IS_CV
$c = "cv_get";
$z = $x->{$c};
echo $y,"\n";
$c = "cv_set";
$x->{$c} = 1;
echo $y,"\n";
$c = "cv_call";
$x->{$c}();
echo $y,"\n";
$c = "cv_dim_get";
$z = $x[$c];
echo $y,"\n";
$c = "cv_dim_set";
$x[$c] = 1;
echo $y,"\n";
$c = "cv_dim_isset";
isset($x[$c]);
echo $y,"\n";
$c = "cv_dim_unset";
unset($x[$c]);
echo $y,"\n";
// IS_CV + conversion
$c = 5;
$z = $x->{$c};
echo $y,"\n";
$c = 6;
$x->{$c} = 1;
echo $y,"\n";
// IS_VAR
$z = $x->{f("var_get")};
echo $y,"\n";
$x->{f("var_set")} = 1;
echo $y,"\n";
$x->{f("var_call")}();
echo $y,"\n";
$z = $x[f("var_dim_get")];
echo $y,"\n";
$x[f("var_dim_set")] = 1;
echo $y,"\n";
isset($x[f("var_dim_isset")]);
echo $y,"\n";
unset($x[f("var_dim_unset")]);
echo $y,"\n";
// IS_VAR + conversion
$z = $x->{f(7)};
echo $y,"\n";
$x->{f(8)} = 1;
echo $y,"\n";
?>
--EXPECT--
const_get
const_set
const_call
const_dim_get
const_dim_set
const_dim_isset
const_dim_unset
1
2
tmp_get
tmp_set
tmp_call
tmp_dim_get
tmp_dim_set
tmp_dim_isset
tmp_dim_unset
3
4
cv_get
cv_set
cv_call
cv_dim_get
cv_dim_set
cv_dim_isset
cv_dim_unset
5
6
var_get
var_set
var_call
var_dim_get
var_dim_set
var_dim_isset
var_dim_unset
7
8
+33 -30
View File
@@ -83,7 +83,6 @@ ZEND_INI_END()
ZEND_API int compiler_globals_id;
ZEND_API int executor_globals_id;
ZEND_API int alloc_globals_id;
zend_class_entry global_main_class;
HashTable *global_function_table;
HashTable *global_class_table;
HashTable *global_constants_table;
@@ -495,6 +494,12 @@ static void zend_new_thread_end_handler(THREAD_T thread_id TSRMLS_DC)
zend_ini_refresh_caches(ZEND_INI_STAGE_STARTUP TSRMLS_CC);
}
static void alloc_globals_dtor(zend_alloc_globals *alloc_globals_p TSRMLS_DC)
{
shutdown_memory_manager(0, 1 TSRMLS_CC);
}
#endif
@@ -504,14 +509,6 @@ static void alloc_globals_ctor(zend_alloc_globals *alloc_globals_p TSRMLS_DC)
}
#ifdef ZTS
static void alloc_globals_dtor(zend_alloc_globals *alloc_globals_p TSRMLS_DC)
{
shutdown_memory_manager(0, 1 TSRMLS_CC);
}
#endif
#if defined(__FreeBSD__) || defined(__DragonFly__)
/* FreeBSD and DragonFly floating point precision fix */
#include <floatingpoint.h>
@@ -706,6 +703,7 @@ void zend_shutdown(TSRMLS_D)
zend_hash_destroy(GLOBAL_AUTO_GLOBALS_TABLE);
free(GLOBAL_AUTO_GLOBALS_TABLE);
zend_shutdown_extensions(TSRMLS_C);
free(zend_version_info);
@@ -805,6 +803,13 @@ void zend_deactivate_modules(TSRMLS_D)
} zend_end_try();
}
void zend_call_destructors(TSRMLS_D)
{
zend_try {
shutdown_destructors(TSRMLS_C);
} zend_end_try();
}
void zend_deactivate(TSRMLS_D)
{
/* we're no longer executing anything */
@@ -822,6 +827,8 @@ void zend_deactivate(TSRMLS_D)
shutdown_compiler(TSRMLS_C);
} zend_end_try();
zend_destroy_rsrc_list(&EG(regular_list) TSRMLS_CC);
zend_try {
zend_ini_deactivate(TSRMLS_C);
} zend_end_try();
@@ -840,6 +847,7 @@ static int exec_done_cb(zend_module_entry *module TSRMLS_DC)
void zend_post_deactivate_modules(TSRMLS_D)
{
zend_hash_apply(&module_registry, (apply_func_t) exec_done_cb TSRMLS_CC);
zend_hash_apply(&module_registry, (apply_func_t) module_registry_unload_temp TSRMLS_CC);
}
@@ -866,14 +874,13 @@ ZEND_API int zend_get_configuration_directive(char *name, uint name_length, zval
ZEND_API void zend_error(int type, const char *format, ...)
{
va_list args;
va_list usr_copy;
zval ***params;
zval *retval;
zval *z_error_type, *z_error_message, *z_error_filename, *z_error_lineno, *z_context;
char *error_filename;
uint error_lineno;
zval *orig_user_error_handler;
zval *orig_garbage[2];
int orig_garbage_ptr;
TSRMLS_FETCH();
/* Obtain relevant filename and lineno */
@@ -937,7 +944,15 @@ ZEND_API void zend_error(int type, const char *format, ...)
ALLOC_INIT_ZVAL(z_error_lineno);
ALLOC_INIT_ZVAL(z_context);
z_error_message->value.str.len = zend_vspprintf(&z_error_message->value.str.val, 0, format, args);
#if defined(va_copy)
va_copy(usr_copy, args);
#else
usr_copy = args;
#endif
z_error_message->value.str.len = zend_vspprintf(&z_error_message->value.str.val, 0, format, usr_copy);
#if defined(va_copy)
va_end(usr_copy);
#endif
z_error_message->type = IS_STRING;
z_error_type->value.lval = type;
@@ -954,7 +969,7 @@ ZEND_API void zend_error(int type, const char *format, ...)
z_context->value.ht = EG(active_symbol_table);
z_context->type = IS_ARRAY;
ZVAL_ADDREF(z_context); /* we don't want this one to be freed */
zval_copy_ctor(z_context);
params = (zval ***) emalloc(sizeof(zval **)*5);
params[0] = &z_error_type;
@@ -966,12 +981,6 @@ ZEND_API void zend_error(int type, const char *format, ...)
orig_user_error_handler = EG(user_error_handler);
EG(user_error_handler) = NULL;
orig_garbage_ptr = EG(garbage_ptr);
EG(garbage_ptr) = 0;
if (orig_garbage_ptr > 0) {
memcpy(&orig_garbage, &EG(garbage), sizeof(zval*)*orig_garbage_ptr);
}
if (call_user_function_ex(CG(function_table), NULL, orig_user_error_handler, &retval, 5, params, 1, NULL TSRMLS_CC)==SUCCESS) {
if (retval) {
if (Z_TYPE_P(retval) == IS_BOOL && Z_LVAL_P(retval) == 0) {
@@ -984,24 +993,18 @@ ZEND_API void zend_error(int type, const char *format, ...)
zend_error_cb(type, error_filename, error_lineno, format, args);
}
if (orig_garbage_ptr > 0) {
while (EG(garbage_ptr)) {
zval_ptr_dtor(&EG(garbage)[--EG(garbage_ptr)]);
}
EG(garbage_ptr) = orig_garbage_ptr;
memcpy(&EG(garbage), &orig_garbage, sizeof(zval*)*orig_garbage_ptr);
if (!EG(user_error_handler)) {
EG(user_error_handler) = orig_user_error_handler;
} else {
zval_ptr_dtor(&orig_user_error_handler);
}
EG(user_error_handler) = orig_user_error_handler;
efree(params);
zval_ptr_dtor(&z_error_message);
zval_ptr_dtor(&z_error_type);
zval_ptr_dtor(&z_error_filename);
zval_ptr_dtor(&z_error_lineno);
if (ZVAL_REFCOUNT(z_context) == 2) {
FREE_ZVAL(z_context);
}
zval_ptr_dtor(&z_context);
break;
}
+24 -7
View File
@@ -22,7 +22,7 @@
#ifndef ZEND_H
#define ZEND_H
#define ZEND_VERSION "2.0.1-dev"
#define ZEND_VERSION "2.0.5"
#define ZEND_ENGINE_2
@@ -44,13 +44,13 @@
# include "zend_config.w32.h"
# define ZEND_PATHS_SEPARATOR ';'
#elif defined(NETWARE)
# include "zend_config.nw.h"
# include "acconfig.h"
# include <zend_config.h>
# define ZEND_PATHS_SEPARATOR ';'
#elif defined(__riscos__)
# include "zend_config.h"
# include <zend_config.h>
# define ZEND_PATHS_SEPARATOR ';'
#else
# include "zend_config.h"
# include <zend_config.h>
# define ZEND_PATHS_SEPARATOR ':'
#endif
@@ -91,7 +91,7 @@ const char *zend_mh_bundle_error(void);
#endif /* HAVE_MACH_O_DYLD_H */
#if defined(HAVE_LIBDL)
#if defined(HAVE_LIBDL) && !defined(HAVE_MACH_O_DYLD_H)
# ifndef RTLD_LAZY
# define RTLD_LAZY 1 /* Solaris 1, FreeBSD's (2.1.7.1 and older) */
@@ -103,6 +103,8 @@ const char *zend_mh_bundle_error(void);
# if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT)
# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT)
# elif defined(RTLD_DEEPBIND)
# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)
# else
# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL)
# endif
@@ -117,7 +119,7 @@ const char *zend_mh_bundle_error(void);
# define ZEND_EXTENSIONS_SUPPORT 1
#elif defined(HAVE_MACH_O_DYLD_H)
# define DL_LOAD(libname) zend_mh_bundle_load(libname)
# define DL_UNLOAD(handle) zend_mh_bundle_unload(handle)
# define DL_UNLOAD zend_mh_bundle_unload
# define DL_FETCH_SYMBOL(h,s) zend_mh_bundle_symbol(h,s)
# define DL_ERROR zend_mh_bundle_error
# define DL_HANDLE void *
@@ -450,6 +452,7 @@ END_EXTERN_C()
void zend_activate(TSRMLS_D);
void zend_deactivate(TSRMLS_D);
void zend_call_destructors(TSRMLS_D);
void zend_activate_modules(TSRMLS_D);
void zend_deactivate_modules(TSRMLS_D);
void zend_post_deactivate_modules(TSRMLS_D);
@@ -601,6 +604,20 @@ END_EXTERN_C()
(*ppzv_dest)->refcount = refcount; \
}
#define SEPARATE_ARG_IF_REF(varptr) \
if (PZVAL_IS_REF(varptr)) { \
zval *original_var = varptr; \
ALLOC_ZVAL(varptr); \
varptr->value = original_var->value; \
varptr->type = original_var->type; \
varptr->is_ref = 0; \
varptr->refcount = 1; \
zval_copy_ctor(varptr); \
} else { \
varptr->refcount++; \
}
#define ZEND_MAX_RESERVED_RESOURCES 4
+207 -58
View File
@@ -152,7 +152,29 @@ ZEND_API int _zend_get_parameters_array_ex(int param_count, zval ***argument_arr
}
while (param_count-->0) {
*(argument_array++) = (zval **) p-(arg_count--);
zval **value = (zval**)(p-arg_count);
if (EG(ze1_compatibility_mode) && Z_TYPE_PP(value) == IS_OBJECT) {
zval *value_ptr;
char *class_name;
zend_uint class_name_len;
int dup;
dup = zend_get_object_classname(*value, &class_name, &class_name_len TSRMLS_CC);
ALLOC_ZVAL(value_ptr);
*value_ptr = **value;
INIT_PZVAL(value_ptr);
zend_error(E_STRICT, "Implicit cloning object of class '%s' because of 'zend.ze1_compatibility_mode'", class_name);
if(!dup) {
efree(class_name);
}
value_ptr->value.obj = Z_OBJ_HANDLER_PP(value, clone_obj)(*value TSRMLS_CC);
zval_ptr_dtor(value);
*value = value_ptr;
}
*(argument_array++) = value;
arg_count--;
}
return SUCCESS;
@@ -161,7 +183,10 @@ ZEND_API int _zend_get_parameters_array_ex(int param_count, zval ***argument_arr
ZEND_API void zend_wrong_param_count(TSRMLS_D)
{
zend_error(E_WARNING, "Wrong parameter count for %s()", get_active_function_name(TSRMLS_C));
char *space;
char *class_name = get_active_class_name(&space TSRMLS_CC);
zend_error(E_WARNING, "Wrong parameter count for %s%s%s()", class_name, space, get_active_function_name(TSRMLS_C));
}
@@ -209,6 +234,20 @@ ZEND_API zend_class_entry *zend_get_class_entry(zval *zobject TSRMLS_DC)
}
}
/* returns 1 if you need to copy result, 0 if it's already a copy */
ZEND_API int zend_get_object_classname(zval *object, char **class_name, zend_uint *class_name_len TSRMLS_DC)
{
if (Z_OBJ_HT_P(object)->get_class_name == NULL ||
Z_OBJ_HT_P(object)->get_class_name(object, class_name, class_name_len, 0 TSRMLS_CC) != SUCCESS) {
zend_class_entry *ce = Z_OBJCE_P(object);
*class_name = ce->name;
*class_name_len = ce->name_length;
return 1;
}
return 0;
}
static char *zend_parse_arg_impl(zval **arg, va_list *va, char **spec TSRMLS_DC)
{
@@ -316,11 +355,13 @@ static char *zend_parse_arg_impl(zval **arg, va_list *va, char **spec TSRMLS_DC)
*pl = Z_STRLEN_PP(arg);
break;
case IS_OBJECT: {
if (Z_OBJ_HANDLER_PP(arg, cast_object)
&& Z_OBJ_HANDLER_PP(arg, cast_object)(*arg, *arg, IS_STRING, 0 TSRMLS_CC) == SUCCESS) {
*pl = Z_STRLEN_PP(arg);
*p = Z_STRVAL_PP(arg);
break;
if (Z_OBJ_HANDLER_PP(arg, cast_object)) {
SEPARATE_ZVAL_IF_NOT_REF(arg);
if (Z_OBJ_HANDLER_PP(arg, cast_object)(*arg, *arg, IS_STRING, 0 TSRMLS_CC) == SUCCESS) {
*pl = Z_STRLEN_PP(arg);
*p = Z_STRVAL_PP(arg);
break;
}
}
}
@@ -450,8 +491,10 @@ static int zend_parse_arg(int arg_num, zval **arg, va_list *va, char **spec, int
expected_type = zend_parse_arg_impl(arg, va, spec TSRMLS_CC);
if (expected_type) {
if (!quiet) {
zend_error(E_WARNING, "%s() expects parameter %d to be %s, %s given",
get_active_function_name(TSRMLS_C), arg_num, expected_type,
char *space;
char *class_name = get_active_class_name(&space TSRMLS_CC);
zend_error(E_WARNING, "%s%s%s() expects parameter %d to be %s, %s given",
class_name, space, get_active_function_name(TSRMLS_C), arg_num, expected_type,
zend_zval_type_name(*arg));
}
return FAILURE;
@@ -685,6 +728,21 @@ ZEND_API void zend_merge_properties(zval *obj, HashTable *properties, int destro
}
ZEND_API void zend_update_class_constants(zend_class_entry *class_type TSRMLS_DC)
{
if (!class_type->constants_updated) {
zend_class_entry **scope = EG(in_execution)?&EG(scope):&CG(active_class_entry);
zend_class_entry *old_scope = *scope;
*scope = class_type;
zend_hash_apply_with_argument(&class_type->default_properties, (apply_func_arg_t) zval_update_constant, (void *) 1 TSRMLS_CC);
zend_hash_apply_with_argument(class_type->static_members, (apply_func_arg_t) zval_update_constant, (void *) 1 TSRMLS_CC);
*scope = old_scope;
class_type->constants_updated = 1;
}
}
/* This function requires 'properties' to contain all props declared in the
* class and all props being public. If only a subset is given or the class
* has protected members then you need to merge the properties seperately by
@@ -699,11 +757,7 @@ ZEND_API int _object_and_properties_init(zval *arg, zend_class_entry *class_type
zend_error(E_ERROR, "Cannot instantiate %s %s", what, class_type->name);
}
if (!class_type->constants_updated) {
zend_hash_apply_with_argument(&class_type->default_properties, (apply_func_arg_t) zval_update_constant, (void *) 1 TSRMLS_CC);
zend_hash_apply_with_argument(class_type->static_members, (apply_func_arg_t) zval_update_constant, (void *) 1 TSRMLS_CC);
class_type->constants_updated = 1;
}
zend_update_class_constants(class_type TSRMLS_CC);
arg->type = IS_OBJECT;
if (class_type->create_object == NULL) {
@@ -1216,6 +1270,29 @@ ZEND_API int zend_startup_module(zend_module_entry *module)
return zend_register_module_ex(module TSRMLS_CC);
}
void zend_check_magic_method_implementation(zend_class_entry *ce, zend_function *fptr, int error_type TSRMLS_DC)
{
char lcname[16];
int name_len;
/* we don't care if the function name is longer, in fact lowercasing only
* the beginning of the name speeds up the check process */
name_len = strlen(fptr->common.function_name);
zend_str_tolower_copy(lcname, fptr->common.function_name, MIN(name_len, sizeof(lcname)-1));
lcname[sizeof(lcname)-1] = '\0'; /* zend_str_tolower_copy won't necessarily set the zero byte */
if (name_len == sizeof(ZEND_DESTRUCTOR_FUNC_NAME) - 1 && !memcmp(lcname, ZEND_DESTRUCTOR_FUNC_NAME, sizeof(ZEND_DESTRUCTOR_FUNC_NAME)) && fptr->common.num_args != 0) {
zend_error(error_type, "Destuctor %s::%s() cannot take arguments", ce->name, ZEND_DESTRUCTOR_FUNC_NAME);
} else if (name_len == sizeof(ZEND_CLONE_FUNC_NAME) - 1 && !memcmp(lcname, ZEND_CLONE_FUNC_NAME, sizeof(ZEND_CLONE_FUNC_NAME)) && fptr->common.num_args != 0) {
zend_error(error_type, "Method %s::%s() cannot accept any arguments", ce->name, ZEND_CLONE_FUNC_NAME);
} else if (name_len == sizeof(ZEND_GET_FUNC_NAME) - 1 && !memcmp(lcname, ZEND_GET_FUNC_NAME, sizeof(ZEND_GET_FUNC_NAME)) && fptr->common.num_args != 1) {
zend_error(error_type, "Method %s::%s() must take exactly 1 argument", ce->name, ZEND_GET_FUNC_NAME);
} else if (name_len == sizeof(ZEND_SET_FUNC_NAME) - 1 && !memcmp(lcname, ZEND_SET_FUNC_NAME, sizeof(ZEND_SET_FUNC_NAME)) && fptr->common.num_args != 2) {
zend_error(error_type, "Method %s::%s() must take exactly 2 arguments", ce->name, ZEND_SET_FUNC_NAME);
} else if (name_len == sizeof(ZEND_CALL_FUNC_NAME) - 1 && !memcmp(lcname, ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME)) && fptr->common.num_args != 2) {
zend_error(error_type, "Method %s::%s() must take exactly 2 arguments", ce->name, ZEND_CALL_FUNC_NAME);
}
}
/* registers all functions in *library_functions in the function hash */
ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entry *functions, HashTable *function_table, int type TSRMLS_DC)
@@ -1226,9 +1303,11 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr
int count=0, unload=0;
HashTable *target_function_table = function_table;
int error_type;
zend_function *ctor = NULL, *dtor = NULL, *clone = NULL;
zend_function *ctor = NULL, *dtor = NULL, *clone = NULL, *__get = NULL, *__set = NULL, *__call = NULL;
char *lowercase_name;
int fname_len;
char *lc_class_name;
int class_name_len;
if (type==MODULE_PERSISTENT) {
error_type = E_CORE_WARNING;
@@ -1240,6 +1319,11 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr
target_function_table = CG(function_table);
}
internal_function->type = ZEND_INTERNAL_FUNCTION;
if (scope) {
class_name_len = strlen(scope->name);
lc_class_name = zend_str_tolower_dup(scope->name, class_name_len);
}
while (ptr->fname) {
internal_function->handler = ptr->handler;
@@ -1267,7 +1351,7 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr
if (ptr->flags) {
if (!(ptr->flags & ZEND_ACC_PPP_MASK)) {
zend_error(error_type, "Invalid access level for %s%s%s() - access must be exactly one of public, protected or private", scope ? scope->name : "", scope ? "::" : "", ptr->fname);
internal_function->fn_flags |= ZEND_ACC_PUBLIC;
internal_function->fn_flags = ZEND_ACC_PUBLIC;
} else {
internal_function->fn_flags = ptr->flags;
}
@@ -1309,18 +1393,28 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr
* If it's an old-style constructor, store it only if we don't have
* a constructor already.
*/
if (!strcmp(ptr->fname, scope->name) && !ctor) {
if ((fname_len == class_name_len) && !memcmp(lowercase_name, lc_class_name, class_name_len+1) && !ctor) {
ctor = reg_function;
} else if (!strcmp(ptr->fname, ZEND_CONSTRUCTOR_FUNC_NAME)) {
} else if ((fname_len == sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) && !memcmp(lowercase_name, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME))) {
ctor = reg_function;
} else if (!strcmp(ptr->fname, ZEND_DESTRUCTOR_FUNC_NAME)) {
} else if ((fname_len == sizeof(ZEND_DESTRUCTOR_FUNC_NAME)-1) && !memcmp(lowercase_name, ZEND_DESTRUCTOR_FUNC_NAME, sizeof(ZEND_DESTRUCTOR_FUNC_NAME))) {
dtor = reg_function;
if (internal_function->num_args) {
zend_error(error_type, "Destructor %s::%s() cannot take arguments", scope->name, ptr->fname);
}
} else if (!strcmp(ptr->fname, ZEND_CLONE_FUNC_NAME)) {
} else if ((fname_len == sizeof(ZEND_CLONE_FUNC_NAME)-1) && !memcmp(lowercase_name, ZEND_CLONE_FUNC_NAME, sizeof(ZEND_CLONE_FUNC_NAME))) {
clone = reg_function;
} else if ((fname_len == sizeof(ZEND_CALL_FUNC_NAME)-1) && !memcmp(lowercase_name, ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME))) {
__call = reg_function;
} else if ((fname_len == sizeof(ZEND_GET_FUNC_NAME)-1) && !memcmp(lowercase_name, ZEND_GET_FUNC_NAME, sizeof(ZEND_GET_FUNC_NAME))) {
__get = reg_function;
} else if ((fname_len == sizeof(ZEND_SET_FUNC_NAME)-1) && !memcmp(lowercase_name, ZEND_SET_FUNC_NAME, sizeof(ZEND_SET_FUNC_NAME))) {
__set = reg_function;
} else {
reg_function = NULL;
}
if (reg_function) {
zend_check_magic_method_implementation(scope, reg_function, error_type TSRMLS_CC);
}
}
ptr++;
@@ -1328,9 +1422,12 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr
free_alloca(lowercase_name);
}
if (unload) { /* before unloading, display all remaining bad function in the module */
if (scope) {
efree(lc_class_name);
}
while (ptr->fname) {
if (zend_hash_exists(target_function_table, ptr->fname, strlen(ptr->fname)+1)) {
zend_error(error_type, "Function registration failed - duplicate name - %s", ptr->fname);
zend_error(error_type, "Function registration failed - duplicate name - %s%s%s", scope ? scope->name : "", scope ? "::" : "", ptr->fname);
}
ptr++;
}
@@ -1341,27 +1438,49 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr
scope->constructor = ctor;
scope->destructor = dtor;
scope->clone = clone;
scope->__call = __call;
scope->__get = __get;
scope->__set = __set;
if (ctor) {
ctor->common.fn_flags |= ZEND_ACC_CTOR;
if (ctor->common.fn_flags & ZEND_ACC_STATIC) {
zend_error(error_type, "Constructor %s::%s cannot be static", ctor->common.scope->name, ctor->common.function_name);
zend_error(error_type, "Constructor %s::%s() cannot be static", scope->name, ctor->common.function_name);
}
ctor->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
}
if (dtor) {
dtor->common.fn_flags |= ZEND_ACC_DTOR;
if (dtor->common.fn_flags & ZEND_ACC_STATIC) {
zend_error(error_type, "Destructor %s::%s cannot be static", dtor->common.scope->name, dtor->common.function_name);
zend_error(error_type, "Destructor %s::%s() cannot be static", scope->name, dtor->common.function_name);
}
dtor->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
}
if (clone) {
clone->common.fn_flags |= ZEND_ACC_CLONE;
if (clone->common.fn_flags & ZEND_ACC_STATIC) {
zend_error(error_type, "Constructor %s::%s cannot be static", clone->common.scope->name, clone->common.function_name);
zend_error(error_type, "Constructor %s::%s() cannot be static", scope->name, clone->common.function_name);
}
clone->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
}
if (__call) {
if (__call->common.fn_flags & ZEND_ACC_STATIC) {
zend_error(error_type, "Method %s::%s() cannot be static", scope->name, __call->common.function_name);
}
__call->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
}
if (__get) {
if (__get->common.fn_flags & ZEND_ACC_STATIC) {
zend_error(error_type, "Method %s::%s() cannot be static", scope->name, __get->common.function_name);
}
__get->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
}
if (__set) {
if (__set->common.fn_flags & ZEND_ACC_STATIC) {
zend_error(error_type, "Method %s::%s() cannot be static", scope->name, __set->common.function_name);
}
__set->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
}
efree(lc_class_name);
}
return SUCCESS;
}
@@ -1415,9 +1534,6 @@ void module_destructor(zend_module_entry *module)
if (module->type == MODULE_TEMPORARY) {
zend_clean_module_rsrc_dtors(module->module_number TSRMLS_CC);
clean_module_constants(module->module_number TSRMLS_CC);
if (module->request_shutdown_func) {
module->request_shutdown_func(module->type, module->module_number TSRMLS_CC);
}
}
if (module->module_started && module->module_shutdown_func) {
@@ -1431,9 +1547,9 @@ void module_destructor(zend_module_entry *module)
zend_unregister_functions(module->functions, -1, NULL TSRMLS_CC);
}
#if HAVE_LIBDL
#if HAVE_LIBDL || defined(HAVE_MACH_O_DYLD_H)
if (module->handle) {
dlclose(module->handle);
DL_UNLOAD(module->handle);
}
#endif
}
@@ -1455,24 +1571,23 @@ int module_registry_request_startup(zend_module_entry *module TSRMLS_DC)
}
/* for persistent modules - call request shutdown and flag NOT to erase
* for temporary modules - do nothing, and flag to erase
*/
/* call request shutdown for all modules */
int module_registry_cleanup(zend_module_entry *module TSRMLS_DC)
{
switch (module->type) {
case MODULE_PERSISTENT:
if (module->request_shutdown_func) {
if (module->request_shutdown_func) {
#if 0
zend_printf("%s: Request shutdown\n", module->name);
zend_printf("%s: Request shutdown\n", module->name);
#endif
module->request_shutdown_func(module->type, module->module_number TSRMLS_CC);
}
return 0;
break;
module->request_shutdown_func(module->type, module->module_number TSRMLS_CC);
}
return 0;
}
int module_registry_unload_temp(zend_module_entry *module TSRMLS_DC)
{
switch (module->type) {
case MODULE_TEMPORARY:
return 1;
break;
}
return 0;
}
@@ -1534,7 +1649,9 @@ ZEND_API zend_class_entry *zend_register_internal_class_ex(zend_class_entry *cla
ZEND_API void zend_class_implements(zend_class_entry *class_entry TSRMLS_DC, int num_interfaces, ...)
{
zend_class_entry *interface_entry;
int ce_num = class_entry->num_interfaces, impl_num;
va_list interface_list;
va_start(interface_list, num_interfaces);
if (class_entry->type & ZEND_INTERNAL_CLASS) {
class_entry->interfaces = realloc(class_entry->interfaces, sizeof(zend_class_entry*) * (class_entry->num_interfaces+num_interfaces));
@@ -1542,11 +1659,13 @@ ZEND_API void zend_class_implements(zend_class_entry *class_entry TSRMLS_DC, int
class_entry->interfaces = erealloc(class_entry->interfaces, sizeof(zend_class_entry*) * (class_entry->num_interfaces+num_interfaces));
}
va_start(interface_list, num_interfaces);
while (num_interfaces--) {
interface_entry = va_arg(interface_list, zend_class_entry *);
class_entry->interfaces[class_entry->num_interfaces++] = interface_entry;
zend_do_implement_interface(class_entry, interface_entry TSRMLS_CC);
}
impl_num = class_entry->num_interfaces;
while(ce_num < impl_num) {
zend_do_implement_interface(class_entry, class_entry->interfaces[ce_num++] TSRMLS_CC);
}
va_end(interface_list);
}
@@ -1639,7 +1758,7 @@ ZEND_API int zend_disable_class(char *class_name, uint class_name_length TSRMLS_
return 1;
}
ZEND_API zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char **callable_name)
ZEND_API zend_bool zend_is_callable(zval *callable, uint check_flags, char **callable_name)
{
char *lcname;
zend_bool retval = 0;
@@ -1650,7 +1769,7 @@ ZEND_API zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char
if (callable_name) {
*callable_name = estrndup(Z_STRVAL_P(callable), Z_STRLEN_P(callable));
}
if (syntax_only) {
if (check_flags & IS_CALLABLE_CHECK_SYNTAX_ONLY) {
return 1;
}
@@ -1687,7 +1806,7 @@ ZEND_API zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char
memcpy(ptr, Z_STRVAL_PP(method), Z_STRLEN_PP(method) + 1);
}
if (syntax_only)
if (check_flags & IS_CALLABLE_CHECK_SYNTAX_ONLY)
return 1;
lcname = zend_str_tolower_dup(Z_STRVAL_PP(obj), Z_STRLEN_PP(obj));
@@ -1716,14 +1835,27 @@ ZEND_API zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char
memcpy(ptr, Z_STRVAL_PP(method), Z_STRLEN_PP(method) + 1);
}
if (syntax_only)
if (check_flags & IS_CALLABLE_CHECK_SYNTAX_ONLY)
return 1;
}
if (ce) {
zend_function *fbc;
lcname = zend_str_tolower_dup(Z_STRVAL_PP(method), Z_STRLEN_PP(method));
if (zend_hash_exists(&ce->function_table, lcname, Z_STRLEN_PP(method)+1)) {
if (zend_hash_find(&ce->function_table, lcname, Z_STRLEN_PP(method)+1, (void **)&fbc) == SUCCESS) {
retval = 1;
if ((check_flags & IS_CALLABLE_CHECK_NO_ACCESS) == 0) {
if (fbc->op_array.fn_flags & ZEND_ACC_PRIVATE) {
if (!zend_check_private(fbc, (Z_TYPE_PP(obj) == IS_STRING)?EG(scope):(*obj)->value.obj.handlers->get_class_entry(*obj TSRMLS_CC), lcname, Z_STRLEN_PP(method) TSRMLS_CC)) {
retval = 0;
}
} else if ((fbc->common.fn_flags & ZEND_ACC_PROTECTED)) {
if (!zend_check_protected(fbc->common.scope, EG(scope))) {
retval = 0;
}
}
}
}
/* check for __call too */
if (retval == 0 && ce->__call != 0) {
@@ -1755,8 +1887,10 @@ ZEND_API zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char
ZEND_API zend_bool zend_make_callable(zval *callable, char **callable_name TSRMLS_DC)
{
char *lcname, *func;
char *lcname, *func, *class_name;
zend_bool retval = 0;
zend_class_entry **pce;
int class_name_len;
if (zend_is_callable(callable, 0, callable_name)) {
return 1;
@@ -1766,12 +1900,18 @@ ZEND_API zend_bool zend_make_callable(zval *callable, char **callable_name TSRML
lcname = zend_str_tolower_dup(Z_STRVAL_P(callable), Z_STRLEN_P(callable));
if ((func = strstr(lcname, "::")) != NULL) {
zval_dtor(callable);
array_init(callable);
add_next_index_stringl(callable, lcname, func - lcname, 1);
func += 2;
add_next_index_stringl(callable, func, strlen(func), 1);
retval = 1;
*func = '\0';
class_name_len = func - lcname;
class_name = estrndup(Z_STRVAL_P(callable), class_name_len);
if (zend_lookup_class(class_name, class_name_len, &pce TSRMLS_CC) == SUCCESS) {
zval_dtor(callable);
array_init(callable);
add_next_index_stringl(callable, lcname, class_name_len, 1);
func += 2;
add_next_index_stringl(callable, func, strlen(func), 1);
retval = 1;
}
efree(class_name);
}
efree(lcname);
break;
@@ -1911,7 +2051,12 @@ ZEND_API void zend_update_property(zend_class_entry *scope, zval *object, char *
EG(scope) = scope;
if (!Z_OBJ_HT_P(object)->write_property) {
zend_error(E_CORE_ERROR, "Property %s of class %s cannot be updated", Z_OBJCE_P(object)->name, name);
char *class_name;
zend_uint class_name_len;
zend_get_object_classname(object, &class_name, &class_name_len TSRMLS_CC);
zend_error(E_CORE_ERROR, "Property %s of class %s cannot be updated", name, class_name);
}
ZVAL_STRINGL(&property, name, name_length, 0);
Z_OBJ_HT_P(object)->write_property(object, &property, value TSRMLS_CC);
@@ -1960,7 +2105,11 @@ ZEND_API zval *zend_read_property(zend_class_entry *scope, zval *object, char *n
EG(scope) = scope;
if (!Z_OBJ_HT_P(object)->read_property) {
zend_error(E_CORE_ERROR, "Property %s of class %s cannot be read", Z_OBJCE_P(object)->name, name);
char *class_name;
zend_uint class_name_len;
zend_get_object_classname(object, &class_name, &class_name_len TSRMLS_CC);
zend_error(E_CORE_ERROR, "Property %s of class %s cannot be read", name, class_name);
}
ZVAL_STRINGL(&property, name, name_length, 0);
value = Z_OBJ_HT_P(object)->read_property(object, &property, silent TSRMLS_CC);
+8 -1
View File
@@ -168,6 +168,7 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr
ZEND_API void zend_unregister_functions(zend_function_entry *functions, int count, HashTable *function_table TSRMLS_DC);
ZEND_API int zend_register_module(zend_module_entry *module_entry);
ZEND_API int zend_register_module_ex(zend_module_entry *module TSRMLS_DC);
void zend_check_magic_method_implementation(zend_class_entry *ce, zend_function *fptr, int error_type TSRMLS_DC);
ZEND_API zend_class_entry *zend_register_internal_class(zend_class_entry *class_entry TSRMLS_DC);
ZEND_API zend_class_entry *zend_register_internal_class_ex(zend_class_entry *class_entry, zend_class_entry *parent_ce, char *parent_name TSRMLS_DC);
@@ -178,7 +179,11 @@ ZEND_API int zend_disable_function(char *function_name, uint function_name_lengt
ZEND_API int zend_disable_class(char *class_name, uint class_name_length TSRMLS_DC);
ZEND_API void zend_wrong_param_count(TSRMLS_D);
ZEND_API zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char **callable_name);
#define IS_CALLABLE_CHECK_SYNTAX_ONLY (1<<0)
#define IS_CALLABLE_CHECK_NO_ACCESS (1<<1)
ZEND_API zend_bool zend_is_callable(zval *callable, uint check_flags, char **callable_name);
ZEND_API zend_bool zend_make_callable(zval *callable, char **callable_name TSRMLS_DC);
ZEND_API char *zend_get_module_version(char *module_name);
ZEND_API int zend_get_module_started(char *module_name);
@@ -187,6 +192,7 @@ ZEND_API int zend_declare_property_null(zend_class_entry *ce, char *name, int na
ZEND_API int zend_declare_property_long(zend_class_entry *ce, char *name, int name_length, long value, int access_type TSRMLS_DC);
ZEND_API int zend_declare_property_string(zend_class_entry *ce, char *name, int name_length, char *value, int access_type TSRMLS_DC);
ZEND_API void zend_update_class_constants(zend_class_entry *class_type TSRMLS_DC);
ZEND_API void zend_update_property(zend_class_entry *scope, zval *object, char *name, int name_length, zval *value TSRMLS_DC);
ZEND_API void zend_update_property_null(zend_class_entry *scope, zval *object, char *name, int name_length TSRMLS_DC);
ZEND_API void zend_update_property_long(zend_class_entry *scope, zval *object, char *name, int name_length, long value TSRMLS_DC);
@@ -195,6 +201,7 @@ ZEND_API void zend_update_property_string(zend_class_entry *scope, zval *object,
ZEND_API zval *zend_read_property(zend_class_entry *scope, zval *object, char *name, int name_length, zend_bool silent TSRMLS_DC);
ZEND_API zend_class_entry *zend_get_class_entry(zval *zobject TSRMLS_DC);
ZEND_API int zend_get_object_classname(zval *object, char **class_name, zend_uint *class_name_len TSRMLS_DC);
#define getThis() (this_ptr)
+3 -3
View File
@@ -75,7 +75,8 @@ static long mem_block_end_magic = MEM_BLOCK_END_MAGIC;
#define _CHECK_MEMORY_LIMIT(s, rs, file, lineno) { AG(allocated_memory) += rs;\
if (AG(memory_limit)<AG(allocated_memory)) {\
int php_mem_limit = AG(memory_limit); \
if (EG(in_execution) && AG(memory_limit)+1048576 > AG(allocated_memory) - rs) { \
AG(allocated_memory) -= rs; \
if (EG(in_execution) && AG(memory_limit)+1048576 > AG(allocated_memory)) { \
AG(memory_limit) = AG(allocated_memory) + 1048576; \
if (file) { \
zend_error(E_ERROR,"Allowed memory size of %d bytes exhausted at %s:%d (tried to allocate %d bytes)", php_mem_limit, file, lineno, s); \
@@ -388,7 +389,6 @@ ZEND_API char *_estrdup(const char *s ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
return p;
}
ZEND_API char *_estrndup(const char *s, uint length ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
{
char *p;
@@ -481,7 +481,7 @@ ZEND_API void shutdown_memory_manager(int silent, int full_shutdown TSRMLS_DC)
unsigned int i, j;
zend_mem_header *ptr;
for (i=1; i<MAX_CACHED_MEMORY; i++) {
for (i=0; i<MAX_CACHED_MEMORY; i++) {
for (j=0; j<AG(cache_count)[i]; j++) {
ptr = (zend_mem_header *) AG(cache)[i][j];
# if MEMORY_LIMIT
+44
View File
@@ -85,6 +85,8 @@ ZEND_API void *_erealloc(void *ptr, size_t size, int allow_failure ZEND_FILE_LIN
ZEND_API char *_estrdup(const char *s ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC;
ZEND_API char *_estrndup(const char *s, unsigned int length ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC;
#if USE_ZEND_ALLOC
/* Standard wrapper macros */
#define emalloc(size) _emalloc((size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
#define safe_emalloc(nmemb, size, offset) _safe_emalloc((nmemb), (size), (offset) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
@@ -120,6 +122,48 @@ ZEND_API char *_estrndup(const char *s, unsigned int length ZEND_FILE_LINE_DC ZE
#define perealloc_recoverable_rel(ptr, size, persistent) ((persistent)?realloc((ptr), (size)):erealloc_recoverable_rel((ptr), (size)))
#define pestrdup_rel(s, persistent) ((persistent)?strdup(s):estrdup_rel(s))
#else
#define _GNU_SOURCE
#include <string.h>
#undef _GNU_SOURCE
/* Standard wrapper macros */
#define emalloc(size) malloc(size)
#define safe_emalloc(nmemb, size, offset) malloc((nmemb) * (size) + (offset))
#define efree(ptr) free(ptr)
#define ecalloc(nmemb, size) calloc((nmemb), (size))
#define erealloc(ptr, size) realloc((ptr), (size))
#define erealloc_recoverable(ptr, size) realloc((ptr), (size))
#define estrdup(s) strdup(s)
#define estrndup(s, length) zend_strndup((s), (length))
/* Relay wrapper macros */
#define emalloc_rel(size) malloc(size)
#define safe_emalloc_rel(nmemb, size, offset) malloc((nmemb) * (size) + (offset))
#define efree_rel(ptr) free(ptr)
#define ecalloc_rel(nmemb, size) calloc((nmemb), (size))
#define erealloc_rel(ptr, size) realloc((ptr), (size))
#define erealloc_recoverable_rel(ptr, size) realloc((ptr), (size))
#define estrdup_rel(s) strdup(s)
#define estrndup_rel(s, length) zend_strndup((s), (length))
/* Selective persistent/non persistent allocation macros */
#define pemalloc(size, persistent) malloc(size)
#define pefree(ptr, persistent) free(ptr)
#define pecalloc(nmemb, size, persistent) calloc((nmemb), (size))
#define perealloc(ptr, size, persistent) realloc((ptr), (size))
#define perealloc_recoverable(ptr, size, persistent) realloc((ptr), (size))
#define pestrdup(s, persistent) strdup(s)
#define pemalloc_rel(size, persistent) malloc(size)
#define pefree_rel(ptr, persistent) free(ptr)
#define pecalloc_rel(nmemb, size, persistent) calloc((nmemb), (size))
#define perealloc_rel(ptr, size, persistent) realloc((ptr), (size))
#define perealloc_recoverable_rel(ptr, size, persistent) realloc((ptr), (size))
#define pestrdup_rel(s, persistent) strdup(s)
#endif /* !USE_ZEND_ALLOC */
#define safe_estrdup(ptr) ((ptr)?(estrdup(ptr)):(empty_string))
#define safe_estrndup(ptr, len) ((ptr)?(estrndup((ptr), (len))):(empty_string))
+260 -74
View File
@@ -44,6 +44,7 @@ static ZEND_FUNCTION(get_class);
static ZEND_FUNCTION(get_parent_class);
static ZEND_FUNCTION(method_exists);
static ZEND_FUNCTION(class_exists);
static ZEND_FUNCTION(interface_exists);
static ZEND_FUNCTION(function_exists);
#if ZEND_DEBUG
static ZEND_FUNCTION(leak);
@@ -102,6 +103,7 @@ static zend_function_entry builtin_functions[] = {
ZEND_FE(get_parent_class, NULL)
ZEND_FE(method_exists, NULL)
ZEND_FE(class_exists, NULL)
ZEND_FE(interface_exists, NULL)
ZEND_FE(function_exists, NULL)
#if ZEND_DEBUG
ZEND_FE(leak, NULL)
@@ -431,7 +433,7 @@ ZEND_FUNCTION(error_reporting)
/* }}} */
/* {{{ proto bool define(string constant_name, mixed value, case_sensitive=true)
/* {{{ proto bool define(string constant_name, mixed value, boolean case_sensitive=true)
Define a new constant */
ZEND_FUNCTION(define)
{
@@ -521,6 +523,7 @@ ZEND_FUNCTION(get_class)
zval **arg;
char *name = "";
zend_uint name_len = 0;
int dup;
if (!ZEND_NUM_ARGS()) {
if (EG(scope)) {
@@ -536,19 +539,9 @@ ZEND_FUNCTION(get_class)
RETURN_FALSE;
}
if (Z_OBJ_HT_PP(arg)->get_class_name == NULL ||
Z_OBJ_HT_PP(arg)->get_class_name(*arg, &name, &name_len, 0 TSRMLS_CC) != SUCCESS) {
zend_class_entry *ce;
dup = zend_get_object_classname(*arg, &name, &name_len TSRMLS_CC);
ce = zend_get_class_entry(*arg TSRMLS_CC);
if (!ce) {
RETURN_FALSE;
}
RETURN_STRINGL(ce->name, ce->name_length, 1);
}
RETURN_STRINGL(name, name_len, 0);
RETURN_STRINGL(name, name_len, dup);
}
/* }}} */
@@ -601,12 +594,21 @@ static void is_a_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool only_subclass)
ZEND_WRONG_PARAM_COUNT();
}
if (Z_TYPE_PP(obj) != IS_OBJECT) {
if (only_subclass && Z_TYPE_PP(obj) == IS_STRING) {
zend_class_entry **the_ce;
if (zend_lookup_class(Z_STRVAL_PP(obj), Z_STRLEN_PP(obj), &the_ce TSRMLS_CC) == FAILURE) {
zend_error(E_WARNING, "Unknown class passed as parameter");
RETURN_FALSE;
}
instance_ce = *the_ce;
} else if (Z_TYPE_PP(obj) != IS_OBJECT) {
RETURN_FALSE;
} else {
instance_ce = NULL;
}
/* TBI!! new object handlers */
if (!HAS_CLASS_ENTRY(**obj)) {
if (Z_TYPE_PP(obj) == IS_OBJECT && !HAS_CLASS_ENTRY(**obj)) {
RETURN_FALSE;
}
@@ -616,7 +618,11 @@ static void is_a_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool only_subclass)
retval = 0;
} else {
if (only_subclass) {
instance_ce = Z_OBJCE_PP(obj)->parent;
if (!instance_ce) {
instance_ce = Z_OBJCE_PP(obj)->parent;
} else {
instance_ce = instance_ce->parent;
}
} else {
instance_ce = Z_OBJCE_PP(obj);
}
@@ -655,30 +661,72 @@ ZEND_FUNCTION(is_a)
/* }}} */
/* {{{ add_class_vars */
static void add_class_vars(zend_class_entry *ce, HashTable *properties, zval *return_value TSRMLS_DC)
{
int instanceof = EG(scope) && instanceof_function(EG(scope), ce TSRMLS_CC);
if (zend_hash_num_elements(properties) > 0) {
HashPosition pos;
zval **prop;
zend_hash_internal_pointer_reset_ex(properties, &pos);
while (zend_hash_get_current_data_ex(properties, (void **) &prop, &pos) == SUCCESS) {
char *key, *class_name, *prop_name;
uint key_len;
ulong num_index;
zval *prop_copy;
zend_hash_get_current_key_ex(properties, &key, &key_len, &num_index, 0, &pos);
zend_hash_move_forward_ex(properties, &pos);
zend_unmangle_property_name(key, &class_name, &prop_name);
if (class_name) {
if (class_name[0] != '*' && strcmp(class_name, ce->name)) {
/* filter privates from base classes */
continue;
} else if (!instanceof) {
/* filter protected if not inside class */
continue;
}
}
/* copy: enforce read only access */
ALLOC_ZVAL(prop_copy);
*prop_copy = **prop;
zval_copy_ctor(prop_copy);
INIT_PZVAL(prop_copy);
/* this is necessary to make it able to work with default array
* properties, returned to user */
if (Z_TYPE_P(prop_copy) == IS_CONSTANT_ARRAY || Z_TYPE_P(prop_copy) == IS_CONSTANT) {
zval_update_constant(&prop_copy, 0 TSRMLS_CC);
}
add_assoc_zval(return_value, prop_name, prop_copy);
}
}
}
/* }}} */
/* {{{ proto array get_class_vars(string class_name)
Returns an array of default properties of the class */
Returns an array of default properties of the class. */
ZEND_FUNCTION(get_class_vars)
{
zval **class_name;
zend_class_entry *ce, **pce;
zval *tmp;
char *class_name;
int class_name_len;
zend_class_entry **pce;
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &class_name)==FAILURE) {
ZEND_WRONG_PARAM_COUNT();
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &class_name, &class_name_len) == FAILURE) {
return;
}
convert_to_string_ex(class_name);
if (zend_lookup_class(Z_STRVAL_PP(class_name), Z_STRLEN_PP(class_name), &pce TSRMLS_CC) == FAILURE) {
if (zend_lookup_class(class_name, class_name_len, &pce TSRMLS_CC) == FAILURE) {
RETURN_FALSE;
} else {
ce = *pce;
array_init(return_value);
if (!ce->constants_updated) {
zend_hash_apply_with_argument(&ce->default_properties, (apply_func_arg_t) zval_update_constant, (void *) 1 TSRMLS_CC);
ce->constants_updated = 1;
}
zend_hash_copy(return_value->value.ht, &ce->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
add_class_vars(*pce, &(*pce)->default_properties, return_value TSRMLS_CC);
add_class_vars(*pce, (*pce)->static_members, return_value TSRMLS_CC);
}
}
/* }}} */
@@ -692,9 +740,10 @@ ZEND_FUNCTION(get_object_vars)
zval **value;
HashTable *properties;
HashPosition pos;
char *key;
char *key, *prop_name, *class_name;
uint key_len;
ulong num_index;
int instanceof;
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &obj) == FAILURE) {
ZEND_WRONG_PARAM_COUNT();
@@ -707,16 +756,27 @@ ZEND_FUNCTION(get_object_vars)
RETURN_FALSE;
}
instanceof = EG(This) && instanceof_function(Z_OBJCE_P(EG(This)), Z_OBJCE_PP(obj) TSRMLS_CC);
array_init(return_value);
properties = Z_OBJ_HT_PP(obj)->get_properties(*obj TSRMLS_CC);
zend_hash_internal_pointer_reset_ex(properties, &pos);
while (zend_hash_get_current_data_ex(properties, (void **) &value, &pos) == SUCCESS) {
if (zend_hash_get_current_key_ex(properties, &key, &key_len, &num_index, 0, &pos) == HASH_KEY_IS_STRING && key[0]) {
if (zend_hash_get_current_key_ex(properties, &key, &key_len, &num_index, 0, &pos) == HASH_KEY_IS_STRING) {
if (key[0]) {
/* Not separating references */
(*value)->refcount++;
add_assoc_zval_ex(return_value, key, key_len, *value);
} else if (instanceof) {
zend_unmangle_property_name(key, &class_name, &prop_name);
if (!memcmp(class_name, "*", 2) || (Z_OBJCE_P(EG(This)) == Z_OBJCE_PP(obj) && !strcmp(Z_OBJCE_P(EG(This))->name, class_name))) {
/* Not separating references */
(*value)->refcount++;
add_assoc_zval_ex(return_value, prop_name, strlen(prop_name)+1, *value);
}
}
}
zend_hash_move_forward_ex(properties, &pos);
}
@@ -758,14 +818,20 @@ ZEND_FUNCTION(get_class_methods)
zend_hash_internal_pointer_reset_ex(&ce->function_table, &pos);
while (zend_hash_get_current_data_ex(&ce->function_table, (void **) &mptr, &pos) == SUCCESS) {
MAKE_STD_ZVAL(method_name);
ZVAL_STRING(method_name, mptr->common.function_name, 1);
zend_hash_next_index_insert(return_value->value.ht, &method_name, sizeof(zval *), NULL);
if ((mptr->common.fn_flags & ZEND_ACC_PUBLIC)
|| (EG(scope) &&
(((mptr->common.fn_flags & ZEND_ACC_PROTECTED) &&
instanceof_function(EG(scope), mptr->common.scope TSRMLS_CC))
|| ((mptr->common.fn_flags & ZEND_ACC_PRIVATE) &&
EG(scope) == mptr->common.scope)))) {
MAKE_STD_ZVAL(method_name);
ZVAL_STRING(method_name, mptr->common.function_name, 1);
zend_hash_next_index_insert(return_value->value.ht, &method_name, sizeof(zval *), NULL);
}
zend_hash_move_forward_ex(&ce->function_table, &pos);
}
}
/* }}} */
\
/* {{{ proto bool method_exists(object object, string method)
@@ -819,11 +885,42 @@ ZEND_FUNCTION(class_exists)
found = zend_hash_find(EG(class_table), lc_name, class_name_len+1, (void **) &ce);
free_alloca(lc_name);
RETURN_BOOL(found == SUCCESS);
RETURN_BOOL(found == SUCCESS && !((*ce)->ce_flags & ZEND_ACC_INTERFACE));
}
if (zend_lookup_class(class_name, class_name_len, &ce TSRMLS_CC) == SUCCESS) {
RETURN_TRUE;
RETURN_BOOL(((*ce)->ce_flags & ZEND_ACC_INTERFACE) == 0);
} else {
RETURN_FALSE;
}
}
/* }}} */
/* {{{ proto bool interface_exists(string classname [, bool autoload])
Checks if the class exists */
ZEND_FUNCTION(interface_exists)
{
char *iface_name, *lc_name;
zend_class_entry **ce;
int iface_name_len;
zend_bool autoload = 1;
int found;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b", &iface_name, &iface_name_len, &autoload) == FAILURE) {
return;
}
if (!autoload) {
lc_name = do_alloca(iface_name_len + 1);
zend_str_tolower_copy(lc_name, iface_name, iface_name_len);
found = zend_hash_find(EG(class_table), lc_name, iface_name_len+1, (void **) &ce);
free_alloca(lc_name);
RETURN_BOOL(found == SUCCESS && (*ce)->ce_flags & ZEND_ACC_INTERFACE);
}
if (zend_lookup_class(iface_name, iface_name_len, &ce TSRMLS_CC) == SUCCESS) {
RETURN_BOOL(((*ce)->ce_flags & ZEND_ACC_INTERFACE) > 0);
} else {
RETURN_FALSE;
}
@@ -1035,13 +1132,15 @@ ZEND_FUNCTION(set_exception_handler)
ZEND_WRONG_PARAM_COUNT();
}
if (!zend_is_callable(*exception_handler, 0, &exception_handler_name)) {
zend_error(E_WARNING, "%s() expects the argument (%s) to be a valid callback",
get_active_function_name(TSRMLS_C), exception_handler_name?exception_handler_name:"unknown");
if (Z_TYPE_PP(exception_handler) != IS_NULL) { /* NULL == unset */
if (!zend_is_callable(*exception_handler, 0, &exception_handler_name)) {
zend_error(E_WARNING, "%s() expects the argument (%s) to be a valid callback",
get_active_function_name(TSRMLS_C), exception_handler_name?exception_handler_name:"unknown");
efree(exception_handler_name);
return;
}
efree(exception_handler_name);
return;
}
efree(exception_handler_name);
if (EG(user_exception_handler)) {
had_orig_exception_handler = 1;
@@ -1051,7 +1150,7 @@ ZEND_FUNCTION(set_exception_handler)
}
ALLOC_ZVAL(EG(user_exception_handler));
if (Z_STRLEN_PP(exception_handler)==0) { /* unset user-defined handler */
if (Z_TYPE_PP(exception_handler) == IS_NULL) { /* unset user-defined handler */
FREE_ZVAL(EG(user_exception_handler));
EG(user_exception_handler) = NULL;
RETURN_TRUE;
@@ -1421,6 +1520,12 @@ static zval *debug_backtrace_get_args(void ***curpos TSRMLS_DC)
(*arg)->refcount++;
add_next_index_zval(arg_array, *arg);
}
/* skip args from incomplete frames */
while ((((*curpos)-1) > EG(argument_stack).elements) && *((*curpos)-1)) {
(*curpos)--;
}
return arg_array;
}
@@ -1443,7 +1548,7 @@ void debug_print_backtrace_args(zval *arg_array TSRMLS_DC)
/* {{{ proto void debug_print_backtrace(void) */
ZEND_FUNCTION(debug_print_backtrace)
{
zend_execute_data *ptr;
zend_execute_data *ptr, *skip;
int lineno;
char *function_name;
char *filename;
@@ -1468,6 +1573,11 @@ ZEND_FUNCTION(debug_print_backtrace)
args -= *(ulong*)args;
frames_on_stack++;
/* skip args from incomplete frames */
while (((args-1) > EG(argument_stack).elements) && *(args-1)) {
args--;
}
if ((args-1) == EG(argument_stack).elements) {
arg_stack_consistent = 1;
break;
@@ -1481,13 +1591,35 @@ ZEND_FUNCTION(debug_print_backtrace)
cur_arg_pos -= 2;
frames_on_stack--;
if (arg_stack_consistent) {
/* skip args from incomplete frames */
while (((cur_arg_pos-1) > EG(argument_stack).elements) && *(cur_arg_pos-1)) {
cur_arg_pos--;
}
}
array_init(return_value);
while (ptr) {
class_name = call_type = NULL;
if (ptr->op_array) {
filename = ptr->op_array->filename;
lineno = ptr->opline->lineno;
char *free_class_name = NULL;
class_name = call_type = NULL;
arg_array = NULL;
skip = ptr;
/* skip internal handler */
if (!skip->op_array &&
skip->prev_execute_data &&
skip->prev_execute_data->opline &&
skip->prev_execute_data->opline->opcode != ZEND_DO_FCALL &&
skip->prev_execute_data->opline->opcode != ZEND_DO_FCALL_BY_NAME &&
skip->prev_execute_data->opline->opcode != ZEND_INCLUDE_OR_EVAL) {
skip = skip->prev_execute_data;
}
if (skip->op_array) {
filename = skip->op_array->filename;
lineno = skip->opline->lineno;
} else {
filename = NULL;
lineno = 0;
@@ -1497,7 +1629,18 @@ ZEND_FUNCTION(debug_print_backtrace)
if (function_name) {
if (ptr->object) {
class_name = Z_OBJCE(*ptr->object)->name;
if (ptr->function_state.function->common.scope) {
class_name = ptr->function_state.function->common.scope->name;
} else {
zend_uint class_name_len;
int dup;
dup = zend_get_object_classname(ptr->object, &class_name, &class_name_len TSRMLS_CC);
if(!dup) {
free_class_name = class_name;
}
}
call_type = "->";
} else if (ptr->function_state.function->common.scope) {
class_name = ptr->function_state.function->common.scope->name;
@@ -1516,6 +1659,11 @@ ZEND_FUNCTION(debug_print_backtrace)
/* i know this is kinda ugly, but i'm trying to avoid extra cycles in the main execution loop */
zend_bool build_filename_arg = 1;
if (!ptr->opline || ptr->opline->opcode != ZEND_INCLUDE_OR_EVAL) {
/* can happen when calling eval from a custom sapi */
function_name = "unknown";
build_filename_arg = 0;
} else
switch (ptr->opline->op2.u.constant.value.lval) {
case ZEND_EVAL:
function_name = "eval";
@@ -1560,8 +1708,11 @@ ZEND_FUNCTION(debug_print_backtrace)
}
zend_printf(") called at [%s:%d]\n", filename, lineno);
include_filename = filename;
ptr = ptr->prev_execute_data;
ptr = skip->prev_execute_data;
++indent;
if (free_class_name) {
efree(free_class_name);
}
}
}
@@ -1569,12 +1720,11 @@ ZEND_FUNCTION(debug_print_backtrace)
ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last TSRMLS_DC)
{
zend_execute_data *ptr;
zend_execute_data *ptr, *skip;
int lineno;
char *function_name;
char *filename;
char *class_name;
char *call_type;
char *include_filename = NULL;
zval *stack_frame;
void **cur_arg_pos = EG(argument_stack).top_element;
@@ -1589,6 +1739,11 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last TSRML
args -= *(ulong*)args;
frames_on_stack++;
/* skip args from incomplete frames */
while (((args-1) > EG(argument_stack).elements) && *(args-1)) {
args--;
}
if ((args-1) == EG(argument_stack).elements) {
arg_stack_consistent = 1;
break;
@@ -1597,12 +1752,24 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last TSRML
ptr = EG(current_execute_data);
/* skip "new Exception()" */
if ((skip_last == 0) && ptr->opline && (ptr->opline->opcode == ZEND_NEW)) {
ptr = ptr->prev_execute_data;
}
/* skip debug_backtrace() */
ptr = ptr->prev_execute_data;
if (skip_last--) {
int arg_count = *((ulong*)(cur_arg_pos - 2));
cur_arg_pos -= (arg_count + 2);
frames_on_stack--;
ptr = ptr->prev_execute_data;
if (arg_stack_consistent) {
/* skip args from incomplete frames */
while (((cur_arg_pos-1) > EG(argument_stack).elements) && *(cur_arg_pos-1)) {
cur_arg_pos--;
}
}
}
array_init(return_value);
@@ -1611,9 +1778,20 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last TSRML
MAKE_STD_ZVAL(stack_frame);
array_init(stack_frame);
if (ptr->op_array) {
filename = ptr->op_array->filename;
lineno = ptr->opline->lineno;
skip = ptr;
/* skip internal handler */
if (!skip->op_array &&
skip->prev_execute_data &&
skip->prev_execute_data->opline &&
skip->prev_execute_data->opline->opcode != ZEND_DO_FCALL &&
skip->prev_execute_data->opline->opcode != ZEND_DO_FCALL_BY_NAME &&
skip->prev_execute_data->opline->opcode != ZEND_INCLUDE_OR_EVAL) {
skip = skip->prev_execute_data;
}
if (skip->op_array) {
filename = skip->op_array->filename;
lineno = skip->opline->lineno;
add_assoc_string_ex(stack_frame, "file", sizeof("file"), filename, 1);
add_assoc_long_ex(stack_frame, "line", sizeof("line"), lineno);
@@ -1629,20 +1807,21 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last TSRML
if (function_name) {
add_assoc_string_ex(stack_frame, "function", sizeof("function"), function_name, 1);
if (ptr->object) {
class_name = Z_OBJCE(*ptr->object)->name;
call_type = "->";
if (ptr->object && Z_TYPE_P(ptr->object) == IS_OBJECT) {
if (ptr->function_state.function->common.scope) {
add_assoc_string_ex(stack_frame, "class", sizeof("class"), ptr->function_state.function->common.scope->name, 1);
} else {
zend_uint class_name_len;
int dup;
dup = zend_get_object_classname(ptr->object, &class_name, &class_name_len TSRMLS_CC);
add_assoc_string_ex(stack_frame, "class", sizeof("class"), class_name, dup);
}
add_assoc_string_ex(stack_frame, "type", sizeof("type"), "->", 1);
} else if (ptr->function_state.function->common.scope) {
class_name = ptr->function_state.function->common.scope->name;
call_type = "::";
} else {
class_name = NULL;
call_type = NULL;
}
if (class_name) {
add_assoc_string_ex(stack_frame, "class", sizeof("class"), class_name, 1);
add_assoc_string_ex(stack_frame, "type", sizeof("type"), call_type, 1);
add_assoc_string_ex(stack_frame, "class", sizeof("class"), ptr->function_state.function->common.scope->name, 1);
add_assoc_string_ex(stack_frame, "type", sizeof("type"), "::", 1);
}
if ((! ptr->opline) || ((ptr->opline->opcode == ZEND_DO_FCALL_BY_NAME) || (ptr->opline->opcode == ZEND_DO_FCALL))) {
@@ -1655,6 +1834,11 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last TSRML
/* i know this is kinda ugly, but i'm trying to avoid extra cycles in the main execution loop */
zend_bool build_filename_arg = 1;
if (!ptr->opline || ptr->opline->opcode != ZEND_INCLUDE_OR_EVAL) {
/* can happen when calling eval from a custom sapi */
function_name = "unknown";
build_filename_arg = 0;
} else
switch (ptr->opline->op2.u.constant.value.lval) {
case ZEND_EVAL:
function_name = "eval";
@@ -1701,7 +1885,7 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last TSRML
include_filename = filename;
ptr = ptr->prev_execute_data;
ptr = skip->prev_execute_data;
}
}
/* }}} */
@@ -1756,10 +1940,13 @@ ZEND_FUNCTION(get_extension_funcs)
convert_to_string_ex(extension_name);
if (strncasecmp(Z_STRVAL_PP(extension_name), "zend", sizeof("zend"))) {
if (zend_hash_find(&module_registry, Z_STRVAL_PP(extension_name),
char *lcname = zend_str_tolower_dup(Z_STRVAL_PP(extension_name), Z_STRLEN_PP(extension_name));
if (zend_hash_find(&module_registry, lcname,
Z_STRLEN_PP(extension_name)+1, (void**)&module) == FAILURE) {
efree(lcname);
RETURN_FALSE;
}
efree(lcname);
if (!(func = module->functions)) {
RETURN_FALSE;
@@ -1777,7 +1964,6 @@ ZEND_FUNCTION(get_extension_funcs)
}
/* }}} */
/*
* Local variables:
* tab-width: 4
+209 -129
View File
@@ -19,7 +19,7 @@
/* $Id$ */
#include "zend_language_parser.h"
#include <zend_language_parser.h>
#include "zend.h"
#include "zend_compile.h"
#include "zend_constants.h"
@@ -68,7 +68,7 @@ static void build_runtime_defined_function_key(zval *result, char *name, int nam
uint char_pos_len;
char *filename;
char_pos_len = zend_sprintf(char_pos_buf, "%x", (unsigned int) LANG_SCNG(_yy_last_accepting_cpos));
char_pos_len = zend_sprintf(char_pos_buf, "%p", LANG_SCNG(_yy_last_accepting_cpos));
if (CG(active_op_array)->filename) {
filename = CG(active_op_array)->filename;
} else {
@@ -418,6 +418,9 @@ void zend_do_abstract_method(znode *function_name, znode *modifiers, znode *body
}
if (modifiers->u.constant.value.lval & ZEND_ACC_ABSTRACT) {
if(modifiers->u.constant.value.lval & ZEND_ACC_PRIVATE) {
zend_error(E_COMPILE_ERROR, "%s function %s::%s() cannot be declared private", method_type, CG(active_class_entry)->name, function_name->u.constant.value.str.val);
}
if (body->u.constant.value.lval == ZEND_ACC_ABSTRACT) {
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
@@ -483,6 +486,12 @@ void zend_do_assign(znode *result, znode *variable, znode *value TSRMLS_DC)
}
}
static inline zend_bool zend_is_function_or_method_call(znode *variable)
{
zend_uint type = variable->u.EA.type;
return ((type & ZEND_PARSED_METHOD_CALL) || (type == ZEND_PARSED_FUNCTION_CALL));
}
void zend_do_assign_ref(znode *result, znode *lvar, znode *rvar TSRMLS_DC)
{
@@ -494,6 +503,11 @@ void zend_do_assign_ref(znode *result, znode *lvar, znode *rvar TSRMLS_DC)
if (opline_is_fetch_this(last_op TSRMLS_CC)) {
zend_error(E_COMPILE_ERROR, "Cannot re-assign $this");
}
if (zend_is_function_or_method_call(rvar)) {
opline->extended_value = ZEND_RETURNS_FUNCTION;
} else {
opline->extended_value = 0;
}
if (result) {
opline->result.op_type = IS_VAR;
opline->result.u.EA.type = 0;
@@ -717,13 +731,6 @@ void zend_check_writable_variable(znode *variable)
}
}
static inline zend_bool zend_is_function_or_method_call(znode *variable)
{
zend_uint type = variable->u.EA.type;
return ((type & ZEND_PARSED_METHOD_CALL) || (type == ZEND_PARSED_FUNCTION_CALL));
}
void zend_do_begin_variable_parse(TSRMLS_D)
{
zend_llist fetch_list;
@@ -738,48 +745,53 @@ void zend_do_end_variable_parse(int type, int arg_offset TSRMLS_DC)
zend_llist *fetch_list_ptr;
zend_llist_element *le;
zend_op *opline, *opline_ptr=NULL;
int num_of_created_opcodes = 0;
zend_stack_top(&CG(bp_stack), (void **) &fetch_list_ptr);
le = fetch_list_ptr->head;
while (le) {
if (le) {
opline_ptr = (zend_op *)le->data;
opline = get_next_op(CG(active_op_array) TSRMLS_CC);
memcpy(opline, opline_ptr, sizeof(zend_op));
switch (type) {
case BP_VAR_R:
if (opline->opcode == ZEND_FETCH_DIM_W && opline->op2.op_type == IS_UNUSED) {
zend_error(E_COMPILE_ERROR, "Cannot use [] for reading");
}
opline->opcode -= 3;
break;
case BP_VAR_W:
break;
case BP_VAR_RW:
opline->opcode += 3;
break;
case BP_VAR_IS:
opline->opcode += 6; /* 3+3 */
break;
case BP_VAR_FUNC_ARG:
opline->opcode += 9; /* 3+3+3 */
opline->extended_value = arg_offset;
break;
case BP_VAR_UNSET:
if (opline->opcode == ZEND_FETCH_DIM_W && opline->op2.op_type == IS_UNUSED) {
zend_error(E_COMPILE_ERROR, "Cannot use [] for unsetting");
}
opline->opcode += 12; /* 3+3+3+3 */
break;
if (opline_is_fetch_this(opline_ptr TSRMLS_CC)) {
CG(active_op_array)->uses_this = 1;
}
le = le->next;
num_of_created_opcodes++;
}
if (num_of_created_opcodes == 1 && opline_is_fetch_this(opline_ptr TSRMLS_CC)) {
CG(active_op_array)->uses_this = 1;
while (1) {
opline = get_next_op(CG(active_op_array) TSRMLS_CC);
memcpy(opline, opline_ptr, sizeof(zend_op));
switch (type) {
case BP_VAR_R:
if (opline->opcode == ZEND_FETCH_DIM_W && opline->op2.op_type == IS_UNUSED) {
zend_error(E_COMPILE_ERROR, "Cannot use [] for reading");
}
opline->opcode -= 3;
break;
case BP_VAR_W:
break;
case BP_VAR_RW:
opline->opcode += 3;
break;
case BP_VAR_IS:
if (opline->opcode == ZEND_FETCH_DIM_W && opline->op2.op_type == IS_UNUSED) {
zend_error(E_COMPILE_ERROR, "Cannot use [] for reading");
}
opline->opcode += 6; /* 3+3 */
break;
case BP_VAR_FUNC_ARG:
opline->opcode += 9; /* 3+3+3 */
opline->extended_value = arg_offset;
break;
case BP_VAR_UNSET:
if (opline->opcode == ZEND_FETCH_DIM_W && opline->op2.op_type == IS_UNUSED) {
zend_error(E_COMPILE_ERROR, "Cannot use [] for unsetting");
}
opline->opcode += 12; /* 3+3+3+3 */
break;
}
le = le->next;
if (le == NULL) break;
opline_ptr = (zend_op *)le->data;
}
}
zend_llist_destroy(fetch_list_ptr);
@@ -891,7 +903,8 @@ void zend_do_free(znode *op1 TSRMLS_DC)
* Find JMP_NO_CTOR, mark the preceding ASSIGN and the
* proceeding INIT_FCALL_BY_NAME as unused
*/
if (opline->opcode == ZEND_JMP_NO_CTOR) {
if (opline->opcode == ZEND_JMP_NO_CTOR &&
opline->op1.u.var == op1->u.var) {
opline->op1.u.EA.type |= EXT_TYPE_UNUSED;
(opline-1)->result.u.EA.type |= EXT_TYPE_UNUSED;
(opline+1)->op1.u.EA.type |= EXT_TYPE_UNUSED;
@@ -962,7 +975,7 @@ void zend_do_begin_function_declaration(znode *function_token, znode *function_n
op_array.fn_flags = fn_flags;
op_array.pass_rest_by_reference = 0;
op_array.scope = CG(active_class_entry);
op_array.scope = is_method?CG(active_class_entry):NULL;
op_array.prototype = NULL;
op_array.line_start = zend_get_compiled_lineno(TSRMLS_C);
@@ -992,35 +1005,37 @@ void zend_do_begin_function_declaration(znode *function_token, znode *function_n
fn_flags |= ZEND_ACC_PUBLIC;
}
short_class_name = do_alloca(short_class_name_length + 1);
zend_str_tolower_copy(short_class_name, CG(active_class_entry)->name, short_class_name_length);
/* Improve after RC: cache the lowercase class name */
if ((short_class_name_length == name_len) && (!memcmp(short_class_name, lcname, name_len))) {
if (CG(active_class_entry)->constructor) {
zend_error(E_STRICT, "Redefining already defined constructor for class %s", CG(active_class_entry)->name);
} else {
if (!(CG(active_class_entry)->ce_flags & ZEND_ACC_INTERFACE)) {
short_class_name = do_alloca(short_class_name_length + 1);
zend_str_tolower_copy(short_class_name, CG(active_class_entry)->name, short_class_name_length);
/* Improve after RC: cache the lowercase class name */
if ((short_class_name_length == name_len) && (!memcmp(short_class_name, lcname, name_len))) {
if (CG(active_class_entry)->constructor) {
zend_error(E_STRICT, "Redefining already defined constructor for class %s", CG(active_class_entry)->name);
} else {
CG(active_class_entry)->constructor = (zend_function *) CG(active_op_array);
}
} else if ((name_len == sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)))) {
if (CG(active_class_entry)->constructor) {
zend_error(E_STRICT, "Redefining already defined constructor for class %s", CG(active_class_entry)->name);
}
CG(active_class_entry)->constructor = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_DESTRUCTOR_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_DESTRUCTOR_FUNC_NAME, sizeof(ZEND_DESTRUCTOR_FUNC_NAME)))) {
CG(active_class_entry)->destructor = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_CLONE_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CLONE_FUNC_NAME, sizeof(ZEND_CLONE_FUNC_NAME)))) {
CG(active_class_entry)->clone = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_CALL_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME)))) {
CG(active_class_entry)->__call = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_GET_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_GET_FUNC_NAME, sizeof(ZEND_GET_FUNC_NAME)))) {
CG(active_class_entry)->__get = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_SET_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_SET_FUNC_NAME, sizeof(ZEND_SET_FUNC_NAME)))) {
CG(active_class_entry)->__set = (zend_function *) CG(active_op_array);
} else if (!(fn_flags & ZEND_ACC_STATIC)) {
CG(active_op_array)->fn_flags |= ZEND_ACC_ALLOW_STATIC;
}
} else if ((name_len == sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)))) {
if (CG(active_class_entry)->constructor) {
zend_error(E_STRICT, "Redefining already defined constructor for class %s", CG(active_class_entry)->name);
}
CG(active_class_entry)->constructor = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_DESTRUCTOR_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_DESTRUCTOR_FUNC_NAME, sizeof(ZEND_DESTRUCTOR_FUNC_NAME)))) {
CG(active_class_entry)->destructor = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_CLONE_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CLONE_FUNC_NAME, sizeof(ZEND_CLONE_FUNC_NAME)))) {
CG(active_class_entry)->clone = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_CALL_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME)))) {
CG(active_class_entry)->__call = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_GET_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_GET_FUNC_NAME, sizeof(ZEND_GET_FUNC_NAME)))) {
CG(active_class_entry)->__get = (zend_function *) CG(active_op_array);
} else if ((name_len == sizeof(ZEND_SET_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_SET_FUNC_NAME, sizeof(ZEND_SET_FUNC_NAME)))) {
CG(active_class_entry)->__set = (zend_function *) CG(active_op_array);
} else if (!(fn_flags & ZEND_ACC_STATIC)) {
CG(active_op_array)->fn_flags |= ZEND_ACC_ALLOW_STATIC;
free_alloca(short_class_name);
}
free_alloca(short_class_name);
efree(lcname);
} else {
@@ -1069,9 +1084,10 @@ void zend_do_begin_function_declaration(znode *function_token, znode *function_n
}
if (CG(doc_comment)) {
CG(active_op_array)->doc_comment = estrndup(CG(doc_comment), CG(doc_comment_len));
CG(active_op_array)->doc_comment = CG(doc_comment);
CG(active_op_array)->doc_comment_len = CG(doc_comment_len);
RESET_DOC_COMMENT();
CG(doc_comment) = NULL;
CG(doc_comment_len) = 0;
}
}
@@ -1087,16 +1103,26 @@ void zend_do_handle_exception(TSRMLS_D)
void zend_do_end_function_declaration(znode *function_token TSRMLS_DC)
{
char lcname[16];
int name_len;
zend_do_extended_info(TSRMLS_C);
zend_do_return(NULL, 0 TSRMLS_CC);
zend_do_handle_exception(TSRMLS_C);
pass_two(CG(active_op_array) TSRMLS_CC);
if (CG(active_class_entry)
&& !strcmp(CG(active_op_array)->function_name, ZEND_CLONE_FUNC_NAME)
&& CG(active_op_array)->num_args != 0) {
zend_error(E_COMPILE_ERROR, "The clone method cannot accept any arguments");
if (CG(active_class_entry)) {
zend_check_magic_method_implementation(CG(active_class_entry), (zend_function*)CG(active_op_array), E_COMPILE_ERROR TSRMLS_CC);
} else {
/* we don't care if the function name is longer, in fact lowercasing only
* the beginning of the name speeds up the check process */
name_len = strlen(CG(active_op_array)->function_name);
zend_str_tolower_copy(lcname, CG(active_op_array)->function_name, MIN(name_len, sizeof(lcname)-1));
lcname[sizeof(lcname)-1] = '\0'; /* zend_str_tolower_copy won't necessarily set the zero byte */
if (name_len == sizeof(ZEND_AUTOLOAD_FUNC_NAME) - 1 && !memcmp(lcname, ZEND_AUTOLOAD_FUNC_NAME, sizeof(ZEND_AUTOLOAD_FUNC_NAME)) && CG(active_op_array)->num_args != 1) {
zend_error(E_COMPILE_ERROR, "%s() must take exactly 1 argument", ZEND_AUTOLOAD_FUNC_NAME);
}
}
CG(active_op_array)->line_end = zend_get_compiled_lineno(TSRMLS_C);
@@ -1114,10 +1140,6 @@ void zend_do_receive_arg(zend_uchar op, znode *var, znode *offset, znode *initia
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
zend_arg_info *cur_arg_info;
if (CG(active_class_entry) && CG(active_class_entry)->destructor == (zend_function *) CG(active_op_array))
{
zend_error(E_COMPILE_ERROR, "Destuctor %s::%s() cannot take arguments", CG(active_class_entry)->name, CG(active_op_array)->function_name);
}
CG(active_op_array)->num_args++;
opline->opcode = op;
opline->result = *var;
@@ -1193,7 +1215,7 @@ void zend_do_begin_method_call(znode *left_bracket TSRMLS_DC)
last_op_number = get_next_op_number(CG(active_op_array))-1;
last_op = &CG(active_op_array)->opcodes[last_op_number];
if ((last_op->op2.op_type == IS_CONST) && (last_op->op2.u.constant.value.str.len == sizeof(ZEND_CLONE_FUNC_NAME)-1)
if ((last_op->op2.op_type == IS_CONST) && (last_op->op2.u.constant.type == IS_STRING) && (last_op->op2.u.constant.value.str.len == sizeof(ZEND_CLONE_FUNC_NAME)-1)
&& !zend_binary_strcasecmp(last_op->op2.u.constant.value.str.val, last_op->op2.u.constant.value.str.len, ZEND_CLONE_FUNC_NAME, sizeof(ZEND_CLONE_FUNC_NAME)-1)) {
zend_error(E_COMPILE_ERROR, "Cannot call __clone() method on objects - use 'clone $obj' instead");
}
@@ -1275,6 +1297,7 @@ void zend_do_fetch_class(znode *result, znode *class_name TSRMLS_DC)
opline->op2 = *class_name;
}
opline->result.u.var = get_temporary_variable(CG(active_op_array));
opline->result.u.EA.type = opline->extended_value;
opline->result.op_type = IS_CONST; /* FIXME: Hack so that INIT_FCALL_BY_NAME still knows this is a class */
*result = opline->result;
}
@@ -1298,36 +1321,27 @@ void zend_do_fetch_class_name(znode *result, znode *class_name_entry, znode *cla
result->u.constant.value.str.len = length;
}
void zend_do_begin_class_member_function_call(TSRMLS_D)
void zend_do_begin_class_member_function_call(znode *class_name, znode *method_name TSRMLS_DC)
{
unsigned char *ptr = NULL;
long fetch_const_op_number = get_next_op_number(CG(active_op_array));
zend_op *last_op = &CG(active_op_array)->opcodes[fetch_const_op_number-1];
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
if (last_op->opcode == ZEND_FETCH_CONSTANT) { /* regular method call */
/* a tmp var is leaked here */
last_op->opcode = ZEND_INIT_STATIC_METHOD_CALL;
if(last_op->op2.op_type == IS_CONST &&
(sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == Z_STRLEN(last_op->op2.u.constant) &&
memcmp(Z_STRVAL(last_op->op2.u.constant), ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == 0) {
zval_dtor(&last_op->op2.u.constant);
SET_UNUSED(last_op->op2);
opline->opcode = ZEND_INIT_STATIC_METHOD_CALL;
opline->op1 = *class_name;
opline->op2 = *method_name;
if (opline->op2.op_type == IS_CONST) {
if ((sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == Z_STRLEN(opline->op2.u.constant) &&
memcmp(Z_STRVAL(opline->op2.u.constant), ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == 0) {
zval_dtor(&opline->op2.u.constant);
SET_UNUSED(opline->op2);
} else {
zend_lowercase_znode_if_const(&last_op->op2);
zend_str_tolower(opline->op2.u.constant.value.str.val, opline->op2.u.constant.value.str.len);
}
} else if (last_op->opcode == ZEND_FETCH_R) { /* indirect method call */
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
last_op->op2.u.EA.type = ZEND_FETCH_LOCAL;
opline->opcode = ZEND_INIT_STATIC_METHOD_CALL;
opline->op1 = last_op->op2;
opline->op2 = last_op->result;
} else {
zend_error(E_COMPILE_ERROR, "Internal compiler error - please report!");
}
zend_stack_push(&CG(function_call_stack), (void *) &ptr, sizeof(zend_function *));
zend_do_extended_fcall_begin(TSRMLS_C);
}
@@ -1368,6 +1382,7 @@ void zend_do_pass_param(znode *param, zend_uchar op, int offset TSRMLS_DC)
int original_op=op;
zend_function **function_ptr_ptr, *function_ptr;
int send_by_reference;
int send_function = 0;
zend_stack_top(&CG(function_call_stack), (void **) &function_ptr_ptr);
function_ptr = *function_ptr_ptr;
@@ -1392,6 +1407,7 @@ void zend_do_pass_param(znode *param, zend_uchar op, int offset TSRMLS_DC)
if (op == ZEND_SEND_VAR && zend_is_function_or_method_call(param)) {
/* Method call */
op = ZEND_SEND_VAR_NO_REF;
send_function = ZEND_ARG_SEND_FUNCTION;
} else if (op == ZEND_SEND_VAL && param->op_type == IS_VAR) {
op = ZEND_SEND_VAR_NO_REF;
}
@@ -1430,9 +1446,9 @@ void zend_do_pass_param(znode *param, zend_uchar op, int offset TSRMLS_DC)
if (op == ZEND_SEND_VAR_NO_REF) {
if (function_ptr) {
opline->extended_value = ZEND_ARG_COMPILE_TIME_BOUND | send_by_reference;
opline->extended_value = ZEND_ARG_COMPILE_TIME_BOUND | send_by_reference | send_function;
} else {
opline->extended_value = 0;
opline->extended_value = send_function;
}
} else {
if (function_ptr) {
@@ -1453,7 +1469,7 @@ static int generate_free_switch_expr(zend_switch_entry *switch_entry TSRMLS_DC)
zend_op *opline;
if (switch_entry->cond.op_type != IS_VAR && switch_entry->cond.op_type != IS_TMP_VAR) {
return 0;
return (switch_entry->cond.op_type == IS_UNUSED);
}
opline = get_next_op(CG(active_op_array) TSRMLS_CC);
@@ -1675,9 +1691,11 @@ static void do_inherit_parent_constructor(zend_class_entry *ce)
if (!zend_hash_exists(&ce->function_table, lc_class_name, ce->name_length+1)) {
lc_parent_class_name = zend_str_tolower_dup(ce->parent->name, ce->parent->name_length);
if (zend_hash_find(&ce->parent->function_table, lc_parent_class_name, ce->parent->name_length+1, (void **)&function)==SUCCESS) {
/* inherit parent's constructor */
zend_hash_update(&ce->function_table, lc_class_name, ce->name_length+1, function, sizeof(zend_function), NULL);
function_add_ref(function);
if (function->common.fn_flags & ZEND_ACC_CTOR) {
/* inherit parent's constructor */
zend_hash_update(&ce->function_table, lc_class_name, ce->name_length+1, function, sizeof(zend_function), NULL);
function_add_ref(function);
}
}
efree(lc_parent_class_name);
}
@@ -1850,9 +1868,18 @@ static zend_bool do_inherit_property_access_check(HashTable *target_ht, zend_pro
zend_property_info *child_info;
zend_class_entry *parent_ce = ce->parent;
if (parent_info->flags & ZEND_ACC_PRIVATE) {
if (parent_info->flags & (ZEND_ACC_PRIVATE|ZEND_ACC_SHADOW)) {
if (zend_hash_quick_find(&ce->properties_info, hash_key->arKey, hash_key->nKeyLength, hash_key->h, (void **) &child_info)==SUCCESS) {
child_info->flags |= ZEND_ACC_CHANGED;
} else {
zend_hash_quick_update(&ce->properties_info, hash_key->arKey, hash_key->nKeyLength, hash_key->h, parent_info, sizeof(zend_property_info), (void **) &child_info);
if(ce->type & ZEND_INTERNAL_CLASS) {
zend_duplicate_property_info_internal(child_info);
} else {
zend_duplicate_property_info(child_info);
}
child_info->flags &= ~ZEND_ACC_PRIVATE; /* it's not private anymore */
child_info->flags |= ZEND_ACC_SHADOW; /* but it's a shadow of private */
}
return 0; /* don't copy access information to child */
}
@@ -1864,6 +1891,11 @@ static zend_bool do_inherit_property_access_check(HashTable *target_ht, zend_pro
(child_info->flags & ZEND_ACC_STATIC) ? "static " : "non static ", ce->name, hash_key->arKey);
}
if(parent_info->flags & ZEND_ACC_CHANGED) {
child_info->flags |= ZEND_ACC_CHANGED;
}
if ((child_info->flags & ZEND_ACC_PPP_MASK) > (parent_info->flags & ZEND_ACC_PPP_MASK)) {
zend_error(E_COMPILE_ERROR, "Access level to %s::$%s must be %s (as in class %s)%s", ce->name, hash_key->arKey, zend_visibility_string(parent_info->flags), parent_ce->name, (parent_info->flags&ZEND_ACC_PUBLIC) ? "" : " or weaker");
} else if (child_info->flags & ZEND_ACC_IMPLICIT_PUBLIC) {
@@ -1904,12 +1936,6 @@ static zend_bool do_inherit_property_access_check(HashTable *target_ht, zend_pro
zend_hash_del(&ce->default_properties, prot_name, prot_name_length+1);
}
pefree(prot_name, ce->type & ZEND_INTERNAL_CLASS);
} else if (!(child_info->flags & ZEND_ACC_PRIVATE) && (child_info->flags & ZEND_ACC_STATIC)) {
char *prop_name, *tmp;
zend_unmangle_property_name(child_info->name, &tmp, &prop_name);
zend_error(E_COMPILE_ERROR, "Cannot redeclare property static %s %s::$%s in class %s",
zend_visibility_string(child_info->flags), parent_ce->name, prop_name, ce->name);
}
return 0; /* Don't copy from parent */
} else {
@@ -1924,6 +1950,9 @@ static inline void do_implement_interface(zend_class_entry *ce, zend_class_entry
if (!(ce->ce_flags & ZEND_ACC_INTERFACE) && iface->interface_gets_implemented && iface->interface_gets_implemented(iface, ce TSRMLS_CC) == FAILURE) {
zend_error(E_CORE_ERROR, "Class %s could not implement interface %s", ce->name, iface->name);
}
if (ce == iface) {
zend_error(E_ERROR, "Interface %s cannot not implement itself", ce->name);
}
}
@@ -1993,6 +2022,8 @@ void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce TSRML
zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0);
zend_hash_merge_ex(&ce->function_table, &parent_ce->function_table, (copy_ctor_func_t) do_inherit_method, sizeof(zend_function), (merge_checker_func_t) do_inherit_method_check, ce);
do_inherit_parent_constructor(ce);
zend_verify_abstract_class(ce TSRMLS_CC);
}
@@ -2100,6 +2131,10 @@ ZEND_API zend_class_entry *do_bind_inherited_class(zend_op *opline, HashTable *c
ce = *pce;
}
if (parent_ce->ce_flags & ZEND_ACC_INTERFACE) {
zend_error(E_COMPILE_ERROR, "Class %s cannot extend from interface %s", ce->name, parent_ce->name);
}
zend_do_inheritance(ce, parent_ce TSRMLS_CC);
ce->refcount++;
@@ -2160,6 +2195,19 @@ void zend_do_early_binding(TSRMLS_D)
if (do_bind_inherited_class(opline, CG(class_table), *pce, 1 TSRMLS_CC) == NULL) {
return;
}
/* clear unnecessary ZEND_FETCH_CLASS opcode */
if (opline > CG(active_op_array)->opcodes &&
(opline-1)->opcode == ZEND_FETCH_CLASS) {
zend_op *fetch_class_opline = opline-1;
zval_dtor(&fetch_class_opline->op2.u.constant);
fetch_class_opline->opcode = ZEND_NOP;
memset(&fetch_class_opline->op1, 0, sizeof(znode));
memset(&fetch_class_opline->op2, 0, sizeof(znode));
SET_UNUSED(fetch_class_opline->op1);
SET_UNUSED(fetch_class_opline->op2);
SET_UNUSED(fetch_class_opline->result);
}
} else {
/* We currently don't early-bind classes that implement interfaces */
return;
@@ -2489,10 +2537,20 @@ void zend_do_begin_class_declaration(znode *class_token, znode *class_name, znod
zend_initialize_class_data(new_class_entry, 1 TSRMLS_CC);
new_class_entry->filename = zend_get_compiled_filename(TSRMLS_C);
new_class_entry->line_start = zend_get_compiled_lineno(TSRMLS_C);
new_class_entry->ce_flags |= class_token->u.constant.value.lval;
new_class_entry->line_start = class_token->u.opline_num;
new_class_entry->ce_flags |= class_token->u.EA.type;
if (parent_class_name && parent_class_name->op_type != IS_UNUSED) {
switch (parent_class_name->u.EA.type) {
case ZEND_FETCH_CLASS_SELF:
zend_error(E_COMPILE_ERROR, "Cannot use 'self' as class name as it is reserved");
break;
case ZEND_FETCH_CLASS_PARENT:
zend_error(E_COMPILE_ERROR, "Cannot use 'parent' as class name as it is reserved");
break;
default:
break;
}
doing_inheritance = 1;
}
@@ -2522,9 +2580,10 @@ void zend_do_begin_class_declaration(znode *class_token, znode *class_name, znod
CG(implementing_class) = opline->result;
if (CG(doc_comment)) {
CG(active_class_entry)->doc_comment = estrndup(CG(doc_comment), CG(doc_comment_len));
CG(active_class_entry)->doc_comment = CG(doc_comment);
CG(active_class_entry)->doc_comment_len = CG(doc_comment_len);
RESET_DOC_COMMENT();
CG(doc_comment) = NULL;
CG(doc_comment_len) = 0;
}
}
@@ -2568,7 +2627,8 @@ void zend_do_end_class_declaration(znode *class_token, znode *parent_token TSRML
/* Inherit interfaces */
if (ce->num_interfaces > 0) {
ce->interfaces = (zend_class_entry **) erealloc(ce->interfaces, sizeof(zend_class_entry *)*ce->num_interfaces);
ce->interfaces = (zend_class_entry **) emalloc(sizeof(zend_class_entry *)*ce->num_interfaces);
memset(ce->interfaces, 0, sizeof(zend_class_entry *)*ce->num_interfaces);
}
if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))
&& ((parent_token->op_type != IS_UNUSED) || (ce->num_interfaces > 0))) {
@@ -2583,8 +2643,26 @@ void zend_do_end_class_declaration(znode *class_token, znode *parent_token TSRML
void zend_do_implements_interface(znode *interface_znode TSRMLS_DC)
{
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
zend_op *opline;
switch (interface_znode->u.EA.type) {
case ZEND_FETCH_CLASS_SELF:
zend_error(E_COMPILE_ERROR, "Cannot use 'self' as interface name as it is reserved");
break;
case ZEND_FETCH_CLASS_PARENT:
zend_error(E_COMPILE_ERROR, "Cannot use 'parent' as interface name as it is reserved");
break;
default:
if (CG(active_op_array)->last > 0) {
opline = &CG(active_op_array)->opcodes[CG(active_op_array)->last-1];
if (opline->opcode == ZEND_FETCH_CLASS) {
opline->extended_value = ZEND_FETCH_CLASS_INTERFACE;
}
}
break;
}
opline = get_next_op(CG(active_op_array) TSRMLS_CC);
opline->opcode = ZEND_ADD_INTERFACE;
opline->op1 = CG(implementing_class);
opline->op2 = *interface_znode;
@@ -2951,9 +3029,16 @@ void zend_do_add_static_array_element(znode *result, znode *offset, znode *expr)
zend_symtable_update(result->u.constant.value.ht, offset->u.constant.value.str.val, offset->u.constant.value.str.len+1, &element, sizeof(zval *), NULL);
zval_dtor(&offset->u.constant);
break;
case IS_NULL:
zend_symtable_update(result->u.constant.value.ht, "", 1, &element, sizeof(zval *), NULL);
break;
case IS_LONG:
case IS_BOOL:
zend_hash_index_update(result->u.constant.value.ht, offset->u.constant.value.lval, &element, sizeof(zval *), NULL);
break;
case IS_DOUBLE:
zend_hash_index_update(result->u.constant.value.ht, (long)offset->u.constant.value.dval, &element, sizeof(zval *), NULL);
break;
}
} else {
zend_hash_next_index_insert(result->u.constant.value.ht, &element, sizeof(zval *), NULL);
@@ -3006,7 +3091,6 @@ void zend_do_list_end(znode *result, znode *expr TSRMLS_DC)
zend_llist_element *dimension;
zend_op *opline;
znode last_container;
int opcode_index;
int last_op_number;
zend_op *last_op;
@@ -3048,14 +3132,10 @@ void zend_do_list_end(znode *result, znode *expr TSRMLS_DC)
((list_llist_element *) le->data)->value = last_container;
zend_llist_destroy(&((list_llist_element *) le->data)->dimensions);
zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC);
opcode_index = - 1;
last_op_number = get_next_op_number(CG(active_op_array))-1;
last_op = &CG(active_op_array)->opcodes[last_op_number];
if (last_op->opcode == ZEND_FETCH_OBJ_W) {
opcode_index = - 2;
}
zend_do_assign(result, &((list_llist_element *) le->data)->var, &((list_llist_element *) le->data)->value TSRMLS_CC);
CG(active_op_array)->opcodes[CG(active_op_array)->last + opcode_index].result.u.EA.type |= EXT_TYPE_UNUSED;
zend_do_free(result TSRMLS_CC);
le = le->next;
}
zend_llist_destroy(&CG(dimension_llist));
+14 -5
View File
@@ -41,10 +41,13 @@
#define DEC_BPC(op_array) if (CG(interactive)) { ((op_array)->backpatch_count--); }
#define HANDLE_INTERACTIVE() if (CG(interactive)) { execute_new_code(TSRMLS_C); }
#define RESET_DOC_COMMENT() \
{ \
CG(doc_comment) = NULL; \
CG(doc_comment_len) = 0; \
#define RESET_DOC_COMMENT() \
{ \
if (CG(doc_comment)) { \
efree(CG(doc_comment)); \
CG(doc_comment) = NULL; \
} \
CG(doc_comment_len) = 0; \
}
typedef struct _zend_op_array zend_op_array;
@@ -131,6 +134,9 @@ typedef struct _zend_try_catch_element {
/* method flag (bc only), any method that has this flag can be used statically and non statically. */
#define ZEND_ACC_ALLOW_STATIC 0x10000
/* shadow of parent's private method/property */
#define ZEND_ACC_SHADOW 0x20000
char *zend_visibility_string(zend_uint fn_flags);
@@ -375,7 +381,7 @@ void zend_do_clone(znode *result, znode *expr TSRMLS_DC);
void zend_do_begin_dynamic_function_call(znode *function_name TSRMLS_DC);
void zend_do_fetch_class(znode *result, znode *class_name TSRMLS_DC);
void zend_do_fetch_class_name(znode *result, znode *class_entry, znode *class_name TSRMLS_DC);
void zend_do_begin_class_member_function_call(TSRMLS_D);
void zend_do_begin_class_member_function_call(znode *class_name, znode *method_name TSRMLS_DC);
void zend_do_end_function_call(znode *function_name, znode *result, znode *argument_list, int is_method, int is_dynamic_fcall TSRMLS_DC);
void zend_do_return(znode *expr, int do_end_vparse TSRMLS_DC);
void zend_do_handle_exception(TSRMLS_D);
@@ -738,6 +744,7 @@ int zendlex(znode *zendlval TSRMLS_DC);
#define ZEND_FETCH_CLASS_MAIN 3
#define ZEND_FETCH_CLASS_GLOBAL 4
#define ZEND_FETCH_CLASS_AUTO 5
#define ZEND_FETCH_CLASS_INTERFACE 6
/* variable parsing type (compile-time) */
@@ -798,6 +805,7 @@ int zendlex(znode *zendlval TSRMLS_DC);
#define ZEND_ARG_SEND_BY_REF (1<<0)
#define ZEND_ARG_COMPILE_TIME_BOUND (1<<1)
#define ZEND_ARG_SEND_FUNCTION (1<<2)
#define AI_USE_PTR(ai) \
if ((ai).ptr_ptr) { \
@@ -840,6 +848,7 @@ END_EXTERN_C()
#define ZEND_GET_FUNC_NAME "__get"
#define ZEND_SET_FUNC_NAME "__set"
#define ZEND_CALL_FUNC_NAME "__call"
#define ZEND_AUTOLOAD_FUNC_NAME "__autoload"
#endif /* ZEND_COMPILE_H */
+2
View File
@@ -22,6 +22,7 @@
#ifndef ZEND_CONFIG_W32_H
#define ZEND_CONFIG_W32_H
#define USE_ZEND_ALLOC 1
#define HAVE_ALLOCA 1
#define HAVE_LIMITS_H 1
#define _CRTDBG_MAP_ALLOC
@@ -55,6 +56,7 @@ typedef unsigned int uint;
#define HAVE_STDARG_H 1
#define HAVE_SNPRINTF 1
#define HAVE_VSNPRINTF 1
#define HAVE_STRCOLL 1
#define snprintf _snprintf
#define vsnprintf _vsnprintf
+45 -3
View File
@@ -50,7 +50,8 @@ void zend_throw_exception_internal(zval *exception TSRMLS_DC)
zend_throw_exception_hook(exception TSRMLS_CC);
}
if ((EG(current_execute_data)->opline+1)->opcode == ZEND_HANDLE_EXCEPTION) {
if (EG(current_execute_data)->opline == NULL ||
(EG(current_execute_data)->opline+1)->opcode == ZEND_HANDLE_EXCEPTION) {
/* no need to rethrow the exception */
return;
}
@@ -99,12 +100,15 @@ static zend_object_value zend_default_exception_new(zend_class_entry *class_type
return obj.value.obj;
}
ZEND_METHOD(exception, __clone)
{
/* Should never be executable */
zend_throw_exception(NULL, "Cannot clone object using __clone()", 0 TSRMLS_CC);
}
/* {{{ proto Exception::__construct()
Exception constructor */
ZEND_METHOD(exception, __construct)
{
char *message = NULL;
@@ -126,6 +130,7 @@ ZEND_METHOD(exception, __construct)
zend_update_property_long(default_exception_ce, object, "code", sizeof("code")-1, code TSRMLS_CC);
}
}
/* }}} */
#define DEFAULT_0_PARAMS \
if (ZEND_NUM_ARGS() > 0) { \
@@ -142,40 +147,61 @@ static void _default_exception_get_entry(zval *object, char *name, int name_len,
zval_copy_ctor(return_value);
}
/* {{{ proto Exception::getFile()
Obtain the file name in which the exception occurred */
ZEND_METHOD(exception, getFile)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "file", sizeof("file")-1, return_value TSRMLS_CC);
}
/* }}} */
/* {{{ proto Exception::getLine()
Obtain the line number in which the exception occurred */
ZEND_METHOD(exception, getLine)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "line", sizeof("line")-1, return_value TSRMLS_CC);
}
/* }}} */
/* {{{ proto Exception::getMessage()
Obtain the exception message */
ZEND_METHOD(exception, getMessage)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "message", sizeof("message")-1, return_value TSRMLS_CC);
}
/* }}} */
/* {{{ proto Exception::getCode()
Obtain the user-defined exception code */
ZEND_METHOD(exception, getCode)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "code", sizeof("code")-1, return_value TSRMLS_CC);
}
/* }}} */
/* {{{ proto Exception::getTrace()
Obtain a stack trace for the location in which the exception occurred */
ZEND_METHOD(exception, getTrace)
{
DEFAULT_0_PARAMS;
_default_exception_get_entry(getThis(), "trace", sizeof("trace")-1, return_value TSRMLS_CC);
}
/* }}} */
/* {{{ ZEND_METHOD(exception, gettraceasstring) */
#define TRACE_APPEND_CHR(chr) \
@@ -272,10 +298,20 @@ static int _build_trace_args(zval **arg, int num_args, va_list args, zend_hash_k
TRACE_APPEND_STR("Array, ");
break;
case IS_OBJECT: {
char *class_name;
zend_uint class_name_len;
int dup;
TSRMLS_FETCH();
TRACE_APPEND_STR("Object(");
TRACE_APPEND_STRL(Z_OBJCE_PP(arg)->name, strlen(Z_OBJCE_PP(arg)->name));
dup = zend_get_object_classname(*arg, &class_name, &class_name_len TSRMLS_CC);
TRACE_APPEND_STRL(class_name, class_name_len);
if(!dup) {
efree(class_name);
}
TRACE_APPEND_STR("), ");
break;
}
@@ -427,9 +463,15 @@ ZEND_METHOD(exception, __toString)
* And never try to change the state of exceptions and never implement anything
* that gives the user anything to accomplish this.
*/
static
ZEND_BEGIN_ARG_INFO(arginfo_exception___construct, 0)
ZEND_ARG_INFO(0, message)
ZEND_ARG_INFO(0, code)
ZEND_END_ARG_INFO();
static zend_function_entry default_exception_functions[] = {
ZEND_ME(exception, __clone, NULL, ZEND_ACC_PRIVATE|ZEND_ACC_FINAL)
ZEND_ME(exception, __construct, NULL, 0)
ZEND_ME(exception, __construct, arginfo_exception___construct, ZEND_ACC_PUBLIC)
ZEND_ME(exception, getMessage, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
ZEND_ME(exception, getCode, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
ZEND_ME(exception, getFile, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
Loaded 100 of 1208 files, more files were not shown because too many files have changed in this diff. Show more