int (*encode)(PS_SERIALIZER_ENCODE_ARGS),
int (*decode)(PS_SERIALIZER_DECODE_ARGS));
+PHPAPI void php_session_set_id(char *id TSRMLS_DC);
+
#define PS_ADD_VARL(name,namelen) \
zend_hash_add_empty_element(&PS(vars), name, namelen + 1)
return ret;
}
+PHPAPI void php_session_set_id(char *id TSRMLS_DC)
+{
+ if (PS(id))
+ efree(PS(id));
+
+ PS(id) = estrdup(id);
+}
+
+
PHP_MINIT_FUNCTION(session);
PHP_RINIT_FUNCTION(session);
PHP_MSHUTDOWN_FUNCTION(session);
return retval;
}
-
/* {{{ proto void session_set_cookie_params(int lifetime [, string path [, string domain [, bool secure]]])
Set session cookie parameters */
PHP_FUNCTION(session_set_cookie_params)
if (ac == 1) {
convert_to_string_ex(p_name);
- if (PS(id)) efree(PS(id));
- PS(id) = estrndup(Z_STRVAL_PP(p_name), Z_STRLEN_PP(p_name));
+ php_session_set_id(Z_STRVAL_PP(p_name) TSRMLS_CC);
}
RETVAL_STRING(old, 0);