summaryrefslogtreecommitdiff
path: root/ext/sockets/sockets.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sockets/sockets.c')
-rw-r--r--ext/sockets/sockets.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c
index 0ec9873a65..f76139e0fe 100644
--- a/ext/sockets/sockets.c
+++ b/ext/sockets/sockets.c
@@ -1598,7 +1598,7 @@ PHP_FUNCTION(socket_get_option)
Sets socket options for the socket */
PHP_FUNCTION(socket_set_option)
{
- zval *arg1, *arg4;
+ zval *arg1, **arg4;
struct linger lv;
struct timeval tv;
php_socket *php_sock;
@@ -1619,7 +1619,7 @@ PHP_FUNCTION(socket_set_option)
char *sec_key = "sec";
char *usec_key = "usec";
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rllz", &arg1, &level, &optname, &arg4) == FAILURE)
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rllZ", &arg1, &level, &optname, &arg4) == FAILURE)
return;
ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
@@ -1628,8 +1628,8 @@ PHP_FUNCTION(socket_set_option)
switch (optname) {
case SO_LINGER:
- convert_to_array_ex(&arg4);
- opt_ht = HASH_OF(arg4);
+ convert_to_array_ex(arg4);
+ opt_ht = HASH_OF(*arg4);
if (zend_hash_find(opt_ht, l_onoff_key, strlen(l_onoff_key) + 1, (void **)&l_onoff) == FAILURE) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "no key \"%s\" passed in optval", l_onoff_key);
@@ -1651,8 +1651,8 @@ PHP_FUNCTION(socket_set_option)
break;
case SO_RCVTIMEO:
case SO_SNDTIMEO:
- convert_to_array_ex(&arg4);
- opt_ht = HASH_OF(arg4);
+ convert_to_array_ex(arg4);
+ opt_ht = HASH_OF(*arg4);
if (zend_hash_find(opt_ht, sec_key, strlen(sec_key) + 1, (void **)&sec) == FAILURE) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "no key \"%s\" passed in optval", sec_key);
@@ -1677,8 +1677,8 @@ PHP_FUNCTION(socket_set_option)
#endif
break;
default:
- convert_to_long_ex(&arg4);
- ov = Z_LVAL_P(arg4);
+ convert_to_long_ex(arg4);
+ ov = Z_LVAL_PP(arg4);
optlen = sizeof(ov);
opt_ptr = &ov;