[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pecl-cvs
Subject:    [PECL-CVS] cvs: pecl /runkit runkit_sandbox_parent.c
From:       "Sara Golemon" <pollita () php ! net>
Date:       2005-10-31 5:37:04
Message-ID: cvspollita1130737024 () cvsserver
[Download RAW message or body]

pollita		Mon Oct 31 00:37:04 2005 EDT

  Modified files:              
    /pecl/runkit	runkit_sandbox_parent.c 
  Log:
  Separate and make ref
  
http://cvs.php.net/diff.php/pecl/runkit/runkit_sandbox_parent.c?r1=1.5&r2=1.6&ty=u
Index: pecl/runkit/runkit_sandbox_parent.c
diff -u pecl/runkit/runkit_sandbox_parent.c:1.5 \
                pecl/runkit/runkit_sandbox_parent.c:1.6
--- pecl/runkit/runkit_sandbox_parent.c:1.5	Sat Oct 29 18:01:27 2005
+++ pecl/runkit/runkit_sandbox_parent.c	Mon Oct 31 00:37:02 2005
@@ -14,7 +14,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: runkit_sandbox_parent.c,v 1.5 2005/10/29 22:01:27 pollita Exp $ */
+/* $Id: runkit_sandbox_parent.c,v 1.6 2005/10/31 05:37:02 pollita Exp $ */
 
 #include "php_runkit.h"
 
@@ -92,6 +92,19 @@
 					ALLOC_INIT_ZVAL(hidden);
 					array_init(hidden);
 					ht = Z_ARRVAL_P(hidden);
+					if ((*symtable)->refcount > 1 &&
+						!(*symtable)->is_ref) {
+						zval *cv;
+
+						MAKE_STD_ZVAL(cv);
+						*cv = **symtable;
+						zval_copy_ctor(cv);
+						zval_ptr_dtor(symtable);
+						INIT_PZVAL(cv);
+						*symtable = cv;
+					}
+					(*symtable)->is_ref = 1;
+					(*symtable)->refcount++;
 					zend_hash_update(ht, objval->self->parent_scope_name, \
objval->self->parent_scope_namelen + 1, (void*)symtable, sizeof(zval*), NULL);  
 					/* Store that dummy array in the sandbox's hidden properties table so that it \
gets cleaned up on dtor */

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic