cvs: php4(PHP_4_0_7) /ext/session session.c

From: Date: Sun, 02 Dec 2001 12:21:50 +0000
Subject: cvs: php4(PHP_4_0_7) /ext/session session.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-8379@lists.php.net to get a copy of this message
thies Sun Dec 2 07:21:50 2001 EDT Modified files: (Branch: PHP_4_0_7) /php4/ext/session session.c Log: MFH fix for $_SESSION !!! please TEST, TEST, TEST !!! Index: php4/ext/session/session.c diff -u php4/ext/session/session.c:1.237.2.2 php4/ext/session/session.c:1.237.2.3 --- php4/ext/session/session.c:1.237.2.2 Thu Oct 11 19:52:00 2001 +++ php4/ext/session/session.c Sun Dec 2 07:21:50 2001 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: session.c,v 1.237.2.2 2001/10/11 23:52:00 ssb Exp $ */ +/* $Id: session.c,v 1.237.2.3 2001/12/02 12:21:50 thies Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -265,14 +265,15 @@ int php_get_session_var(char *name, size_t namelen, zval ***state_var TSRMLS_DC) { - HashTable *ht = &EG(symbol_table); - - if (!PG(register_globals)) - ht = PS(http_session_vars) ? Z_ARRVAL_P(PS(http_session_vars)) : NULL; - - if (!ht) return HASH_KEY_NON_EXISTANT; - - return zend_hash_find(ht, name, namelen + 1, (void **)state_var); + if (PS(http_session_vars)) { + if (zend_hash_find(Z_ARRVAL_P(PS(http_session_vars)), name, namelen+1, (void **) state_var)==SUCCESS) { + return SUCCESS; + } + } else if (!PG(register_globals)) { + /* register_globals is disabled, but we don't have http_session_vars */ + return HASH_KEY_NON_EXISTANT; + } + return zend_hash_find(&EG(symbol_table), name, namelen+1, (void **) state_var); } #define PS_BIN_NR_OF_BITS 8 @@ -534,12 +535,12 @@ uint variable_len; ulong num_key; HashPosition pos; - - if (!PG(register_globals)) { - if (!PS(http_session_vars)) { - return; - } - + + if (!PG(register_globals) && !PS(http_session_vars)) { + return; + } + + if (PS(http_session_vars)) { for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(PS(http_session_vars)), &pos); zend_hash_get_current_key_ex(Z_ARRVAL_P(PS(http_session_vars)), &variable, &variable_len, &num_key, 0, &pos) == HASH_KEY_IS_STRING; zend_hash_move_forward_ex(Z_ARRVAL_P(PS(http_session_vars)),&pos)) {

« previous php.cvs (#8379) next »