[PHP-CVS-DAILY] cvs: php-src / ChangeLog

2005-06-19 Thread changelog
changelog   Mon Jun 20 01:36:22 2005 EDT

  Modified files:  
/php-srcChangeLog 
  Log:
  ChangeLog update
  
http://cvs.php.net/diff.php/php-src/ChangeLog?r1=1.2019r2=1.2020ty=u
Index: php-src/ChangeLog
diff -u php-src/ChangeLog:1.2019 php-src/ChangeLog:1.2020
--- php-src/ChangeLog:1.2019Sun Jun 19 01:32:33 2005
+++ php-src/ChangeLog   Mon Jun 20 01:36:20 2005
@@ -1,3 +1,60 @@
+2005-06-19  Marcus Boerger  [EMAIL PROTECTED]
+
+* tests/classes/array_access_011.phpt:
+  - Add new test
+
+2005-06-19  Derick Rethans  [EMAIL PROTECTED]
+
+* genfiles
+  ext/standard/.cvsignore
+  ext/standard/Makefile.frag
+  ext/standard/config.m4
+  ext/standard/config.w32
+  ext/standard/datetime.c
+  ext/standard/parsedate.y
+  ext/standard/php_parsedate.h
+  ext/wddx/wddx.c
+  netware/BisonExtStandard.bat
+  netware/phplib.mak
+  win32/php5dll.dsp
+  win32/php5dllts.dsp:
+  - Added backward compability wrapper php_parse_date().
+  - Changed WDDX extension to use new date parsing code.
+  - Removed all remnants to the old parser.
+
+2005-06-19  Marcus Boerger  [EMAIL PROTECTED]
+
+* tests/classes/array_access_010.phpt:
+  - Add new test
+
+2005-06-19  Derick Rethans  [EMAIL PROTECTED]
+
+* ZendEngine2/tests/bug32226.phpt:
+  - Fixed layout of test description.
+
+2005-06-19  Marcus Boerger  [EMAIL PROTECTED]
+
+* tests/classes/array_access_009.phpt:
+  - Drop doubled $
+
+* tests/classes/array_access_009.phpt:
+  - Add new test
+
+* tests/classes/array_access_003.phpt
+  tests/classes/array_access_005.phpt
+  tests/classes/array_access_008.phpt:
+  - Update tests to reflect current situation
+
+2005-06-19  Ilia Alshanetsky  [EMAIL PROTECTED]
+
+* ext/standard/string.c:
+  make substr_count() 30% when counting instances of 1 byte long strings.
+
+2005-06-19  Derick Rethans  [EMAIL PROTECTED]
+
+* NEWS:
+  - Add #20382 to the list, and expand testcase again.
+
 2005-06-18  Jani Taskinen  [EMAIL PROTECTED]
 
 * NEWS:
@@ -4742,7 +4799,7 @@
 
 * (PHP_4_3)
   ext/standard/url_scanner_ex.re:
-  Missing $Id: ChangeLog,v 1.2019 2005/06/19 05:32:33 changelog Exp $ tag
+  Missing $Id: ChangeLog,v 1.2020 2005/06/20 05:36:20 changelog Exp $ tag
 
 * (PHP_5_0)
   ext/standard/url_scanner_ex.c:
@@ -8143,7 +8200,7 @@
   ext/session/mod_mm.h
   ext/session/mod_user.h
   ext/session/php_session.h:
-  - Missing $Id: ChangeLog,v 1.2019 2005/06/19 05:32:33 changelog Exp $ 
tags
+  - Missing $Id: ChangeLog,v 1.2020 2005/06/20 05:36:20 changelog Exp $ 
tags
 
 * (PHP_4_3)
   ext/session/session.c:
@@ -8624,7 +8681,7 @@
 
 * (PHP_4_3)
   Zend/zend_ini_scanner.l:
-  Missing $Id: ChangeLog,v 1.2019 2005/06/19 05:32:33 changelog Exp $ tag 
+ ws fix
+  Missing $Id: ChangeLog,v 1.2020 2005/06/20 05:36:20 changelog Exp $ tag 
+ ws fix
 
 * ZendEngine2/zend_ini_scanner.l
   ZendEngine2/zend_ini_scanner.l:
@@ -10098,7 +10155,7 @@
   ext/standard/url_scanner_ex.c
   ext/standard/url_scanner_ex.h
   ext/standard/url_scanner_ex.re:
-  Missing $Id: ChangeLog,v 1.2019 2005/06/19 05:32:33 changelog Exp $ tag
+  Missing $Id: ChangeLog,v 1.2020 2005/06/20 05:36:20 changelog Exp $ tag
 
 * ext/standard/credits_ext.h
   ext/standard/credits_sapi.h:


[PHP-CVS-DAILY] cvs: ZendEngine2 / ChangeLog

2005-06-19 Thread changelog
changelog   Mon Jun 20 01:36:33 2005 EDT

  Modified files:  
/ZendEngine2ChangeLog 
  Log:
  ChangeLog update
  
http://cvs.php.net/diff.php/ZendEngine2/ChangeLog?r1=1.715r2=1.716ty=u
Index: ZendEngine2/ChangeLog
diff -u ZendEngine2/ChangeLog:1.715 ZendEngine2/ChangeLog:1.716
--- ZendEngine2/ChangeLog:1.715 Sat Jun 18 01:35:31 2005
+++ ZendEngine2/ChangeLog   Mon Jun 20 01:36:33 2005
@@ -1,3 +1,8 @@
+2005-06-19  Derick Rethans  [EMAIL PROTECTED]
+
+* tests/bug32226.phpt:
+  - Fixed layout of test description.
+
 2005-06-17  Jani Taskinen  [EMAIL PROTECTED]
 
 * tests/bug29368.phpt
@@ -8745,7 +8750,7 @@
 2003-06-10  Jani Taskinen  [EMAIL PROTECTED]
 
 * zend_multiply.h:
-  - Missing $Id: ChangeLog,v 1.715 2005/06/18 05:35:31 changelog Exp $ tag
+  - Missing $Id: ChangeLog,v 1.716 2005/06/20 05:36:33 changelog Exp $ tag
 
 2003-06-10  James Cox  [EMAIL PROTECTED]
 
@@ -10469,7 +10474,7 @@
   zend_types.h
   zend_variables.c
   zend_variables.h:
-  - Added some missing CVS $Id: ChangeLog,v 1.715 2005/06/18 05:35:31 
changelog Exp $ tags, headers and footers.
+  - Added some missing CVS $Id: ChangeLog,v 1.716 2005/06/20 05:36:33 
changelog Exp $ tags, headers and footers.
 
 2003-01-30  Ilia Alshanetsky  [EMAIL PROTECTED]
 


Re: [PHP-CVS] cvs: php-src /tests/reflection 006.phpt

2005-06-19 Thread Marcus Boerger
Hello Jani,

Sunday, June 19, 2005, 1:23:46 AM, you wrote:

 sniper  Sat Jun 18 19:23:46 2005 EDT

   Modified files:  
 /php-src/tests/reflection   006.phpt 
   Log:
   fix test
  
 http://cvs.php.net/diff.php/php-src/tests/reflection/006.phpt?r1=1.1r2=1.2ty=u
 Index: php-src/tests/reflection/006.phpt
 diff -u php-src/tests/reflection/006.phpt:1.1
 php-src/tests/reflection/006.phpt:1.2
 --- php-src/tests/reflection/006.phpt:1.1   Sun Feb 27 17:25:11 2005
 +++ php-src/tests/reflection/006.phpt   Sat Jun 18 19:23:45 2005
 @@ -83,7 +83,6 @@
 
  ?
  ===DONE===
 -?php exit(0); ?
  --EXPECT--
  string(3) pub
  string(3) pub


Why did you remove that line? If that fixes something then there is
a real error in the test. Some tests have that line in so that it it
easier to execute the code without run-tests.php.

-- 
Best regards,
 Marcusmailto:[EMAIL PROTECTED]

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src / NEWS /ext/date/tests bug20382-2.phpt

2005-06-19 Thread Derick Rethans
derick  Sun Jun 19 11:01:43 2005 EDT

  Modified files:  
/php-srcNEWS 
/php-src/ext/date/tests bug20382-2.phpt 
  Log:
  - Add #20382 to the list, and expand testcase again.
  
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1933r2=1.1934ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1933 php-src/NEWS:1.1934
--- php-src/NEWS:1.1933 Sat Jun 18 17:17:10 2005
+++ php-src/NEWSSun Jun 19 11:01:43 2005
@@ -28,7 +28,7 @@
 - Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle -pthread).
   (Jani)
 - Fixed bug #28355 (glob wont error if dir is not readable). (Hartmut)
-- Fixed bugs #28024, #30532, #32086, #32270, #32555, #32588, #33056
+- Fixed bugs #20382, #28024, #30532, #32086, #32270, #32555, #32588, #33056
   (strtotime() related bugs). (Derick)
 
 10 Jun 2005, PHP 5.1 Beta 1
http://cvs.php.net/diff.php/php-src/ext/date/tests/bug20382-2.phpt?r1=1.1r2=1.2ty=u
Index: php-src/ext/date/tests/bug20382-2.phpt
diff -u php-src/ext/date/tests/bug20382-2.phpt:1.1 
php-src/ext/date/tests/bug20382-2.phpt:1.2
--- php-src/ext/date/tests/bug20382-2.phpt:1.1  Sat Jun 18 10:11:15 2005
+++ php-src/ext/date/tests/bug20382-2.phpt  Sun Jun 19 11:01:43 2005
@@ -24,10 +24,16 @@
array(Asia/Dacca, 17, 17, 17, 1, 1, 1971),
array(Europe/Brussels,17, 17, 17, 1, 1, 1971),
array(Africa/Ouagadougou, 17, 17, 17, 1, 88, 1971),
+   array(Europe/Tirane,  17, 17, 17, 1, 4849, 1970),
+   array(America/Buenos_Aires, 17, 17, 17, 1, 1734, 1970),
+   array(America/Rosario,17, 17, 17, 1, 1734, 1970),
+   array(Europe/Vienna,  17, 17, 17, 1, 3743, 1970),
+   array(Asia/Baku,  17, 17, 17, 1, 9490, 1970),
 );
 
 foreach ($tests as $test) {
putenv(TZ={$test[0]});
+   print {$test[0]}\n;
array_shift($test);
$timestamp = call_user_func_array('mktime', $test);
 
@@ -38,82 +44,127 @@
 }
 ?
 --EXPECT--
