cvs: ZendEngine2 / zend_API.c

From: Date: Tue, 05 Feb 2008 19:06:59 +0000
Subject: cvs: ZendEngine2 / zend_API.c
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-6361@lists.php.net to get a copy of this message
helly Tue Feb 5 19:06:59 2008 UTC Modified files: /ZendEngine2 zend_API.c Log: - Fix cross class tree reference issues with callbacks http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.457&r2=1.458&diff_format=u Index: ZendEngine2/zend_API.c diff -u ZendEngine2/zend_API.c:1.457 ZendEngine2/zend_API.c:1.458 --- ZendEngine2/zend_API.c:1.457 Mon Feb 4 13:59:27 2008 +++ ZendEngine2/zend_API.c Tue Feb 5 19:06:59 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_API.c,v 1.457 2008/02/04 13:59:27 helly Exp $ */ +/* $Id: zend_API.c,v 1.458 2008/02/05 19:06:59 helly Exp $ */ #include "zend.h" #include "zend_execute.h" @@ -2721,7 +2721,10 @@ if (colon.v != NULL) { /* This is a compound name. * Try to fetch class and then find static method. */ + zend_class_entry *last_scope = EG(scope); + EG(scope) = ce_org; *ce_ptr = zend_u_fetch_class(Z_TYPE_P(callable), Z_UNIVAL_P(callable), clen, ZEND_FETCH_CLASS_AUTO | ZEND_FETCH_CLASS_SILENT TSRMLS_CC); + EG(scope) = last_scope; if (!*ce_ptr) { char *cname = estrndup(Z_STRVAL_P(callable), clen); if (error) zend_spprintf(error, 0, "class '%v' not found", cname);

« previous php.zend-engine.cvs (#6361) next »