to = php_http_cookie_list_init(to TSRMLS_CC);
array_copy(&from->cookies, &to->cookies);
to = php_http_cookie_list_init(to TSRMLS_CC);
array_copy(&from->cookies, &to->cookies);
-PHP_HTTP_API const char *php_http_cookie_list_get_cookie(php_http_cookie_list_t *list, const char *name, size_t name_len TSRMLS_DC)
+PHP_HTTP_API const char *php_http_cookie_list_get_cookie(php_http_cookie_list_t *list, const char *name, size_t name_len)
{
zval **cookie = NULL;
if ((SUCCESS != zend_hash_find(&list->cookies, name, name_len + 1, (void *) &cookie)) || (Z_TYPE_PP(cookie) != IS_STRING)) {
{
zval **cookie = NULL;
if ((SUCCESS != zend_hash_find(&list->cookies, name, name_len + 1, (void *) &cookie)) || (Z_TYPE_PP(cookie) != IS_STRING)) {
-PHP_HTTP_API const char *php_http_cookie_list_get_extra(php_http_cookie_list_t *list, const char *name, size_t name_len TSRMLS_DC)
+PHP_HTTP_API const char *php_http_cookie_list_get_extra(php_http_cookie_list_t *list, const char *name, size_t name_len)
{
zval **extra = NULL;
if ((SUCCESS != zend_hash_find(&list->extras, name, name_len + 1, (void *) &extra)) || (Z_TYPE_PP(extra) != IS_STRING)) {
{
zval **extra = NULL;
if ((SUCCESS != zend_hash_find(&list->extras, name, name_len + 1, (void *) &extra)) || (Z_TYPE_PP(extra) != IS_STRING)) {
-PHP_HTTP_API void php_http_cookie_list_add_cookie(php_http_cookie_list_t *list, const char *name, size_t name_len, const char *value, size_t value_len TSRMLS_DC)
+PHP_HTTP_API void php_http_cookie_list_add_cookie(php_http_cookie_list_t *list, const char *name, size_t name_len, const char *value, size_t value_len)
MAKE_STD_ZVAL(cookie_value);
ZVAL_STRINGL(cookie_value, estrndup(value, value_len), value_len, 0);
MAKE_STD_ZVAL(cookie_value);
ZVAL_STRINGL(cookie_value, estrndup(value, value_len), value_len, 0);
- zend_hash_update(&list->cookies, key, name_len + 1, (void *) &cookie_value, sizeof(zval *), NULL);
- efree(key);
+ zend_hash_update(&list->cookies, name, name_len + 1, (void *) &cookie_value, sizeof(zval *), NULL);
-PHP_HTTP_API void php_http_cookie_list_add_extra(php_http_cookie_list_t *list, const char *name, size_t name_len, const char *value, size_t value_len TSRMLS_DC)
+PHP_HTTP_API void php_http_cookie_list_add_extra(php_http_cookie_list_t *list, const char *name, size_t name_len, const char *value, size_t value_len)
MAKE_STD_ZVAL(cookie_value);
ZVAL_STRINGL(cookie_value, estrndup(value, value_len), value_len, 0);
MAKE_STD_ZVAL(cookie_value);
ZVAL_STRINGL(cookie_value, estrndup(value, value_len), value_len, 0);
- zend_hash_update(&list->extras, key, name_len + 1, (void *) &cookie_value, sizeof(zval *), NULL);
- efree(key);
+ zend_hash_update(&list->extras, name, name_len + 1, (void *) &cookie_value, sizeof(zval *), NULL);
STR_SET(arg->list->domain, estrndup(val, vallen));
} else if _KEY_IS("expires") {
char *date = estrndup(val, vallen);
STR_SET(arg->list->domain, estrndup(val, vallen));
} else if _KEY_IS("expires") {
char *date = estrndup(val, vallen);
for (; *ae; ++ae) {
if ((size_t) keylen == strlen(*ae) && !strncasecmp(key, *ae, keylen)) {
if (arg->flags & PHP_HTTP_COOKIE_PARSE_RAW) {
for (; *ae; ++ae) {
if ((size_t) keylen == strlen(*ae) && !strncasecmp(key, *ae, keylen)) {
if (arg->flags & PHP_HTTP_COOKIE_PARSE_RAW) {
- php_http_cookie_list_add_extra(arg->list, key, keylen, val, vallen TSRMLS_CC);
+ php_http_cookie_list_add_extra(arg->list, key, keylen, val, vallen);
} else {
char *dec = estrndup(val, vallen);
int declen = php_url_decode(dec, vallen);
} else {
char *dec = estrndup(val, vallen);
int declen = php_url_decode(dec, vallen);
- php_http_cookie_list_add_extra(arg->list, key, keylen, dec, declen TSRMLS_CC);
+ php_http_cookie_list_add_extra(arg->list, key, keylen, dec, declen);
- php_http_cookie_list_add_cookie(arg->list, key, keylen, val, vallen TSRMLS_CC);
+ php_http_cookie_list_add_cookie(arg->list, key, keylen, val, vallen);
} else {
char *dec = estrndup(val, vallen);
int declen = php_url_decode(dec, vallen);
} else {
char *dec = estrndup(val, vallen);
int declen = php_url_decode(dec, vallen);
- php_http_cookie_list_add_cookie(arg->list, key, keylen, dec, declen TSRMLS_CC);
+ php_http_cookie_list_add_cookie(arg->list, key, keylen, dec, declen);
if (SUCCESS != php_http_params_parse(string, PHP_HTTP_PARAMS_RAISE_ERROR, php_http_cookie_parse_callback, &arg TSRMLS_CC)) {
if (free_list) {
if (SUCCESS != php_http_params_parse(string, PHP_HTTP_PARAMS_RAISE_ERROR, php_http_cookie_parse_callback, &arg TSRMLS_CC)) {
if (free_list) {
-PHP_HTTP_API void php_http_cookie_list_to_string(php_http_cookie_list_t *list, char **str, size_t *len TSRMLS_DC)
+PHP_HTTP_API void php_http_cookie_list_to_string(php_http_cookie_list_t *list, char **str, size_t *len)
- ov = php_http_cookie_object_new_ex(old_obj->o.ce, php_http_cookie_list_copy(old_obj->list, NULL TSRMLS_CC), &new_obj TSRMLS_CC);
+ if (!old_obj->list) {
+ old_obj->list = php_http_cookie_list_init(NULL TSRMLS_CC);
+ }
+ ov = php_http_cookie_object_new_ex(old_obj->o.ce, php_http_cookie_list_copy(old_obj->list, NULL), &new_obj TSRMLS_CC);
zend_objects_clone_members((zend_object *) new_obj, ov, (zend_object *) old_obj, Z_OBJ_HANDLE_P(getThis()) TSRMLS_CC);
return ov;
}
zend_objects_clone_members((zend_object *) new_obj, ov, (zend_object *) old_obj, Z_OBJ_HANDLE_P(getThis()) TSRMLS_CC);
return ov;
}