+Europe/Andorra
 ts = Monday 2037-10-19 17:17:17 CEST
 result = Monday 2037-10-26 00:00:00 CET
 wanted = Monday00:00:00
 
+Asia/Dubai
 ts = Thursday 1970-01-01 17:17:17 GST
 result = Monday 1970-01-05 00:00:00 GST
 wanted = Monday00:00:00
 
+Asia/Kabul
 ts = Thursday 1970-01-01 17:17:17 AFT
 result = Monday 1970-01-05 00:00:00 AFT
 wanted = Monday00:00:00
 
+America/Antigua
 ts = Thursday 1970-01-01 17:17:17 AST
 result = Monday 1970-01-05 00:00:00 AST
 wanted = Monday00:00:00
 
+America/Anguilla
 ts = Thursday 1970-01-01 17:17:17 AST
 result = Monday 1970-01-05 00:00:00 AST
 wanted = Monday00:00:00
 
+Europe/Tirane
 ts = Monday 1983-04-11 17:17:17 CET
 result = Monday 1983-04-18 01:00:00 CEST
 wanted = Monday00:00:00
 
+Asia/Yerevan
 ts = Monday 2037-10-19 17:17:17 AMST
 result = Monday 2037-10-26 00:00:00 AMT
 wanted = Monday00:00:00
 
+America/Curacao
 ts = Thursday 1970-01-01 17:17:17 AST
 result = Monday 1970-01-05 00:00:00 AST
 wanted = Monday00:00:00
 
+Africa/Luanda
 ts = Thursday 1970-01-01 17:17:17 WAT
 result = Monday 1970-01-05 00:00:00 WAT
 wanted = Monday00:00:00
 
+Antarctica/McMurdo
 ts = Monday 2037-09-28 17:17:17 NZST
 result = Monday 2037-10-05 00:00:00 NZDT
 wanted = Monday00:00:00
 
+Australia/Adelaide
 ts = Friday 1971-01-01 17:17:17 CST
 result = Monday 1971-01-04 00:00:00 CST
 wanted = Monday00:00:00
 
+Australia/Darwin
 ts = Monday 1971-03-29 17:17:17 CST
 result = Monday 1971-04-05 00:00:00 CST
 wanted = Monday00:00:00
 
+Australia/Perth
 ts = Friday 1971-01-01 17:17:17 WST
 result = Monday 1971-01-04 00:00:00 WST
 wanted = Monday00:00:00
 
+America/Aruba
 ts = Monday 1971-03-29 17:17:17 AST
 result = Monday 1971-04-05 00:00:00 AST
 wanted = Monday00:00:00
 
+Asia/Baku
 ts = Friday 1971-01-01 17:17:17 BAKT
 result = Monday 1971-01-04 00:00:00 BAKT
 wanted = Monday00:00:00
 
+Europe/Sarajevo
 ts = Friday 1971-01-01 17:17:17 CET
 result = Monday 1971-01-04 00:00:00 CET
 wanted = Monday00:00:00
 
+America/Barbados
 ts = Friday 1971-01-01 17:17:17 AST
 result = Monday 1971-01-04 00:00:00 AST
 wanted = Monday00:00:00
 
+Asia/Dacca
 ts = Friday 1971-01-01 17:17:17 DACT
 result = Monday 1971-01-04 00:00:00 DACT
 wanted = Monday00:00:00
 
+Europe/Brussels
 ts = Friday 1971-01-01 17:17:17 CET
 result = Monday 1971-01-04 00:00:00 CET
 wanted = Monday00:00:00
 
+Africa/Ouagadougou
 ts = Monday 1971-03-29 17:17:17 GMT
 result = Monday 1971-04-05 00:00:00 GMT
 wanted = Monday00:00:00
+
+Europe/Tirane
+ts = Monday 1983-04-11 17:17:17 CET
+result = Monday 1983-04-18 01:00:00 CEST
+wanted = Monday00:00:00
+
+America/Buenos_Aires
+ts = Monday 1974-09-30 17:17:17 ART
+result = Monday 1974-10-07 00:00:00 ART
+wanted = Monday00:00:00
+

[PHP-CVS] cvs: php-src /ext/date .cvsignore

2005-06-19 Thread Derick Rethans
derick  Sun Jun 19 11:02:28 2005 EDT

  Modified files:  
/php-src/ext/date   .cvsignore 
  Log:
  - Ignore VIM swapfiles.
  
  
http://cvs.php.net/diff.php/php-src/ext/date/.cvsignore?r1=1.1r2=1.2ty=u
Index: php-src/ext/date/.cvsignore
diff -u php-src/ext/date/.cvsignore:1.1 php-src/ext/date/.cvsignore:1.2
--- php-src/ext/date/.cvsignore:1.1 Tue Jun 14 17:32:27 2005
+++ php-src/ext/date/.cvsignore Sun Jun 19 11:02:28 2005
@@ -8,6 +8,7 @@
 *.tgz
 *~
 .#*
+.*.swp
 .deps
 .libs
 Debug

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/date/tests bug26198.phpt

2005-06-19 Thread Derick Rethans
derick  Sun Jun 19 12:13:34 2005 EDT

  Modified files:  
/php-src/ext/date/tests bug26198.phpt 
  Log:
  - Fixed test - strtotime() uses GMT if no TZ environment variable is set and 
if
no explicit timezone abbreviation (CEST) or timezone identifier
(Europe/Amsterdam) is set.
  
  
http://cvs.php.net/diff.php/php-src/ext/date/tests/bug26198.phpt?r1=1.1r2=1.2ty=u
Index: php-src/ext/date/tests/bug26198.phpt
diff -u php-src/ext/date/tests/bug26198.phpt:1.1 
php-src/ext/date/tests/bug26198.phpt:1.2
--- php-src/ext/date/tests/bug26198.phpt:1.1Thu Jun 16 13:35:08 2005
+++ php-src/ext/date/tests/bug26198.phptSun Jun 19 12:13:34 2005
@@ -2,9 +2,9 @@
 Bug #26198 (strtotime handling of M Y and Y M format)
 --FILE--
 ?php
-   echo date(F Y\n, strtotime(Oct 2001));
-   echo date(M Y\n, strtotime(2001 Oct));
+   echo gmdate(F Y (Y-m-d H:i:s T)\n, strtotime(Oct 2001));
+   echo gmdate(M Y (Y-m-d H:i:s T)\n, strtotime(2001 Oct));
 ?
 --EXPECT--
-October 2001
-Oct 2001
+October 2001 (2001-10-01 00:00:00 GMT)
+Oct 2001 (2001-10-01 00:00:00 GMT)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/standard string.c

2005-06-19 Thread Ilia Alshanetsky
iliaa   Sun Jun 19 12:31:52 2005 EDT

  Modified files:  
/php-src/ext/standard   string.c 
  Log:
  make substr_count() 30% when counting instances of 1 byte long strings.
  
  
http://cvs.php.net/diff.php/php-src/ext/standard/string.c?r1=1.440r2=1.441ty=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.440 php-src/ext/standard/string.c:1.441
--- php-src/ext/standard/string.c:1.440 Sat Jun 18 14:23:12 2005
+++ php-src/ext/standard/string.c   Sun Jun 19 12:31:51 2005
@@ -18,7 +18,7 @@
+--+
  */
 
-/* $Id: string.c,v 1.440 2005/06/18 18:23:12 iliaa Exp $ */
+/* $Id: string.c,v 1.441 2005/06/19 16:31:51 iliaa Exp $ */
 
 /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
 
@@ -4463,11 +4463,10 @@

