cvs: /php4/ext/session session.c
| From: | Andrei Zmievski | Date: | Mon, 06 Mar 2000 14:36:41 +0000 |
| Subject: | cvs: /php4/ext/session session.c | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-11577@lists.php.net to get a copy of this message | ||
andrei Mon Mar 6 06:36:41 2000 EDT
Modified files:
/php4/ext/session session.c
Log:
(php_get_session_var)
The variables are now serialized either from globals or from
$HTTP_STATE_VARS[] array, depending on register_globals and track_vars
settings.
Index: php4/ext/session/session.c
diff -u php4/ext/session/session.c:1.112 php4/ext/session/session.c:1.113
--- php4/ext/session/session.c:1.112 Mon Feb 28 08:00:46 2000
+++ php4/ext/session/session.c Mon Mar 6 06:36:11 2000
@@ -158,7 +158,8 @@
char *key; \
ulong num_key; \
zval **struc; \
- ELS_FETCH()
+ ELS_FETCH(); \
+ PLS_FETCH()
#define ENCODE_LOOP(code) \
for (zend_hash_internal_pointer_reset(&PS(vars)); \
@@ -197,7 +198,12 @@
static int php_get_session_var(char *name, size_t namelen, zval ***state_var PSLS_DC ELS_DC)
{
- return zend_hash_find(&EG(symbol_table), name, namelen + 1, (void **)state_var);
+ HashTable *ht = &EG(symbol_table);
+
+ if (!PG(register_globals) && PG(track_vars))
+ ht = PS(http_state_vars)->value.ht;
+
+ return zend_hash_find(ht, name, namelen + 1, (void **)state_var);
}
PS_SERIALIZER_ENCODE_FUNC(php)