No it didn't take me that long, I was busy writing stuff...
The test suite copes with this, I can't see a reason for it to break
anything. If it goes into HEAD, can it also go into 5_1 please?
- Steph
(ps ws fixes for zend_compile.c attached also).
----- Original Message -----
From: "Steph Fox" <[EMAIL PROTECTED]>
To: "internals" <internals@lists.php.net>
Sent: Tuesday, January 03, 2006 8:18 PM
Subject: [PHP-DEV] Fw: interesting buglet
Hi all,
Not quite sure who actually implemented E_STRICT, but it doesn't take
notice of internal vs userland classes. See below. (and let me know if I
need to open a bug report.)
- Steph
----- Original Message -----
From: "Andrei Zmievski" <[EMAIL PROTECTED]>
To: "Steph Fox" <[EMAIL PROTECTED]>
Cc: "PHP-GTK dev" <[EMAIL PROTECTED]>
Sent: Tuesday, January 03, 2006 8:13 PM
Subject: Re: interesting buglet
Ask the person who implemented that warning, perhaps?
-Andrei
On Jan 3, 2006, at 10:02 AM, Steph Fox wrote:
Hey Andrei,
I was debugging something completely unrelated (PHP stuff) and left
display_startup_errors = 1 in the php.ini I use for PHP-GTK 2.
Get this:
C:\php5>php -v
Strict Standards: Declaration of GtkToolbar::set_style() should be
compatible with that of GtkWidget::set_style() in Unknown on line 0
Strict Standards: Declaration of GtkMenu::set_accel_path() should be
compatible with that of GtkWidget::set_accel_path() in Unknown on line 0
Strict Standards: Declaration of GtkWindow::mnemonic_activate() should
be compatible with that of GtkWidget::mnemonic_activate() in Unknown on
line 0
Strict Standards: Declaration of GtkMenuItem::set_accel_path() should be
compatible with that of GtkWidget::set_accel_path() in Unknown on line 0
Strict Standards: Declaration of GtkStatusbar::remove() should be
compatible with that of GtkContainer::remove() in Unknown on line 0
Strict Standards: Declaration of GtkCList::remove() should be compatible
with that of GtkContainer::remove() in Unknown on line 0
Strict Standards: Declaration of GtkComboBoxEntry::new_with_model()
should be compatible with that of GtkComboBox::new_with_model() in
Unknown on line 0
PHP 5.1.2RC2-dev (cli) (built: Jan 3 2006 00:05:59)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2005 Zend Technologies
Guess we need to force display_startup_errors = 0? Or is there some way
to make PHP know these are internal classes?
- Steph
__________ NOD32 1.1350 (20060103) Information __________
This message was checked by NOD32 antivirus system.
http://www.eset.com
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
__________ NOD32 1.1350 (20060103) Information __________
This message was checked by NOD32 antivirus system.
http://www.eset.com
Index: ZendEngine2/zend_compile.c
===================================================================
RCS file: /repository/ZendEngine2/zend_compile.c,v
retrieving revision 1.676
diff -u -r1.676 zend_compile.c
--- ZendEngine2/zend_compile.c 17 Dec 2005 15:50:24 -0000 1.676
+++ ZendEngine2/zend_compile.c 3 Jan 2006 22:02:10 -0000
@@ -2009,6 +2009,10 @@
{
zend_uint i;
+ if (fe->common.type == ZEND_INTERNAL_CLASS) {
+ return 1;
+ }
+
/* If it's a user function then arg_info == NULL means we don't have
any parameters but we still need to do the arg number checks. We are only
willing to ignore this for internal functions because extensions don't always
define arg_info. */
if (!proto || (!proto->common.arg_info && proto->common.type !=
ZEND_USER_FUNCTION)) {
return 1;
Index: ZendEngine2/zend_compile.c
===================================================================
RCS file: /repository/ZendEngine2/zend_compile.c,v
retrieving revision 1.676
diff -u -r1.676 zend_compile.c
--- ZendEngine2/zend_compile.c 17 Dec 2005 15:50:24 -0000 1.676
+++ ZendEngine2/zend_compile.c 3 Jan 2006 21:59:26 -0000
@@ -2973,7 +2973,7 @@
{
char *prop_name;
int prop_name_length;
-
+
prop_name_length = 1 + src1_length + 1 + src2_length;
prop_name = pemalloc(prop_name_length + 1, internal);
prop_name[0] = '\0';
@@ -3118,9 +3118,9 @@
zend_op opline;
zend_llist *fetch_list_ptr;
zend_op *opline_ptr=NULL;
-
+
zend_stack_top(&CG(bp_stack), (void **) &fetch_list_ptr);
-
+
if (fetch_list_ptr->count == 1) {
zend_llist_element *le;
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php