if (Z_STRLEN_PP(needle) == 1) {
cmp = Z_STRVAL_PP(needle)[0];
-   
-   while (p  endp) {
-   if (*(p++) == cmp) {
-   count++;
-   }
+
+   while ((p = memchr(p, cmp, endp - p))) {
+   count++;
+   p++;
}
} else {
while ((p = php_memnstr(p, Z_STRVAL_PP(needle), 
Z_STRLEN_PP(needle), endp))) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /tests/reflection 006.phpt

2005-06-19 Thread Jani Taskinen
sniper  Sun Jun 19 13:06:49 2005 EDT

  Modified files:  
/php-src/tests/reflection   006.phpt 
  Log:
  revert - now it works again?!
  
http://cvs.php.net/diff.php/php-src/tests/reflection/006.phpt?r1=1.2r2=1.3ty=u
Index: php-src/tests/reflection/006.phpt
diff -u php-src/tests/reflection/006.phpt:1.2 
php-src/tests/reflection/006.phpt:1.3
--- php-src/tests/reflection/006.phpt:1.2   Sat Jun 18 19:23:45 2005
+++ php-src/tests/reflection/006.phpt   Sun Jun 19 13:06:48 2005
@@ -83,6 +83,7 @@
 
 ?
 ===DONE===
+?php exit(0); ?
 --EXPECT--
 string(3) pub
 string(3) pub

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /tests/classes array_access_003.phpt array_access_005.phpt array_access_008.phpt

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 16:49:18 2005 EDT

  Modified files:  
/php-src/tests/classes  array_access_003.phpt array_access_005.phpt 
array_access_008.phpt 
  Log:
  - Update tests to reflect current situation
  # I don't feel like discussing this issue anymore - maybe we need to find 
  # a way of returning proxies to get the requested behavior back - i'll give
  # it a try for PHP 5.2. So long we'll have to stay with the original 
  # decision that we don't support references at all with ArrayAccess.
  
  
http://cvs.php.net/diff.php/php-src/tests/classes/array_access_003.phpt?r1=1.5r2=1.6ty=u
Index: php-src/tests/classes/array_access_003.phpt
diff -u php-src/tests/classes/array_access_003.phpt:1.5 
php-src/tests/classes/array_access_003.phpt:1.6
--- php-src/tests/classes/array_access_003.phpt:1.5 Thu Apr 28 21:18:40 2005
+++ php-src/tests/classes/array_access_003.phpt Sun Jun 19 16:49:17 2005
@@ -12,7 +12,7 @@
echo __METHOD__ . ($index)\n;
return array_key_exists($index, $this-a);
}
-   function offsetGet($index) {
+   function offsetGet($index) {
echo __METHOD__ . ($index)\n;
switch($index) {
case 1:
@@ -48,12 +48,9 @@
 ===DONE===
 --EXPECTF--
 object::offsetGet(1)
-
-Strict Standards: Only variable references should be returned by reference in 
%sarray_access_003.php on line %d
 string(6) fooBar
 object::offsetGet(2)
 int(1)
 object::offsetGet(2)
-object::offsetGet(2)
-int(2)
-===DONE===
+
+Fatal error: Objects used as arrays in post/pre increment/decrement must 
return values by reference in %sarray_access_003.php on line %d
http://cvs.php.net/diff.php/php-src/tests/classes/array_access_005.phpt?r1=1.3r2=1.4ty=u
Index: php-src/tests/classes/array_access_005.phpt
diff -u php-src/tests/classes/array_access_005.phpt:1.3 
php-src/tests/classes/array_access_005.phpt:1.4
--- php-src/tests/classes/array_access_005.phpt:1.3 Thu Feb 12 09:12:37 2004
+++ php-src/tests/classes/array_access_005.phpt Sun Jun 19 16:49:17 2005
@@ -14,7 +14,7 @@
return array_key_exists($this-person, $index);
}
 
-   function offsetGet($index) {
+   function offsetGet($index) {
return $this-person[$index];
}
 
@@ -39,20 +39,34 @@
 
 $people = new Peoples;
 
+var_dump($people[0]);
 var_dump($people[0]['name']);
-$people[0]['name'] = $people-person[0]['name'] . 'Foo';
+var_dump($people-person[0]['name'] . 'Foo'); // impossible to assign this 
since we don't return references here
+$x = $people[0]; // creates a copy
+$x['name'] .= 'Foo';
+$people[0] = $x;
+var_dump($people[0]);
+$people[0]['name'] = 'JoeFoo';
 var_dump($people[0]['name']);
-$people[0]['name'] .= 'Bar';
+$people[0]['name'] = 'JoeFooBar';
 var_dump($people[0]['name']);
 
-echo ---Done---\n;
 ?
---EXPECT--
+===DONE===
+--EXPECTF--
 string(3) Joe
 string(6) JoeFoo
 string(9) JoeFooBar
 ---ArrayOverloading---
+array(1) {
+  [name]=
+  string(3) Joe
+}
 string(3) Joe
 string(6) JoeFoo
-string(9) JoeFooBar
Done---
+array(1) {
+  [name]=
+  string(6) JoeFoo
+}
+
+Fatal error: Objects used as arrays in post/pre increment/decrement must 
return values by reference in %sarray_access_005.php on line %d
http://cvs.php.net/diff.php/php-src/tests/classes/array_access_008.phpt?r1=1.1r2=1.2ty=u
Index: php-src/tests/classes/array_access_008.phpt
diff -u php-src/tests/classes/array_access_008.phpt:1.1 
php-src/tests/classes/array_access_008.phpt:1.2
--- php-src/tests/classes/array_access_008.phpt:1.1 Wed Sep 29 05:36:23 2004
+++ php-src/tests/classes/array_access_008.phpt Sun Jun 19 16:49:17 2005
@@ -14,7 +14,7 @@
return array_key_exists($this-person, $index);
}
 
-   function  offsetGet($index) {
+   function offsetGet($index) {
return $this-person[$index];
}
 
@@ -40,6 +40,8 @@
 $people = new Peoples;
 
 var_dump($people[0]['name']);
+$people[0]['name'] = 'FooBar';
+var_dump($people[0]['name']);
 $people[0]['name'] = $people-person[0]['name'] . 'Bar';
 var_dump($people[0]['name']);
 $people[0]['name'] .= 'Baz';
@@ -47,12 +49,11 @@
 
 ?
 ===DONE===
---EXPECT--
+--EXPECTF--
 string(3) Foo
 string(6) FooBar
 string(9) FooBarBaz
 ===ArrayOverloading===
 string(3) Foo
-string(6) FooBar
-string(9) FooBarBaz
-===DONE===
+
+Fatal error: Objects used as arrays in post/pre increment/decrement must 
return values by reference in %sarray_access_008.php on line %d

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /tests/classes array_access_009.phpt

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 17:34:22 2005 EDT

  Added files: 
/php-src/tests/classes  array_access_009.phpt 
  Log:
  - Add new test
  

http://cvs.php.net/co.php/php-src/tests/classes/array_access_009.phpt?r=1.1p=1
Index: php-src/tests/classes/array_access_009.phpt
+++ php-src/tests/classes/array_access_009.phpt
--TEST--
ZE2 ArrayAccess and ArrayProxyAccess, ArrayProxy
--FILE--
?php 

// NOTE: This will become part of SPL

interface ArrayProxyAccess extends ArrayAccess
{
function proxyGet($element);
function proxySet($element, $index, $value);
function proxyUnset($element, $index);
}

class ArrayProxy implements ArrayAccess
{
private $object;
private $element;

function __construct(ArrayProxyAccess $object, $element)
{
echo __METHOD__ . ($element)\n;
if (!$object-offsetExists($element))
{
$object[$element] = array();
}
$this-object = $object;
$this-element = $element;
}

function offsetExists($index) {
echo __METHOD__ . ($$this-element, $index)\n;
return array_key_exists($index, 
$this-object-proxyGet($this-element));
}

function offsetGet($index) {
echo __METHOD__ . ($this-element, $index)\n;
$tmp = $this-object-proxyGet($this-element);
return isset($tmp[$index]) ? $tmp[$index] : NULL;
}

function offsetSet($index, $value) {
echo __METHOD__ . ($$this-element, $index, $value)\n;
$this-object-proxySet($this-element, $index, $value);
}

function offsetUnset($index) {
echo __METHOD__ . ($$this-element, $index)\n;
$this-object-proxyUnset($this-element, $index);
}
}

class Peoples implements ArrayProxyAccess
{
public $person;

function __construct()
{
$this-person = array(array('name'='Foo'));
}

function offsetExists($index)
{
return array_key_exists($index, $this-person);
}

function offsetGet($index)
{
return new ArrayProxy($this, $index);
}

function offsetSet($index, $value)
{
$this-person[$index] = $value;
}

function offsetUnset($index)
{
unset($this-person[$index]);
}

function proxyGet($element)
{
return $this-person[$element];
}

function proxySet($element, $index, $value)
{
$this-person[$element][$index] = $value;
}

function proxyUnset($element, $index)
{
unset($this-person[$element][$index]);
}
}

$people = new Peoples;

var_dump($people-person[0]['name']);
$people-person[0]['name'] = $people-person[0]['name'] . 'Bar';
var_dump($people-person[0]['name']);
$people-person[0]['name'] .= 'Baz';
var_dump($people-person[0]['name']);

echo ===ArrayOverloading===\n;

$people = new Peoples;

var_dump($people[0]);
var_dump($people[0]['name']);
$people[0]['name'] = 'FooBar';
var_dump($people[0]['name']);
$people[0]['name'] = $people-person[0]['name'] . 'Bar';
var_dump($people[0]['name']);
$people[0]['name'] .= 'Baz';
var_dump($people[0]['name']);
unset($people[0]['name']);
var_dump($people[0]);
var_dump($people[0]['name']);
$people[0]['name'] = 'BlaBla';
var_dump($people[0]['name']);

?
===DONE===
--EXPECTF--
string(3) Foo
string(6) FooBar
string(9) FooBarBaz
===ArrayOverloading===
ArrayProxy::__construct(0)
object(ArrayProxy)#1 (2) {
  [object:private]=
  object(Peoples)#2 (1) {
[person]=
array(1) {
  [0]=
  array(1) {
[name]=
string(3) Foo
  }
}
  }
  [element:private]=
  int(0)
}
ArrayProxy::__construct(0)
ArrayProxy::offsetGet(0, name)
string(3) Foo
ArrayProxy::__construct(0)
ArrayProxy::offsetSet($0, name, FooBar)
ArrayProxy::__construct(0)
ArrayProxy::offsetGet(0, name)
string(6) FooBar
ArrayProxy::__construct(0)
ArrayProxy::offsetSet($0, name, FooBarBar)
ArrayProxy::__construct(0)
ArrayProxy::offsetGet(0, name)
string(9) FooBarBar
ArrayProxy::__construct(0)
ArrayProxy::offsetGet(0, name)
ArrayProxy::offsetSet($0, name, FooBarBarBaz)
ArrayProxy::__construct(0)
ArrayProxy::offsetGet(0, name)
string(12) FooBarBarBaz
ArrayProxy::__construct(0)
ArrayProxy::offsetUnset($0, name)
ArrayProxy::__construct(0)
object(ArrayProxy)#1 (2) {
  [object:private]=
  object(Peoples)#2 (1) {
[person]=
array(1) {
  [0]=
  array(0) {
  }
}
  }
  [element:private]=
  int(0)
}
ArrayProxy::__construct(0)
ArrayProxy::offsetGet(0, name)
NULL
ArrayProxy::__construct(0)
ArrayProxy::offsetSet($0, name, BlaBla)
ArrayProxy::__construct(0)
ArrayProxy::offsetGet(0, name)
string(6) BlaBla
===DONE===

-- 
PHP CVS Mailing 

[PHP-CVS] cvs: php-src /tests/classes array_access_009.phpt

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 17:52:39 2005 EDT

  Modified files:  
/php-src/tests/classes  array_access_009.phpt 
  Log:
  - Drop doubled $
  
