diff options
author | Andrey Hristov <andrey@php.net> | 1999-06-28 15:46:56 +0000 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 1999-06-28 15:46:56 +0000 |
commit | a6aacfd2b65da62329b95f98919f19b5511cf9fc (patch) | |
tree | 38a9d702906a2efbe5793b43f607696999ea9272 /ext/session/session.c | |
parent | 17f725d21a48ea856853aaf67dd13a6ea58f3a94 (diff) | |
download | php-git-a6aacfd2b65da62329b95f98919f19b5511cf9fc.tar.gz |
Added session_is_registered(varname) function.
Diffstat (limited to 'ext/session/session.c')
-rw-r--r-- | ext/session/session.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index 9396d0dce9..79483d15f2 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -65,6 +65,7 @@ function_entry session_functions[] = { PHP_FE(session_decode, NULL) PHP_FE(session_register, NULL) PHP_FE(session_unregister, NULL) + PHP_FE(session_is_registered, NULL) PHP_FE(session_encode, NULL) PHP_FE(session_start, NULL) PHP_FE(session_destroy, NULL) @@ -473,6 +474,32 @@ PHP_FUNCTION(session_unregister) } /* }}} */ + +/* {{{ proto bool session_is_registered(string varname) + checks if a variable is registered in session */ +PHP_FUNCTION(session_is_registered) +{ + pval *p_name; + pval *p_var; + int ac = ARG_COUNT(ht); + PSLS_FETCH(); + + if(ac != 1 || getParameters(ht, ac, &p_name) == FAILURE) { + WRONG_PARAM_COUNT; + } + + convert_to_string(p_name); + + if (zend_hash_find(&PS(vars), p_name->value.str.val, p_name->value.str.len+1, + (void **)&p_var) == SUCCESS) { + RETURN_TRUE; + } else { + RETURN_FALSE; + } +} +/* }}} */ + + /* {{{ proto string session_encode() serializes the current setup and returns the serialized representation */ PHP_FUNCTION(session_encode) |