cvs: php4 /ext/session session.c

From: Date: Mon, 20 Nov 2000 12:39:14 +0000
Subject: cvs: php4 /ext/session session.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-2698@lists.php.net to get a copy of this message
stas Mon Nov 20 04:39:14 2000 EDT Modified files: /php4/ext/session session.c Log: Move "replace value" logic to Zend Index: php4/ext/session/session.c diff -u php4/ext/session/session.c:1.185 php4/ext/session/session.c:1.186 --- php4/ext/session/session.c:1.185 Sun Nov 19 05:13:36 2000 +++ php4/ext/session/session.c Mon Nov 20 04:39:14 2000 @@ -221,25 +221,15 @@ if (PG(register_globals)) { zval **old_symbol; - if(zend_hash_find(&EG(symbol_table),name,namelen+1,&old_symbol) == SUCCESS) { + if(zend_hash_find(&EG(symbol_table),name,namelen+1,(void *)&old_symbol) == SUCCESS) { /* There where old one, we need to replace it accurately. hash_update in zend_set_hash_symbol is not good, because it will leave referenced variables (such as local instances of a global variable) dangling. */ - int is_ref, refcount; - - zval_dtor(*old_symbol); - - /* replace variable contents while saving is_ref and reference - count */ - is_ref = (*old_symbol)->is_ref; - refcount = (*old_symbol)->refcount; - **old_symbol = *state_val_copy; - (*old_symbol)->is_ref = is_ref; - (*old_symbol)->refcount = refcount; - + + REPLACE_ZVAL_VALUE(old_symbol,state_val_copy,0); FREE_ZVAL(state_val_copy); zend_set_hash_symbol(*old_symbol, name, namelen, 0, 1, Z_ARRVAL_P(PS(http_session_vars)));

« previous php.cvs (#2698) next »