http://cvs.php.net/diff.php/php-src/tests/classes/array_access_009.phpt?r1=1.1r2=1.2ty=u
Index: php-src/tests/classes/array_access_009.phpt
diff -u php-src/tests/classes/array_access_009.phpt:1.1 
php-src/tests/classes/array_access_009.phpt:1.2
--- php-src/tests/classes/array_access_009.phpt:1.1 Sun Jun 19 17:34:21 2005
+++ php-src/tests/classes/array_access_009.phpt Sun Jun 19 17:52:38 2005
@@ -29,7 +29,7 @@
}
 
function offsetExists($index) {
-   echo __METHOD__ . ($$this-element, $index)\n;
+   echo __METHOD__ . ($this-element, $index)\n;
return array_key_exists($index, 
$this-object-proxyGet($this-element));
}
 
@@ -40,12 +40,12 @@
}
 
function offsetSet($index, $value) {
-   echo __METHOD__ . ($$this-element, $index, $value)\n;
+   echo __METHOD__ . ($this-element, $index, $value)\n;
$this-object-proxySet($this-element, $index, $value);
}
 
function offsetUnset($index) {
-   echo __METHOD__ . ($$this-element, $index)\n;
+   echo __METHOD__ . ($this-element, $index)\n;
$this-object-proxyUnset($this-element, $index);
}
 }
@@ -148,23 +148,23 @@
 ArrayProxy::offsetGet(0, name)
 string(3) Foo
 ArrayProxy::__construct(0)
-ArrayProxy::offsetSet($0, name, FooBar)
+ArrayProxy::offsetSet(0, name, FooBar)
 ArrayProxy::__construct(0)
 ArrayProxy::offsetGet(0, name)
 string(6) FooBar
 ArrayProxy::__construct(0)
-ArrayProxy::offsetSet($0, name, FooBarBar)
+ArrayProxy::offsetSet(0, name, FooBarBar)
 ArrayProxy::__construct(0)
 ArrayProxy::offsetGet(0, name)
 string(9) FooBarBar
 ArrayProxy::__construct(0)
 ArrayProxy::offsetGet(0, name)
-ArrayProxy::offsetSet($0, name, FooBarBarBaz)
+ArrayProxy::offsetSet(0, name, FooBarBarBaz)
 ArrayProxy::__construct(0)
 ArrayProxy::offsetGet(0, name)
 string(12) FooBarBarBaz
 ArrayProxy::__construct(0)
-ArrayProxy::offsetUnset($0, name)
+ArrayProxy::offsetUnset(0, name)
 ArrayProxy::__construct(0)
 object(ArrayProxy)#1 (2) {
   [object:private]=
@@ -183,7 +183,7 @@
 ArrayProxy::offsetGet(0, name)
 NULL
 ArrayProxy::__construct(0)
-ArrayProxy::offsetSet($0, name, BlaBla)
+ArrayProxy::offsetSet(0, name, BlaBla)
 ArrayProxy::__construct(0)
 ArrayProxy::offsetGet(0, name)
 string(6) BlaBla

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: CVSROOT / avail

2005-06-19 Thread Wez Furlong
wez Sun Jun 19 17:57:27 2005 EDT

  Modified files:  
/CVSROOTavail 
  Log:
  karma for the phpdoc-ca module
  
  http://cvs.php.net/diff.php/CVSROOT/avail?r1=1.987r2=1.988ty=u
Index: CVSROOT/avail
diff -u CVSROOT/avail:1.987 CVSROOT/avail:1.988
--- CVSROOT/avail:1.987 Tue Jun 14 10:45:11 2005
+++ CVSROOT/avail   Sun Jun 19 17:57:25 2005
@@ -17,7 +17,7 @@
 # The PHP Developers have full access to the full source trees for
 # PHP and PEAR, as well as the documentation.
 
-avail|msisolak,alan_k,rrichards,tal,mfischer,fmk,hirokawa,jah,eschmid,dbeu,sebastian,samjam,avsm,ronabob,derick,sterling,venaas,stas,hholzgra,cmv,phildriscoll,jmoore,andre,sniper,sr,david,jdonagher,chagenbu,jon,elixer,joosters,jason,mysql,kalowsky,opaquedave,steinm,phanto,gluke,svanegmond,rjs,vlad,jimjag,emile,wez,sasha,camber,ohrn,romolo,martin,lurcher,wsanchez,dreid,bmcadams,swm,zhang,kevin,joey,entity,cardinal,coar,jflemer,raphael,danda,rbb,mboeren,dougm,mlwmohawk,edink,alexwaugh,bernd,zak,sesser,yohgaki,imajes,markonen,dickmeiss,helly,sander,jan,kir,aaron,jwoolley,pbannister,rvenkat,dali,rodif_bl,hyanantha,witten,georg,msopacua,mpdoremus,fujimoto,iliaa,chregu,azzit,gschlossnagle,andrey,dan,moriyoshi,dviner,bfrance,flex,iwakiri,john,harrie,pollita,ianh,k.schroeder,dcowgill,jerenkrantz,jay,ddhill,jorton,thetaphi,abies,vincent,goba,dmitry,pajoye,shie,rafi,magnus,tony2001,johannes,dbs,skoduru|phpfi,php3,php-src,pecl,non-pecl,pear,peardoc,spl,phpdoc,ZendAPI,phpdoc-ar,phpdoc-bg,phpdoc-cs,phpdoc-da,phpdoc-de,phpdoc-el,phpdoc-es,phpdoc-fa_IR,phpdoc-fi,phpdoc-fr,phpdoc-he,phpdoc-hk,phpdoc-hu,phpdoc-id,phpdoc-it,phpdoc-ja,phpdoc-kr,phpdoc-lt,phpdoc-nl,phpdoc-pl,phpdoc-pt_BR,phpdoc-pt,phpdoc-ro,phpdoc-ru,phpdoc-sk,phpdoc-sl,phpdoc-sv,phpdoc-tr,phpdoc-tw,phpdoc-zh
+avail|msisolak,alan_k,rrichards,tal,mfischer,fmk,hirokawa,jah,eschmid,dbeu,sebastian,samjam,avsm,ronabob,derick,sterling,venaas,stas,hholzgra,cmv,phildriscoll,jmoore,andre,sniper,sr,david,jdonagher,chagenbu,jon,elixer,joosters,jason,mysql,kalowsky,opaquedave,steinm,phanto,gluke,svanegmond,rjs,vlad,jimjag,emile,wez,sasha,camber,ohrn,romolo,martin,lurcher,wsanchez,dreid,bmcadams,swm,zhang,kevin,joey,entity,cardinal,coar,jflemer,raphael,danda,rbb,mboeren,dougm,mlwmohawk,edink,alexwaugh,bernd,zak,sesser,yohgaki,imajes,markonen,dickmeiss,helly,sander,jan,kir,aaron,jwoolley,pbannister,rvenkat,dali,rodif_bl,hyanantha,witten,georg,msopacua,mpdoremus,fujimoto,iliaa,chregu,azzit,gschlossnagle,andrey,dan,moriyoshi,dviner,bfrance,flex,iwakiri,john,harrie,pollita,ianh,k.schroeder,dcowgill,jerenkrantz,jay,ddhill,jorton,thetaphi,abies,vincent,goba,dmitry,pajoye,shie,rafi,magnus,tony2001,johannes,dbs,skoduru|phpfi,php3,php-src,pecl,non-pecl,pear,peardoc,spl,phpdoc,ZendAPI,phpdoc-ar,phpdoc-bg,phpdoc-cs,phpdoc-da,phpdoc-de,phpdoc-el,phpdoc-es,phpdoc-fa_IR,phpdoc-fi,phpdoc-fr,phpdoc-he,phpdoc-hk,phpdoc-hu,phpdoc-id,phpdoc-it,phpdoc-ja,phpdoc-kr,phpdoc-lt,phpdoc-nl,phpdoc-pl,phpdoc-pt_BR,phpdoc-pt,phpdoc-ro,phpdoc-ru,phpdoc-sk,phpdoc-sl,phpdoc-sv,phpdoc-tr,phpdoc-tw,phpdoc-zh,phpdoc-ca
 
 # The Livedocs developers
 
@@ -29,7 +29,7 @@
 # The PHP Documentation Group maintains the documentation and its
 # translations.
 

[PHP-CVS] cvs: php-src /tests/classes array_access_010.phpt

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 18:09:53 2005 EDT

  Added files: 
/php-src/tests/classes  array_access_010.phpt 
  Log:
  - Add new test
  # This does the same as 009 but achieves its goal completely different. It
  # is easier but makes the array a reference which is not always practical.
  
  

http://cvs.php.net/co.php/php-src/tests/classes/array_access_010.phpt?r=1.1p=1
Index: php-src/tests/classes/array_access_010.phpt
+++ php-src/tests/classes/array_access_010.phpt
--TEST--
ZE2 ArrayAccess and ArrayReferenceProxy with references
--FILE--
?php 

// NOTE: This will become part of SPL

class ArrayReferenceProxy implements ArrayAccess
{
private $object;
private $element;

function __construct(ArrayAccess $object, array $element)
{
echo __METHOD__ . ($element)\n;
$this-object = $object;
$this-element = $element;
}

function offsetExists($index) {
echo __METHOD__ . ($this-element, $index)\n;
return array_key_exists($index, $this-element);
}

function offsetGet($index) {
echo __METHOD__ . ($this-element, $index)\n;
return isset($this-element[$index]) ? $this-element[$index] : 
NULL;
}

function offsetSet($index, $value) {
echo __METHOD__ . ($this-element, $index, $value)\n;
$this-element[$index] = $value;
}

function offsetUnset($index) {
echo __METHOD__ . ($this-element, $index)\n;
unset($this-element[$index]);
}
}

class Peoples implements ArrayAccess
{
public $person;

function __construct()
{
$this-person = array(array('name'='Foo'));
}

function offsetExists($index)
{
return array_key_exists($index, $this-person);
}

function offsetGet($index)
{
return new ArrayReferenceProxy($this, $this-person[$index]);
}

function offsetSet($index, $value)
{
$this-person[$index] = $value;
}

function offsetUnset($index)
{
unset($this-person[$index]);
}
}

$people = new Peoples;

