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

Reply via email to