var_dump($people-person[0]['name']);
$people-person[0]['name'] = $people-person[0]['name'] . 'Bar';
var_dump($people-person[0]['name']);
$people-person[0]['name'] .= 'Baz';
var_dump($people-person[0]['name']);

echo ===ArrayOverloading===\n;

$people = new Peoples;

var_dump($people[0]);
var_dump($people[0]['name']);
$people[0]['name'] = 'FooBar';
var_dump($people[0]['name']);
$people[0]['name'] = $people-person[0]['name'] . 'Bar';
var_dump($people[0]['name']);
$people[0]['name'] .= 'Baz';
var_dump($people[0]['name']);
unset($people[0]['name']);
var_dump($people[0]);
var_dump($people[0]['name']);
$people[0]['name'] = 'BlaBla';
var_dump($people[0]['name']);

?
===DONE===
?php exit(0); ?
--EXPECTF--
string(3) Foo
string(6) FooBar
string(9) FooBarBaz
===ArrayOverloading===
ArrayReferenceProxy::__construct(Array)
object(ArrayReferenceProxy)#1 (2) {
  [object:private]=
  object(Peoples)#2 (1) {
[person]=
array(1) {
  [0]=
  array(1) {
[name]=
string(3) Foo
  }
}
  }
  [element:private]=
  array(1) {
[name]=
string(3) Foo
  }
}
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetGet(Array, name)
string(3) Foo
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetSet(Array, name, FooBar)
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetGet(Array, name)
string(6) FooBar
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetSet(Array, name, FooBarBar)
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetGet(Array, name)
string(9) FooBarBar
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetGet(Array, name)
ArrayReferenceProxy::offsetSet(Array, name, FooBarBarBaz)
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetGet(Array, name)
string(12) FooBarBarBaz
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetUnset(Array, name)
ArrayReferenceProxy::__construct(Array)
object(ArrayReferenceProxy)#1 (2) {
  [object:private]=
  object(Peoples)#2 (1) {
[person]=
array(1) {
  [0]=
  array(0) {
  }
}
  }
  [element:private]=
  array(0) {
  }
}
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetGet(Array, name)
NULL
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetSet(Array, name, BlaBla)
ArrayReferenceProxy::__construct(Array)
ArrayReferenceProxy::offsetGet(Array, name)
string(6) BlaBla
===DONE===

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src / genfiles /ext/date .cvsignore TODO php_date.c php_date.h /ext/date/lib/resource .cvsignore /ext/standard .cvsignore Makefile.frag config.m4 config.w32 datetime.c parsedate.

2005-06-19 Thread Derick Rethans
derick  Sun Jun 19 18:15:28 2005 EDT

  Removed files:   
/php-src/ext/standard   parsedate.y php_parsedate.h 

  Modified files:  
/php-srcgenfiles 
/php-src/ext/date   .cvsignore TODO php_date.c php_date.h 
/php-src/ext/date/lib/resource  .cvsignore 
/php-src/ext/standard   .cvsignore Makefile.frag config.m4 config.w32 
datetime.c 
/php-src/ext/wddx   wddx.c 
/php-src/netwareBisonExtStandard.bat phplib.mak 
/php-src/win32  php5dll.dsp php5dllts.dsp 
/php-src/win32/buildMakefile 
  Log:
  - Added backward compability wrapper php_parse_date().
  - Changed WDDX extension to use new date parsing code.
  - Removed all remnants to the old parser.
  #- I hope that I didn't break the .dsp's...
  
  http://cvs.php.net/diff.php/php-src/genfiles?r1=1.21r2=1.22ty=u
Index: php-src/genfiles
diff -u php-src/genfiles:1.21 php-src/genfiles:1.22
--- php-src/genfiles:1.21   Mon May 27 10:47:03 2002
+++ php-src/genfilesSun Jun 19 18:15:24 2005
@@ -5,7 +5,6 @@
 (eval $STD Zend/zend_language_parser.c Zend/zend_language_scanner.c 
Zend/zend_ini_parser.c Zend/zend_ini_scanner.c)
 
 set -x
-bison -d -y -l ext/standard/parsedate.y -o ext/standard/parsedate.c
 
 for f in ext/standard/url_scanner_ex.c ext/standard/var_unserializer.c; do
   cp $f $f.orig
http://cvs.php.net/diff.php/php-src/ext/date/.cvsignore?r1=1.2r2=1.3ty=u
Index: php-src/ext/date/.cvsignore
diff -u php-src/ext/date/.cvsignore:1.2 php-src/ext/date/.cvsignore:1.3
--- php-src/ext/date/.cvsignore:1.2 Sun Jun 19 11:02:28 2005
+++ php-src/ext/date/.cvsignore Sun Jun 19 18:15:25 2005
@@ -45,9 +45,6 @@
 missing
 mkinstalldirs
 modules
-parsedate.c
-parsedate.h
-parsedate.output
 scan_makefile_in.awk
 *.gcda
 *.gcno
http://cvs.php.net/diff.php/php-src/ext/date/TODO?r1=1.5r2=1.6ty=u
Index: php-src/ext/date/TODO
diff -u php-src/ext/date/TODO:1.5 php-src/ext/date/TODO:1.6
--- php-src/ext/date/TODO:1.5   Sat Jun 18 16:23:18 2005
+++ php-src/ext/date/TODO   Sun Jun 19 18:15:25 2005
@@ -1,5 +1,4 @@
 - Port over my 200 test cases to .phpt format.
 - Write an error handler for unexpected characters while parsing dates.
-- Remove old parsedate.* code from ext/standard 
 - Move all date/time related functions from ext/standard to ext/date
 - Move all date/time related tests from ext/standard/tests to ext/data/tests
http://cvs.php.net/diff.php/php-src/ext/date/php_date.c?r1=1.12r2=1.13ty=u
Index: php-src/ext/date/php_date.c
diff -u php-src/ext/date/php_date.c:1.12 php-src/ext/date/php_date.c:1.13
--- php-src/ext/date/php_date.c:1.12Sun Jun 19 01:28:39 2005
+++ php-src/ext/date/php_date.c Sun Jun 19 18:15:25 2005
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: php_date.c,v 1.12 2005/06/19 05:28:39 sebastian Exp $ */
+/* $Id: php_date.c,v 1.13 2005/06/19 22:15:25 derick Exp $ */
 
 #include php.h
 #include php_streams.h
@@ -85,6 +85,22 @@
php_info_print_table_end();
 }
 
+signed long php_parse_date(char *string, signed long *now)
+{
+   timelib_time *parsed_time;
+   int   error;
+   signed long   retval;
+
+   parsed_time = timelib_strtotime(string);
+   timelib_update_ts(parsed_time, NULL);
+   retval = timelib_date_to_int(parsed_time, error);
+   timelib_time_dtor(parsed_time);
+   if (error) {
+   return -1;
+   }
+   return retval;
+}
+
 static char* guess_timezone(TSRMLS_D)
 {
char *env;
http://cvs.php.net/diff.php/php-src/ext/date/php_date.h?r1=1.4r2=1.5ty=u
Index: php-src/ext/date/php_date.h
diff -u php-src/ext/date/php_date.h:1.4 php-src/ext/date/php_date.h:1.5
--- php-src/ext/date/php_date.h:1.4 Sat Jun 18 16:23:18 2005
+++ php-src/ext/date/php_date.h Sun Jun 19 18:15:25 2005
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: php_date.h,v 1.4 2005/06/18 20:23:18 derick Exp $ */
+/* $Id: php_date.h,v 1.5 2005/06/19 22:15:25 derick Exp $ */
 
 #ifndef PHP_DATE_H
 #define PHP_DATE_H
@@ -40,4 +40,7 @@
 #define DATEG(v) (date_globals.v)
 #endif
 
+/* Backwards compability wrapper */
+signed long php_parse_date(char *string, signed long *now);
+
 #endif /* PHP_DATE_H */
http://cvs.php.net/diff.php/php-src/ext/date/lib/resource/.cvsignore?r1=1.1r2=1.2ty=u
Index: php-src/ext/date/lib/resource/.cvsignore
diff -u php-src/ext/date/lib/resource/.cvsignore:1.1 
php-src/ext/date/lib/resource/.cvsignore:1.2
--- php-src/ext/date/lib/resource/.cvsignore:1.1Tue Jun 14 17:32:27 2005
+++ php-src/ext/date/lib/resource/.cvsignoreSun Jun 19 18:15:25 2005
@@ -44,9 +44,6 @@
 missing
 mkinstalldirs
 modules
-parsedate.c
-parsedate.h
-parsedate.output
 scan_makefile_in.awk
 *.gcda
 *.gcno
http://cvs.php.net/diff.php/php-src/ext/standard/.cvsignore?r1=1.13r2=1.14ty=u
Index: php-src/ext/standard/.cvsignore
diff -u 

[PHP-CVS] cvs: php-src /tests/classes array_access_011.phpt

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 18:18:08 2005 EDT

  Added files: 
/php-src/tests/classes  array_access_011.phpt 
  Log:
  - Add new test
  # In this version we do not need to make the subscripted array a reference.
  # Thus this implementation is in most cases the ideal implementation.
  
  

http://cvs.php.net/co.php/php-src/tests/classes/array_access_011.phpt?r=1.1p=1
Index: php-src/tests/classes/array_access_011.phpt
+++ php-src/tests/classes/array_access_011.phpt
--TEST--
ZE2 ArrayAccess and ArrayAccessReferenceProxy with references to main array
--FILE--
?php 

// NOTE: This will become part of SPL

class ArrayAccessReferenceProxy implements ArrayAccess
{
private $object;
private $oarray;
private $element;

function __construct(ArrayAccess $object, array $array, $element)
{
echo __METHOD__ . ($element)\n;
$this-object = $object;
$this-oarray = $array;
$this-element = $element;
}

function offsetExists($index) {
echo __METHOD__ . ($this-element, $index)\n;
return array_key_exists($index, $this-oarray[$this-element]);
}

function offsetGet($index) {
echo __METHOD__ . ($this-element, $index)\n;
return isset($this-oarray[$this-element][$index]) ? 
$this-oarray[$this-element][$index] : NULL;
}

function offsetSet($index, $value) {
echo __METHOD__ . ($this-element, $index, $value)\n;
$this-oarray[$this-element][$index] = $value;
}

function offsetUnset($index) {
echo __METHOD__ . ($this-element, $index)\n;
unset($this-oarray[$this-element][$index]);
}
}

class Peoples implements ArrayAccess
{
public $person;

function __construct()
{
$this-person = array(array('name'='Foo'));
}

function offsetExists($index)
{
return array_key_exists($index, $this-person);
}

function offsetGet($index)
{
if (is_array($this-person[$index]))
{
return new ArrayAccessReferenceProxy($this, 
$this-person, $index);
}
else
{
return $this-person[$index];
}
}

function offsetSet($index, $value)
{
$this-person[$index] = $value;
}

function offsetUnset($index)
{
unset($this-person[$index]);
}
}

$people = new Peoples;

var_dump($people-person[0]['name']);
$people-person[0]['name'] = $people-person[0]['name'] . 'Bar';
var_dump($people-person[0]['name']);
$people-person[0]['name'] .= 'Baz';
var_dump($people-person[0]['name']);

echo ===ArrayOverloading===\n;

$people = new Peoples;

var_dump($people[0]);
var_dump($people[0]['name']);
$people[0]['name'] = 'FooBar';
var_dump($people[0]['name']);
$people[0]['name'] = $people-person[0]['name'] . 'Bar';
var_dump($people[0]['name']);
$people[0]['name'] .= 'Baz';
var_dump($people[0]['name']);
unset($people[0]['name']);
var_dump($people[0]);
var_dump($people[0]['name']);
$people[0]['name'] = 'BlaBla';
var_dump($people[0]['name']);

?
===DONE===
?php exit(0); ?
--EXPECTF--
string(3) Foo
string(6) FooBar
string(9) FooBarBaz
===ArrayOverloading===
ArrayAccessReferenceProxy::__construct(0)
object(ArrayAccessReferenceProxy)#1 (3) {
  [object:private]=
  object(Peoples)#2 (1) {
[person]=
array(1) {
  [0]=
  array(1) {
[name]=
string(3) Foo
  }
}
  }
  [oarray:private]=
  array(1) {
[0]=
array(1) {
  [name]=
  string(3) Foo
}
  }
  [element:private]=
  int(0)
}
ArrayAccessReferenceProxy::__construct(0)
ArrayAccessReferenceProxy::offsetGet(0, name)
string(3) Foo
ArrayAccessReferenceProxy::__construct(0)
ArrayAccessReferenceProxy::offsetSet(0, name, FooBar)
ArrayAccessReferenceProxy::__construct(0)
ArrayAccessReferenceProxy::offsetGet(0, name)
string(6) FooBar
ArrayAccessReferenceProxy::__construct(0)
ArrayAccessReferenceProxy::offsetSet(0, name, FooBarBar)
ArrayAccessReferenceProxy::__construct(0)
ArrayAccessReferenceProxy::offsetGet(0, name)
string(9) FooBarBar
ArrayAccessReferenceProxy::__construct(0)
ArrayAccessReferenceProxy::offsetGet(0, name)
ArrayAccessReferenceProxy::offsetSet(0, name, FooBarBarBaz)
ArrayAccessReferenceProxy::__construct(0)
ArrayAccessReferenceProxy::offsetGet(0, name)
string(12) FooBarBarBaz
ArrayAccessReferenceProxy::__construct(0)
ArrayAccessReferenceProxy::offsetUnset(0, name)
ArrayAccessReferenceProxy::__construct(0)
object(ArrayAccessReferenceProxy)#1 (3) {
  [object:private]=
  object(Peoples)#2 (1) {
[person]=
array(1) {
  [0]=
  array(0) {
  }
}
  }
  [oarray:private]=
  array(1) {
[0]=
array(0) {
}
  }
  

[PHP-CVS] cvs: CVSROOT / loginfo

2005-06-19 Thread Wez Furlong
wez Sun Jun 19 18:31:48 2005 EDT

  Modified files:  
/CVSROOTloginfo 
  Log:
  wire up the catalan commit mail
  
  
http://cvs.php.net/diff.php/CVSROOT/loginfo?r1=1.113r2=1.114ty=u
Index: CVSROOT/loginfo
diff -u CVSROOT/loginfo:1.113 CVSROOT/loginfo:1.114
--- CVSROOT/loginfo:1.113   Tue Feb 15 05:14:55 2005
+++ CVSROOT/loginfo Sun Jun 19 18:31:45 2005
@@ -1,5 +1,5 @@
 #
-#ident @(#)cvs/examples:$Name:  $:$Id: loginfo,v 1.113 2005/02/15 10:14:55 
derick Exp $
+#ident @(#)cvs/examples:$Name:  $:$Id: loginfo,v 1.114 2005/06/19 22:31:45 
wez Exp $
 #
 # The loginfo file is used to control where cvs commit log information
 # is sent.  The first entry on a line is a regular expression which is tested
@@ -53,6 +53,7 @@
 # documentation
 ^phpdoc-ar $CVSROOT/CVSROOT/loginfo.pl [EMAIL PROTECTED] $USER %{sVv}
 ^phpdoc-bg $CVSROOT/CVSROOT/loginfo.pl [EMAIL PROTECTED] $USER %{sVv}
+^phpdoc-ca $CVSROOT/CVSROOT/loginfo.pl [EMAIL PROTECTED] $USER %{sVv}
 ^phpdoc-cs $CVSROOT/CVSROOT/loginfo.pl [EMAIL PROTECTED] $USER %{sVv}
 ^phpdoc-da $CVSROOT/CVSROOT/loginfo.pl [EMAIL PROTECTED] $USER %{sVv}
 ^phpdoc-de $CVSROOT/CVSROOT/loginfo.pl [EMAIL PROTECTED] $USER %{sVv}

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/date config.m4

2005-06-19 Thread Jani Taskinen
sniper  Sun Jun 19 19:36:19 2005 EDT

  Modified files:  
/php-src/ext/date   config.m4 
  Log:
  Install headers too
  
http://cvs.php.net/diff.php/php-src/ext/date/config.m4?r1=1.7r2=1.8ty=u
Index: php-src/ext/date/config.m4
diff -u php-src/ext/date/config.m4:1.7 php-src/ext/date/config.m4:1.8
--- php-src/ext/date/config.m4:1.7  Fri Jun 17 08:03:02 2005
+++ php-src/ext/date/config.m4  Sun Jun 19 19:36:18 2005
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.7 2005/06/17 12:03:02 derick Exp $
+dnl $Id: config.m4,v 1.8 2005/06/19 23:36:18 sniper Exp $
 dnl config.m4 for date extension
 
 sinclude(ext/date/lib/timelib.m4)
@@ -10,6 +10,7 @@
 
 PHP_NEW_EXTENSION(date, php_date.c $timelib_sources, no,, $PHP_DATE_CFLAGS)
 PHP_ADD_BUILD_DIR([$ext_builddir/lib], 1)
+PHP_INSTALL_HEADERS([ext/date], [php_date.h lib/timelib.h 
lib/timelib_structs.h])
 
 cat  $ext_builddir/lib/timelib_config.h EOF
 #if PHP_WIN32

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/mysql/tests 001.phpt

2005-06-19 Thread Jani Taskinen
sniper  Sun Jun 19 20:16:32 2005 EDT

  Modified files:  
/php-src/ext/mysql/tests001.phpt 
  Log:
  This is not mysqli, where 5th parameter is port.
  
http://cvs.php.net/diff.php/php-src/ext/mysql/tests/001.phpt?r1=1.2r2=1.3ty=u
Index: php-src/ext/mysql/tests/001.phpt
diff -u php-src/ext/mysql/tests/001.phpt:1.2 
php-src/ext/mysql/tests/001.phpt:1.3
--- php-src/ext/mysql/tests/001.phpt:1.2Fri Jan 16 10:16:26 2004
+++ php-src/ext/mysql/tests/001.phptSun Jun 19 20:16:31 2005
@@ -19,7 +19,7 @@
 mysql_close($db);
 
 /*** test mysql_connect localhost:port ***/
-$db = mysql_connect($host, $user, $passwd, '', 3306);
+$db = mysql_connect({$host}:3306, $user, $passwd, '');
 $test .= ($db) ? '1' : '0';
 mysql_close($db);
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/spl spl_array.c /ext/spl/tests array_017.phpt

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 20:19:18 2005 EDT

  Added files: 
/php-src/ext/spl/tests  array_017.phpt 

  Modified files:  
/php-src/ext/splspl_array.c 
  Log:
  - Fix handling of ArrayObject/ArrayIterator flags and provide test
  
  http://cvs.php.net/diff.php/php-src/ext/spl/spl_array.c?r1=1.68r2=1.69ty=u
Index: php-src/ext/spl/spl_array.c
diff -u php-src/ext/spl/spl_array.c:1.68 php-src/ext/spl/spl_array.c:1.69
--- php-src/ext/spl/spl_array.c:1.68Tue May 24 13:59:42 2005
+++ php-src/ext/spl/spl_array.c Sun Jun 19 20:19:18 2005
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: spl_array.c,v 1.68 2005/05/24 17:59:42 helly Exp $ */
+/* $Id: spl_array.c,v 1.69 2005/06/20 00:19:18 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 # include config.h
@@ -145,6 +145,7 @@
 #define SPL_ARRAY_ARRAY_AS_PROPS 0x0002
 #define SPL_ARRAY_IS_REF 0x0100
 #define SPL_ARRAY_IS_SELF0x0200
+#define SPL_ARRAY_USE_OTHER  0x0400
 #define SPL_ARRAY_INT_MASK   0xFF00
 #define SPL_ARRAY_CLONE_MASK 0x0303
 
@@ -160,8 +161,11 @@
zend_function *   fptr_offset_del;
 } spl_array_object;
 
-static inline HashTable *spl_array_get_hash_table(spl_array_object* intern 
TSRMLS_DC) {
-   if ((intern-ar_flags  (SPL_ARRAY_STD_PROP_LIST|SPL_ARRAY_IS_SELF)) != 
0) {
+static inline HashTable *spl_array_get_hash_table(spl_array_object* intern, 
int check_std_props TSRMLS_DC) {
+   if ((intern-ar_flags  SPL_ARRAY_USE_OTHER)  (check_std_props == 0 
|| (intern-ar_flags  SPL_ARRAY_STD_PROP_LIST) == 0)) {
+   spl_array_object *other  = 
(spl_array_object*)zend_object_store_get_object(intern-array TSRMLS_CC);
+   return spl_array_get_hash_table(other, check_std_props 
TSRMLS_CC);
+   } else if ((intern-ar_flags  ((check_std_props ? 
SPL_ARRAY_STD_PROP_LIST : 0) | SPL_ARRAY_IS_SELF)) != 0) {
return intern-std.properties;
} else {
return HASH_OF(intern-array);
@@ -170,7 +174,7 @@
 
 SPL_API int spl_hash_verify_pos(spl_array_object * intern TSRMLS_DC) /* {{{ */
 {
-   HashTable *ht = spl_array_get_hash_table(intern TSRMLS_CC);
+   HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC);
Bucket *p;
 
 /* IS_CONSISTENT(ht);*/
@@ -184,7 +188,7 @@
p = p-pListNext;
}
 /* HASH_UNPROTECT_RECURSION(ht); */
-   zend_hash_internal_pointer_reset_ex(spl_array_get_hash_table(intern 
TSRMLS_CC), intern-pos);
+   zend_hash_internal_pointer_reset_ex(spl_array_get_hash_table(intern, 0 
TSRMLS_CC), intern-pos);
return FAILURE;
 }
 /* }}} */
@@ -204,7 +208,7 @@
 /* }}} */
 
 /* {{{ spl_array_object_new */
-static zend_object_value spl_array_object_new_ex(zend_class_entry *class_type, 
spl_array_object **obj, spl_array_object *orig TSRMLS_DC)
+static zend_object_value spl_array_object_new_ex(zend_class_entry *class_type, 
spl_array_object **obj, zval *orig TSRMLS_DC)
 {
zend_object_value retval;
spl_array_object *intern;
@@ -223,10 +227,12 @@
 
intern-ar_flags = 0;
if (orig) {
-   intern-array = orig-array;
+   spl_array_object *other = 
(spl_array_object*)zend_object_store_get_object(orig TSRMLS_CC);
+
+   intern-array = orig;
ZVAL_ADDREF(intern-array);
intern-ar_flags = ~ SPL_ARRAY_CLONE_MASK;
-   intern-ar_flags |= (orig-ar_flags  SPL_ARRAY_CLONE_MASK) | 
SPL_ARRAY_IS_REF;
+   intern-ar_flags |= (other-ar_flags  SPL_ARRAY_CLONE_MASK) | 
SPL_ARRAY_IS_REF | SPL_ARRAY_USE_OTHER;
} else {
MAKE_STD_ZVAL(intern-array);
array_init(intern-array);
@@ -266,7 +272,7 @@
intern-fptr_offset_del = NULL;
}
}
-   zend_hash_internal_pointer_reset_ex(spl_array_get_hash_table(intern 
TSRMLS_CC), intern-pos);
+   zend_hash_internal_pointer_reset_ex(spl_array_get_hash_table(intern, 0 
TSRMLS_CC), intern-pos);
return retval;
 }
 /* }}} */
@@ -289,7 +295,7 @@
spl_array_object *intern;
 
old_object = zend_objects_get_address(zobject TSRMLS_CC);
-   new_obj_val = spl_array_object_new_ex(old_object-ce, intern, 
(spl_array_object*)old_object TSRMLS_CC);
+   new_obj_val = spl_array_object_new_ex(old_object-ce, intern, zobject 
TSRMLS_CC);
new_object = intern-std;
 
zend_objects_clone_members(new_object, new_obj_val, old_object, handle 
TSRMLS_CC);
@@ -311,7 +317,7 @@

switch(Z_TYPE_P(offset)) {
case IS_STRING:
-   if (zend_symtable_find(spl_array_get_hash_table(intern 
TSRMLS_CC), Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, (void **) retval) == 
FAILURE) {
+   if (zend_symtable_find(spl_array_get_hash_table(intern, 0 
TSRMLS_CC), Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, (void **) retval) == 

[PHP-CVS] cvs: php-src /ext/iconv config.m4 /ext/xml config.m4

2005-06-19 Thread Jani Taskinen
sniper  Sun Jun 19 20:52:59 2005 EDT

  Modified files:  
/php-src/ext/iconv  config.m4 
/php-src/ext/xmlconfig.m4 
  Log:
  - Plain path passed to PHP_INSTALL_HEADERS needs to have trailing /
  
  
http://cvs.php.net/diff.php/php-src/ext/iconv/config.m4?r1=1.32r2=1.33ty=u
Index: php-src/ext/iconv/config.m4
diff -u php-src/ext/iconv/config.m4:1.32 php-src/ext/iconv/config.m4:1.33
--- php-src/ext/iconv/config.m4:1.32Fri May  6 22:51:52 2005
+++ php-src/ext/iconv/config.m4 Sun Jun 19 20:52:56 2005
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.32 2005/05/07 02:51:52 sniper Exp $
+dnl $Id: config.m4,v 1.33 2005/06/20 00:52:56 sniper Exp $
 dnl
 
 PHP_ARG_WITH(iconv, for iconv support,
@@ -138,7 +138,7 @@
 
 PHP_NEW_EXTENSION(iconv, iconv.c, $ext_shared,, 
[-I\$PHP_ICONV_PREFIX/include\])
 PHP_SUBST(ICONV_SHARED_LIBADD)
-PHP_INSTALL_HEADERS([ext/iconv])
+PHP_INSTALL_HEADERS([ext/iconv/])
   else
 AC_MSG_ERROR(Please reinstall the iconv library.)
   fi
http://cvs.php.net/diff.php/php-src/ext/xml/config.m4?r1=1.53r2=1.54ty=u
Index: php-src/ext/xml/config.m4
diff -u php-src/ext/xml/config.m4:1.53 php-src/ext/xml/config.m4:1.54
--- php-src/ext/xml/config.m4:1.53  Sun May 29 19:16:45 2005
+++ php-src/ext/xml/config.m4   Sun Jun 19 20:52:59 2005
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.53 2005/05/29 23:16:45 sniper Exp $
+dnl $Id: config.m4,v 1.54 2005/06/20 00:52:59 sniper Exp $
 dnl
 
 PHP_ARG_ENABLE(xml,whether to enable XML support,
@@ -54,6 +54,6 @@
 
   PHP_NEW_EXTENSION(xml, xml.c $xml_extra_sources, $ext_shared)
   PHP_SUBST(XML_SHARED_LIBADD)
-  PHP_INSTALL_HEADERS([ext/xml])
+  PHP_INSTALL_HEADERS([ext/xml/])
   AC_DEFINE(HAVE_XML, 1, [ ])
 fi

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /tests/reflection bug33389.phpt

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 21:10:33 2005 EDT

  Modified files:  
/php-src/tests/reflection   bug33389.phpt 
  Log:
  - Output shows false lowercased
  
http://cvs.php.net/diff.php/php-src/tests/reflection/bug33389.phpt?r1=1.1r2=1.2ty=u
Index: php-src/tests/reflection/bug33389.phpt
diff -u php-src/tests/reflection/bug33389.phpt:1.1 
php-src/tests/reflection/bug33389.phpt:1.2
--- php-src/tests/reflection/bug33389.phpt:1.1  Fri Jun 17 21:01:48 2005
+++ php-src/tests/reflection/bug33389.phpt  Sun Jun 19 21:10:33 2005
@@ -21,6 +21,8 @@
 }
 Reflection::export(new ReflectionClass('Test'));
 ?
+===DONE===
+?php exit(0); ?
 --EXPECTF--
 Class [ user class Test ] {
   @@ %sbug33389.php 3-18
@@ -58,7 +60,7 @@
   @@ %sbug33389.php 8 - 9
 
   - Parameters [1] {
-Parameter #0 [ optional $arg = FALSE ]
+Parameter #0 [ optional $arg = false ]
   }
 }
 
@@ -91,3 +93,4 @@
 }
   }
 }
+===DONE===

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src / NEWS

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 21:39:29 2005 EDT

  Modified files:  
/php-srcNEWS 
  Log:
  - BFN
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1934r2=1.1935ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1934 php-src/NEWS:1.1935
--- php-src/NEWS:1.1934 Sun Jun 19 11:01:43 2005
+++ php-src/NEWSSun Jun 19 21:39:28 2005
@@ -4,6 +4,9 @@
 - Improved PHP extension loading mechanism with support for module dependencies
   and conflicts. (Jani, Dmitry) 
 - Allowed return by reference from internal functions. (Marcus, Andi, Dmitry)
+- Fixed inheritance check to control return by reference and pass by reference
+  correctly (ArrayAccess can corrctly no longer support references). (Marcus,
+  Andi, Dmitry)
 - Rewrote strtotime() with support for timezones and tons of new formats.
   (Derick)
 - Added bindto socket context option. (Ilia)
@@ -13,6 +16,7 @@
   shutdown). (Wez)
 - Fixed PECL bug #3714 (beginTransaction doesn't work if you're in
   auto-commit mode). (Wez)
+- Fixed bug #33389 (double free() when exporting a ReflectionClass). (Marcus)
 - Fixed bug #33382 (array_reverse() fails after *sort()), 
   introduced by zend_hash_sort() optimizations in HEAD. (Tony)
 - Fixed bug #33340 (CLI Crash when calling php:function from XSLT). (Rob)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/spl spl_array.c /ext/spl/tests bug33136.phpt

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 23:02:52 2005 EDT

  Added files: 
/php-src/ext/spl/tests  bug33136.phpt 

  Modified files:  
/php-src/ext/splspl_array.c 
  Log:
  - Fixed #33136:
  - Allow ArrayObject::offsetSet(NULL, $value) as replacement for [] = $value
  - Fix memleaks with overloading ArrayObject
  
  
http://cvs.php.net/diff.php/php-src/ext/spl/spl_array.c?r1=1.69r2=1.70ty=u
Index: php-src/ext/spl/spl_array.c
diff -u php-src/ext/spl/spl_array.c:1.69 php-src/ext/spl/spl_array.c:1.70
--- php-src/ext/spl/spl_array.c:1.69Sun Jun 19 20:19:18 2005
+++ php-src/ext/spl/spl_array.c Sun Jun 19 23:02:52 2005
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: spl_array.c,v 1.69 2005/06/20 00:19:18 helly Exp $ */
+/* $Id: spl_array.c,v 1.70 2005/06/20 03:02:52 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 # include config.h
@@ -152,6 +152,7 @@
 typedef struct _spl_array_object {
zend_object   std;
zval  *array;
+   zval  *retval;
HashPosition  pos;
int   ar_flags;
int   is_self;
@@ -202,6 +203,7 @@
FREE_HASHTABLE(intern-std.properties);
 
zval_ptr_dtor(intern-array);
+   zval_ptr_dtor(intern-retval);
 
efree(object);
 }
@@ -220,6 +222,7 @@
memset(intern, 0, sizeof(spl_array_object));
intern-std.ce = class_type;
*obj = intern;
+   ALLOC_INIT_ZVAL(intern-retval);
 
ALLOC_HASHTABLE(intern-std.properties);
zend_hash_init(intern-std.properties, 0, NULL, ZVAL_PTR_DTOR, 0);
@@ -351,7 +354,11 @@
spl_array_object *intern = 
(spl_array_object*)zend_object_store_get_object(object TSRMLS_CC);
if (intern-fptr_offset_get) {
zval *rv;
-   return zend_call_method_with_1_params(object, 
Z_OBJCE_P(object), intern-fptr_offset_get, offsetGet, rv, offset);  
+   zend_call_method_with_1_params(object, 
Z_OBJCE_P(object), intern-fptr_offset_get, offsetGet, rv, offset); 
+   zval_ptr_dtor(intern-retval);
+   MAKE_STD_ZVAL(intern-retval);
+   ZVAL_ZVAL(intern-retval, rv, 1, 1);
+   return intern-retval;
}
}
return *spl_array_get_dimension_ptr_ptr(check_inherited, object, 
offset, type TSRMLS_CC);
@@ -366,10 +373,19 @@
 {
spl_array_object *intern = 
(spl_array_object*)zend_object_store_get_object(object TSRMLS_CC);
long index;
-   zval *rv;
+   int free_offset;
 
if (check_inherited  intern-fptr_offset_set) {
-   zend_call_method_with_2_params(object, Z_OBJCE_P(object), 
intern-fptr_offset_set, offsetSet, rv, offset, value);
+   if (!offset) {
+   ALLOC_INIT_ZVAL(offset);
+   free_offset = 1;
+   } else {
+   free_offset = 0;
+   }
+   zend_call_method_with_2_params(object, Z_OBJCE_P(object), 
intern-fptr_offset_set, offsetSet, NULL, offset, value);
+   if (free_offset) {
+   zval_ptr_dtor(offset);
+   }
return;
}

@@ -395,6 +411,10 @@
value-refcount++;
zend_hash_index_update(spl_array_get_hash_table(intern, 0 
TSRMLS_CC), index, (void**)value, sizeof(void*), NULL);
return;
+   case IS_NULL:
+   value-refcount++;
+   zend_hash_next_index_insert(spl_array_get_hash_table(intern, 0 
TSRMLS_CC), (void**)value, sizeof(void*), NULL);
+   return;
default:
zend_error(E_WARNING, Illegal offset type);
return;
@@ -410,10 +430,9 @@
 {
spl_array_object *intern = 
(spl_array_object*)zend_object_store_get_object(object TSRMLS_CC);
long index;
-   zval *rv;
 
if (check_inherited  intern-fptr_offset_del) {
-   zend_call_method_with_1_params(object, Z_OBJCE_P(object), 
intern-fptr_offset_del, offsetUnset, rv, offset);
+   zend_call_method_with_1_params(object, Z_OBJCE_P(object), 
intern-fptr_offset_del, offsetUnset, NULL, offset);
return;
}
 

http://cvs.php.net/co.php/php-src/ext/spl/tests/bug33136.phpt?r=1.1p=1
Index: php-src/ext/spl/tests/bug33136.phpt
+++ php-src/ext/spl/tests/bug33136.phpt
--TEST--
Bug #33136 method offsetSet in class extended from ArrayObject crash PHP 
--FILE--
?php

class Collection extends ArrayObject
{
private $data;

function __construct()
{
$this-data = array();
parent::__construct($this-data);
}

function offsetGet($index)
{
echo __METHOD__ . ($index)\n;
return parent::offsetGet($index);
}

 

[PHP-CVS] cvs: php-src / NEWS

2005-06-19 Thread Marcus Boerger
helly   Sun Jun 19 23:05:17 2005 EDT

  Modified files:  
/php-srcNEWS 
  Log:
  - BFN
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1935r2=1.1936ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1935 php-src/NEWS:1.1936
--- php-src/NEWS:1.1935 Sun Jun 19 21:39:28 2005
+++ php-src/NEWSSun Jun 19 23:05:14 2005
@@ -29,6 +29,8 @@
 - Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol
   'zend_error'). (Dmitry)
 - Fixed bug #33150 (shtool: insecure temporary file creation). (Jani)
+- Fixed bug #33136 (method offsetSet in class extended from ArrayObject crash 
+  PHP). (Marcus)
 - Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle -pthread).
   (Jani)
 - Fixed bug #28355 (glob wont error if dir is not readable). (Hartmut)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src / NEWS

2005-06-19 Thread Andi Gutmans
andiSun Jun 19 23:54:47 2005 EDT

  Modified files:  
/php-srcNEWS 
  Log:
  - Fix typo
  
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1936r2=1.1937ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1936 php-src/NEWS:1.1937
--- php-src/NEWS:1.1936 Sun Jun 19 23:05:14 2005
+++ php-src/NEWSSun Jun 19 23:54:46 2005
@@ -5,7 +5,7 @@
   and conflicts. (Jani, Dmitry) 
 - Allowed return by reference from internal functions. (Marcus, Andi, Dmitry)
 - Fixed inheritance check to control return by reference and pass by reference
-  correctly (ArrayAccess can corrctly no longer support references). (Marcus,
+  correctly (ArrayAccess can correctly no longer support references). (Marcus,
   Andi, Dmitry)
 - Rewrote strtotime() with support for timezones and tons of new formats.
   (Derick)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: CVSROOT / modules

2005-06-19 Thread Wez Furlong
wez Mon Jun 20 01:47:21 2005 EDT

  Modified files:  
/CVSROOTmodules 
  Log:
  update modules file for catalan translation
  
  
http://cvs.php.net/diff.php/CVSROOT/modules?r1=1.70r2=1.71ty=u
Index: CVSROOT/modules
diff -u CVSROOT/modules:1.70 CVSROOT/modules:1.71
--- CVSROOT/modules:1.70Tue Feb 15 05:14:55 2005
+++ CVSROOT/modules Mon Jun 20 01:47:20 2005
@@ -1,7 +1,7 @@
 #
 # The CVS Modules File
 #
-#ident @(#)cvs/examples:$Name:  $:$Id: modules,v 1.70 2005/02/15 10:14:55 
derick Exp $
+#ident @(#)cvs/examples:$Name:  $:$Id: modules,v 1.71 2005/06/20 05:47:20 wez 
Exp $
 #
 # Three different line formats are valid:
 #  key -aaliases...
@@ -62,7 +62,7 @@
 phpdoc phpdoc
 
 # this checks out the build system all of the languages
-phpdoc-all phpdoc phpdoc-ar-dir phpdoc-bg-dir phpdoc-cs-dir phpdoc-da-dir 
phpdoc-de-dir phpdoc-el-dir phpdoc-es-dir phpdoc-fa_IR-dir phpdoc-fi-dir 
phpdoc-fr-dir phpdoc-he-dir phpdoc-hk-dir phpdoc-hu-dir phpdoc-id-dir 
phpdoc-it-dir phpdoc-ja-dir phpdoc-kr-dir phpdoc-lt-dir phpdoc-nl-dir 
phpdoc-pl-dir phpdoc-pt-dir phpdoc-pt_BR-dir phpdoc-ro-dir phpdoc-ru-dir 
phpdoc-sk-dir phpdoc-sl-dir phpdoc-sv-dir phpdoc-tr-dir phpdoc-tw-dir 
phpdoc-zh-dir
+phpdoc-all phpdoc phpdoc-ar-dir phpdoc-bg-dir phpdoc-ca-dir phpdoc-cs-dir 
phpdoc-da-dir phpdoc-de-dir phpdoc-el-dir phpdoc-es-dir phpdoc-fa_IR-dir 
phpdoc-fi-dir phpdoc-fr-dir phpdoc-he-dir phpdoc-hk-dir phpdoc-hu-dir 
phpdoc-id-dir phpdoc-it-dir phpdoc-ja-dir phpdoc-kr-dir phpdoc-lt-dir 
phpdoc-nl-dir phpdoc-pl-dir phpdoc-pt-dir phpdoc-pt_BR-dir phpdoc-ro-dir 
phpdoc-ru-dir phpdoc-sk-dir phpdoc-sl-dir phpdoc-sv-dir phpdoc-tr-dir 
phpdoc-tw-dir phpdoc-zh-dir
 
 # these allow checking out each translation on its own, or with the english
 # version and build infrastructure
@@ -72,6 +72,9 @@
 phpdoc-bg-dir -d bg phpdoc-bg
 phpdoc-bg-only phpdoc-bg
 phpdoc-bg phpdoc phpdoc-bg-dir
+phpdoc-ca-dir -d ca phpdoc-ca
+phpdoc-ca-only phpdoc-ca
+phpdoc-ca phpdoc phpdoc-ca-dir
 phpdoc-cs-dir -d cs phpdoc-cs
 phpdoc-cs-only phpdoc-cs
 phpdoc-cs phpdoc phpdoc-cs-dir

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php