com php-src: basic fixes to ext/sockets: ext/sockets/conversions.c ext/sockets/sendrecvmsg.c ext/sockets/sockaddr_conv.c ext /sockets/sockets.c
| From: | Anatol Belski | Date: | Fri, 29 Nov 2013 20:02:36 +0000 |
| Subject: | com php-src: basic fixes to ext/sockets: ext/sockets/conversions.c ext/sockets/sendrecvmsg.c ext/sockets/sockaddr_conv.c ext /sockets/sockets.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-74170@lists.php.net to get a copy of this message | ||
Commit: f119cd8f2d0018e7464706bd8710958d3471d362
Author: Anatol Belski <ab@php.net> Fri, 29 Nov 2013 21:02:36 +0100
Parents: e094c64b6765e2f70dedb780fe486c67a86bcbe9
Branches: str_size_and_int64
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=f119cd8f2d0018e7464706bd8710958d3471d362
Log:
basic fixes to ext/sockets
Changed paths:
M ext/sockets/conversions.c
M ext/sockets/sendrecvmsg.c
M ext/sockets/sockaddr_conv.c
M ext/sockets/sockets.c
diff --git a/ext/sockets/conversions.c b/ext/sockets/conversions.c index d814845..347de67 100644 --- a/ext/sockets/conversions.c +++ b/ext/sockets/conversions.c @@ -303,9 +303,9 @@ static void to_zval_read_aggregation(const char *structure, } /* CONVERSIONS for integers */ -static long from_zval_integer_common(const zval *arr_value, ser_context *ctx) +static php_int_t from_zval_integer_common(const zval *arr_value, ser_context *ctx) { - long ret = 0; + php_int_t ret = 0; zval lzval = zval_used_for_init; if (Z_TYPE_P(arr_value) != IS_LONG) { @@ -328,12 +328,12 @@ double_case: case IS_OBJECT: case IS_STRING: { - long lval; + php_int_t lval; double dval; convert_to_string(&lzval); - switch (is_numeric_string(Z_STRVAL(lzval), Z_STRLEN(lzval), &lval, &dval, 0)) { + switch (is_numeric_string(Z_STRVAL(lzval), Z_STRSIZE(lzval), &lval, &dval, 0)) { case IS_DOUBLE: zval_dtor(&lzval); Z_TYPE(lzval) = IS_DOUBLE; @@ -365,7 +365,7 @@ double_case: } void from_zval_write_int(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; int ival; lval = from_zval_integer_common(arr_value, ctx); @@ -384,7 +384,7 @@ void from_zval_write_int(const zval *arr_value, char *field, ser_context *ctx) } static void from_zval_write_uint32(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; uint32_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -403,7 +403,7 @@ static void from_zval_write_uint32(const zval *arr_value, char *field, ser_conte } static void from_zval_write_net_uint16(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; uint16_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -422,7 +422,7 @@ static void from_zval_write_net_uint16(const zval *arr_value, char *field, ser_c } static void from_zval_write_sa_family(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; sa_family_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -441,7 +441,7 @@ static void from_zval_write_sa_family(const zval *arr_value, char *field, ser_co } static void from_zval_write_pid_t(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; pid_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -460,7 +460,7 @@ static void from_zval_write_pid_t(const zval *arr_value, char *field, ser_contex } static void from_zval_write_uid_t(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; uid_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -570,7 +570,7 @@ static void to_zval_read_sin_addr(const char *data, zval *zv, res_context *ctx) Z_TYPE_P(zv) = IS_STRING; Z_STRVAL_P(zv) = ecalloc(1, size); - Z_STRLEN_P(zv) = 0; + Z_STRSIZE_P(zv) = 0; if (inet_ntop(AF_INET, addr, Z_STRVAL_P(zv), size) == NULL) { do_to_zval_err(ctx, "could not convert IPv4 address to string " @@ -578,7 +578,7 @@ static void to_zval_read_sin_addr(const char *data, zval *zv, res_context *ctx) return; } - Z_STRLEN_P(zv) = strlen(Z_STRVAL_P(zv)); + Z_STRSIZE_P(zv) = strlen(Z_STRVAL_P(zv)); } static const field_descriptor descriptors_sockaddr_in[] = { {"family", sizeof("family"), 0, offsetof(struct sockaddr_in, sin_family), from_zval_write_sa_family, to_zval_read_sa_family}, @@ -628,7 +628,7 @@ static void to_zval_read_sin6_addr(const char *data, zval *zv, res_context *ctx) Z_TYPE_P(zv) = IS_STRING; Z_STRVAL_P(zv) = ecalloc(1, size); - Z_STRLEN_P(zv) = 0; + Z_STRSIZE_P(zv) = 0; if (inet_ntop(AF_INET6, addr, Z_STRVAL_P(zv), size) == NULL) { do_to_zval_err(ctx, "could not convert IPv6 address to string " @@ -636,7 +636,7 @@ static void to_zval_read_sin6_addr(const char *data, zval *zv, res_context *ctx) return; } - Z_STRLEN_P(zv) = strlen(Z_STRVAL_P(zv)); + Z_STRSIZE_P(zv) = strlen(Z_STRVAL_P(zv)); } static const field_descriptor descriptors_sockaddr_in6[] = { {"family", sizeof("family"), 0, offsetof(struct sockaddr_in6, sin6_family), from_zval_write_sa_family, to_zval_read_sa_family}, @@ -670,18 +670,18 @@ static void from_zval_write_sun_path(const zval *path, char *sockaddr_un_c, ser_ /* code in this file relies on the path being nul terminated, even though * this is not required, at least on linux for abstract paths. It also * assumes that the path is not empty */ - if (Z_STRLEN_P(path) == 0) { + if (Z_STRSIZE_P(path) == 0) { do_from_zval_err(ctx, "%s", "the path is cannot be empty"); return; } - if (Z_STRLEN_P(path) >= sizeof(saddr->sun_path)) { + if (Z_STRSIZE_P(path) >= sizeof(saddr->sun_path)) { do_from_zval_err(ctx, "the path is too long, the maximum permitted " "length is %ld", sizeof(saddr->sun_path) - 1); return; } - memcpy(&saddr->sun_path, Z_STRVAL_P(path), Z_STRLEN_P(path)); - saddr->sun_path[Z_STRLEN_P(path)] = '\0'; + memcpy(&saddr->sun_path, Z_STRVAL_P(path), Z_STRSIZE_P(path)); + saddr->sun_path[Z_STRSIZE_P(path)] = '\0'; zval_dtor(&lzval); } @@ -1076,7 +1076,7 @@ static void to_zval_read_name(const char *sockaddr_p, zval *zv, res_context *ctx } static void from_zval_write_msghdr_buffer_size(const zval *elem, char *msghdr_c, ser_context *ctx) { - long lval; + php_int_t lval; struct msghdr *msghdr = (struct msghdr *)msghdr_c; lval = from_zval_integer_common(elem, ctx); @@ -1103,7 +1103,7 @@ static void from_zval_write_iov_array_aux(zval **elem, unsigned i, void **args, zval_add_ref(elem); convert_to_string_ex(elem); - len = Z_STRLEN_PP(elem); + len = Z_STRSIZE_PP(elem); msg->msg_iov[i - 1].iov_base = accounted_emalloc(len, ctx); msg->msg_iov[i - 1].iov_len = len; memcpy(msg->msg_iov[i - 1].iov_base, Z_STRVAL_PP(elem), len); diff --git a/ext/sockets/sendrecvmsg.c b/ext/sockets/sendrecvmsg.c index d9a8190..3a1d468 100644 --- a/ext/sockets/sendrecvmsg.c +++ b/ext/sockets/sendrecvmsg.c @@ -165,7 +165,7 @@ PHP_FUNCTION(socket_sendmsg) { zval *zsocket, *zmsg; - long flags = 0; + php_int_t flags = 0; php_socket *php_sock; struct msghdr *msghdr; zend_llist *allocations; @@ -173,7 +173,7 @@ PHP_FUNCTION(socket_sendmsg) ssize_t res; /* zmsg should be passed by ref */ - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra|l", &zsocket, &zmsg, &flags) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra|i", &zsocket, &zmsg, &flags) == FAILURE) { return; } @@ -207,7 +207,7 @@ PHP_FUNCTION(socket_recvmsg) { zval *zsocket, *zmsg; - long flags = 0; + php_int_t flags = 0; php_socket *php_sock; ssize_t res; struct msghdr *msghdr; @@ -215,7 +215,7 @@ PHP_FUNCTION(socket_recvmsg) struct err_s err = {0}; //ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra|l", + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra|i", &zsocket, &zmsg, &flags) == FAILURE) { return; } @@ -267,17 +267,17 @@ PHP_FUNCTION(socket_recvmsg) RETURN_FALSE; } - RETURN_LONG((long)res); + RETURN_LONG((php_int_t)res); } PHP_FUNCTION(socket_cmsg_space) { - long level, + php_int_t level, type, n = 0; ancillary_reg_entry *entry; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll|l", + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ii|i", &level, &type, &n) == FAILURE) { return; } diff --git a/ext/sockets/sockaddr_conv.c b/ext/sockets/sockaddr_conv.c index 64523c3..5178ef4 100644 --- a/ext/sockets/sockaddr_conv.c +++ b/ext/sockets/sockaddr_conv.c @@ -55,7 +55,7 @@ int php_set_inet6_addr(struct sockaddr_in6 *sin6, char *string, php_socket *php_ } if (scope++) { - long lval = 0; + php_int_t lval = 0; double dval = 0; unsigned scope_id = 0; diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 4a2a41b..8b2d733 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -800,8 +800,8 @@ static int php_sock_array_from_fd_set(zval *sock_array, fd_set *fds TSRMLS_DC) / HashTable *new_hash; char *key; int num = 0; - ulong num_key; - uint key_len; + php_uint_t num_key; + zend_str_size_uint key_len; if (Z_TYPE_P(sock_array) != IS_ARRAY) return 0; @@ -850,9 +850,9 @@ PHP_FUNCTION(socket_select) fd_set rfds, wfds, efds; PHP_SOCKET max_fd = 0; int retval, sets = 0; - long usec = 0; + php_int_t usec = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a!a!a!z!|l", &r_array, &w_array, &e_array, &sec, &usec) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a!a!a!z!|i", &r_array, &w_array, &e_array, &sec, &usec) == FAILURE) { return; } @@ -919,9 +919,9 @@ PHP_FUNCTION(socket_select) PHP_FUNCTION(socket_create_listen) { php_socket *php_sock; - long port, backlog = 128; + php_int_t port, backlog = 128; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|l", &port, &backlog) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i|i", &port, &backlog) == FAILURE) { return; } @@ -1041,9 +1041,9 @@ PHP_FUNCTION(socket_listen) { zval *arg1; php_socket *php_sock; - long backlog = 0; + php_int_t backlog = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &arg1, &backlog) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|i", &arg1, &backlog) == FAILURE) { return; } @@ -1089,11 +1089,12 @@ PHP_FUNCTION(socket_write) { zval *arg1; php_socket *php_sock; - int retval, str_len; - long length = 0; + int retval; + zend_str_size_int str_len; + php_int_t length = 0; char *str; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|l", &arg1, &str, &str_len, &length) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rS|i", &arg1, &str, &str_len, &length) == FAILURE) { return; } @@ -1126,9 +1127,9 @@ PHP_FUNCTION(socket_read) php_socket *php_sock; char *tmpbuf; int retval; - long length, type = PHP_BINARY_READ; + php_int_t length, type = PHP_BINARY_READ; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl|l", &arg1, &length, &type) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ri|i", &arg1, &length, &type) == FAILURE) { return; } @@ -1335,10 +1336,10 @@ PHP_FUNCTION(socket_getpeername) Creates an endpoint for communication in the domain specified by domain, of type specified by type */ PHP_FUNCTION(socket_create) { - long arg1, arg2, arg3; + php_int_t arg1, arg2, arg3; php_socket *php_sock = php_create_socket(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lll", &arg1, &arg2, &arg3) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "iii", &arg1, &arg2, &arg3) == FAILURE) { efree(php_sock); return; } @@ -1381,11 +1382,12 @@ PHP_FUNCTION(socket_connect) zval *arg1; php_socket *php_sock; char *addr; - int retval, addr_len; - long port = 0; + int retval; + zend_str_size_int addr_len; + php_int_t port = 0; int argc = ZEND_NUM_ARGS(); - if (zend_parse_parameters(argc TSRMLS_CC, "rs|l", &arg1, &addr, &addr_len, &port) == FAILURE) { + if (zend_parse_parameters(argc TSRMLS_CC, "rS|i", &arg1, &addr, &addr_len, &port) == FAILURE) { return; } @@ -1466,9 +1468,9 @@ PHP_FUNCTION(socket_connect) Returns a string describing an error */ PHP_FUNCTION(socket_strerror) { - long arg1; + php_int_t arg1; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &arg1) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &arg1) == FAILURE) { return; } @@ -1485,11 +1487,11 @@ PHP_FUNCTION(socket_bind) struct sockaddr *sock_type = (struct sockaddr*) &sa_storage; php_socket *php_sock; char *addr; - int addr_len; - long port = 0; - long retval = 0; + zend_str_size_int addr_len; + php_int_t port = 0; + php_int_t retval = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|l", &arg1, &addr, &addr_len, &port) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rS|i", &arg1, &addr, &addr_len, &port) == FAILURE) { return; } @@ -1567,9 +1569,9 @@ PHP_FUNCTION(socket_recv) char *recv_buf; php_socket *php_sock; int retval; - long len, flags; + php_int_t len, flags; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rzll", &php_sock_res, &buf, &len, &flags) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rzii", &php_sock_res, &buf, &len, &flags) == FAILURE) { return; } @@ -1595,7 +1597,7 @@ PHP_FUNCTION(socket_recv) zval_dtor(buf); Z_STRVAL_P(buf) = recv_buf; - Z_STRLEN_P(buf) = retval; + Z_STRSIZE_P(buf) = retval; Z_TYPE_P(buf) = IS_STRING; } @@ -1614,11 +1616,12 @@ PHP_FUNCTION(socket_send) { zval *arg1; php_socket *php_sock; - int buf_len, retval; - long len, flags; + zend_str_size_int buf_len; + int retval; + php_int_t len, flags; char *buf; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsll", &arg1, &buf, &buf_len, &len, &flags) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rSii", &arg1, &buf, &buf_len, &len, &flags) == FAILURE) { return; } @@ -1649,10 +1652,10 @@ PHP_FUNCTION(socket_recvfrom) #endif socklen_t slen; int retval; - long arg3, arg4; + php_int_t arg3, arg4; char *recv_buf, *address; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rzllz|z", &arg1, &arg2, &arg3, &arg4, &arg5, &arg6) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rziiz|z", &arg1, &arg2, &arg3, &arg4, &arg5, &arg6) == FAILURE) { return; } @@ -1764,12 +1767,13 @@ PHP_FUNCTION(socket_sendto) #if HAVE_IPV6 struct sockaddr_in6 sin6; #endif - int retval, buf_len, addr_len; - long len, flags, port = 0; + int retval; + zend_str_size_int buf_len, addr_len; + php_int_t len, flags, port = 0; char *buf, *addr; int argc = ZEND_NUM_ARGS(); - if (zend_parse_parameters(argc TSRMLS_CC, "rslls|l", &arg1, &buf, &buf_len, &len, &flags, &addr, &addr_len, &port) == FAILURE) { + if (zend_parse_parameters(argc TSRMLS_CC, "rSiiS|i", &arg1, &buf, &buf_len, &len, &flags, &addr, &addr_len, &port) == FAILURE) { return; } @@ -1843,9 +1847,9 @@ PHP_FUNCTION(socket_get_option) socklen_t optlen; php_socket *php_sock; int other_val; - long level, optname; + php_int_t level, optname; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rll", &arg1, &level, &optname) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rii", &arg1, &level, &optname) == FAILURE) { return; } @@ -1951,14 +1955,14 @@ PHP_FUNCTION(socket_set_option) #else struct timeval tv; #endif - long level, optname; + php_int_t level, optname; void *opt_ptr; HashTable *opt_ht; zval **l_onoff, **l_linger; zval **sec, **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, "riiZ", &arg1, &level, &optname, &arg4) == FAILURE) { return; } @@ -2052,7 +2056,7 @@ PHP_FUNCTION(socket_set_option) case SO_BINDTODEVICE: { if (Z_TYPE_PP(arg4) == IS_STRING) { opt_ptr = Z_STRVAL_PP(arg4); - optlen = Z_STRLEN_PP(arg4); + optlen = Z_STRSIZE_PP(arg4); } else { opt_ptr = ""; optlen = 0; @@ -2089,9 +2093,9 @@ PHP_FUNCTION(socket_create_pair) zval *retval[2], *fds_array_zval; php_socket *php_sock[2]; PHP_SOCKET fds_array[2]; - long domain, type, protocol; + php_int_t domain, type, protocol; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lllz", &domain, &type, &protocol, &fds_array_zval) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "iiiz", &domain, &type, &protocol, &fds_array_zval) == FAILURE) { return; } @@ -2152,10 +2156,10 @@ PHP_FUNCTION(socket_create_pair) PHP_FUNCTION(socket_shutdown) { zval *arg1; - long how_shutdown = 2; + php_int_t how_shutdown = 2; php_socket *php_sock; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &arg1, &how_shutdown) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|i", &arg1, &how_shutdown) == FAILURE) { return; }
diff --git a/ext/sockets/conversions.c b/ext/sockets/conversions.c index d814845..347de67 100644 --- a/ext/sockets/conversions.c +++ b/ext/sockets/conversions.c @@ -303,9 +303,9 @@ static void to_zval_read_aggregation(const char *structure, } /* CONVERSIONS for integers */ -static long from_zval_integer_common(const zval *arr_value, ser_context *ctx) +static php_int_t from_zval_integer_common(const zval *arr_value, ser_context *ctx) { - long ret = 0; + php_int_t ret = 0; zval lzval = zval_used_for_init; if (Z_TYPE_P(arr_value) != IS_LONG) { @@ -328,12 +328,12 @@ double_case: case IS_OBJECT: case IS_STRING: { - long lval; + php_int_t lval; double dval; convert_to_string(&lzval); - switch (is_numeric_string(Z_STRVAL(lzval), Z_STRLEN(lzval), &lval, &dval, 0)) { + switch (is_numeric_string(Z_STRVAL(lzval), Z_STRSIZE(lzval), &lval, &dval, 0)) { case IS_DOUBLE: zval_dtor(&lzval); Z_TYPE(lzval) = IS_DOUBLE; @@ -365,7 +365,7 @@ double_case: } void from_zval_write_int(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; int ival; lval = from_zval_integer_common(arr_value, ctx); @@ -384,7 +384,7 @@ void from_zval_write_int(const zval *arr_value, char *field, ser_context *ctx) } static void from_zval_write_uint32(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; uint32_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -403,7 +403,7 @@ static void from_zval_write_uint32(const zval *arr_value, char *field, ser_conte } static void from_zval_write_net_uint16(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; uint16_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -422,7 +422,7 @@ static void from_zval_write_net_uint16(const zval *arr_value, char *field, ser_c } static void from_zval_write_sa_family(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; sa_family_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -441,7 +441,7 @@ static void from_zval_write_sa_family(const zval *arr_value, char *field, ser_co } static void from_zval_write_pid_t(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; pid_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -460,7 +460,7 @@ static void from_zval_write_pid_t(const zval *arr_value, char *field, ser_contex } static void from_zval_write_uid_t(const zval *arr_value, char *field, ser_context *ctx) { - long lval; + php_int_t lval; uid_t ival; lval = from_zval_integer_common(arr_value, ctx); @@ -570,7 +570,7 @@ static void to_zval_read_sin_addr(const char *data, zval *zv, res_context *ctx) Z_TYPE_P(zv) = IS_STRING; Z_STRVAL_P(zv) = ecalloc(1, size); - Z_STRLEN_P(zv) = 0; + Z_STRSIZE_P(zv) = 0; if (inet_ntop(AF_INET, addr, Z_STRVAL_P(zv), size) == NULL) { do_to_zval_err(ctx, "could not convert IPv4 address to string " @@ -578,7 +578,7 @@ static void to_zval_read_sin_addr(const char *data, zval *zv, res_context *ctx) return; } - Z_STRLEN_P(zv) = strlen(Z_STRVAL_P(zv)); + Z_STRSIZE_P(zv) = strlen(Z_STRVAL_P(zv)); } static const field_descriptor descriptors_sockaddr_in[] = { {"family", sizeof("family"), 0, offsetof(struct sockaddr_in, sin_family), from_zval_write_sa_family, to_zval_read_sa_family}, @@ -628,7 +628,7 @@ static void to_zval_read_sin6_addr(const char *data, zval *zv, res_context *ctx) Z_TYPE_P(zv) = IS_STRING; Z_STRVAL_P(zv) = ecalloc(1, size); - Z_STRLEN_P(zv) = 0; + Z_STRSIZE_P(zv) = 0; if (inet_ntop(AF_INET6, addr, Z_STRVAL_P(zv), size) == NULL) { do_to_zval_err(ctx, "could not convert IPv6 address to string " @@ -636,7 +636,7 @@ static void to_zval_read_sin6_addr(const char *data, zval *zv, res_context *ctx) return; } - Z_STRLEN_P(zv) = strlen(Z_STRVAL_P(zv)); + Z_STRSIZE_P(zv) = strlen(Z_STRVAL_P(zv)); } static const field_descriptor descriptors_sockaddr_in6[] = { {"family", sizeof("family"), 0, offsetof(struct sockaddr_in6, sin6_family), from_zval_write_sa_family, to_zval_read_sa_family}, @@ -670,18 +670,18 @@ static void from_zval_write_sun_path(const zval *path, char *sockaddr_un_c, ser_ /* code in this file relies on the path being nul terminated, even though * this is not required, at least on linux for abstract paths. It also * assumes that the path is not empty */ - if (Z_STRLEN_P(path) == 0) { + if (Z_STRSIZE_P(path) == 0) { do_from_zval_err(ctx, "%s", "the path is cannot be empty"); return; } - if (Z_STRLEN_P(path) >= sizeof(saddr->sun_path)) { + if (Z_STRSIZE_P(path) >= sizeof(saddr->sun_path)) { do_from_zval_err(ctx, "the path is too long, the maximum permitted " "length is %ld", sizeof(saddr->sun_path) - 1); return; } - memcpy(&saddr->sun_path, Z_STRVAL_P(path), Z_STRLEN_P(path)); - saddr->sun_path[Z_STRLEN_P(path)] = '\0'; + memcpy(&saddr->sun_path, Z_STRVAL_P(path), Z_STRSIZE_P(path)); + saddr->sun_path[Z_STRSIZE_P(path)] = '\0'; zval_dtor(&lzval); } @@ -1076,7 +1076,7 @@ static void to_zval_read_name(const char *sockaddr_p, zval *zv, res_context *ctx } static void from_zval_write_msghdr_buffer_size(const zval *elem, char *msghdr_c, ser_context *ctx) { - long lval; + php_int_t lval; struct msghdr *msghdr = (struct msghdr *)msghdr_c; lval = from_zval_integer_common(elem, ctx); @@ -1103,7 +1103,7 @@ static void from_zval_write_iov_array_aux(zval **elem, unsigned i, void **args, zval_add_ref(elem); convert_to_string_ex(elem); - len = Z_STRLEN_PP(elem); + len = Z_STRSIZE_PP(elem); msg->msg_iov[i - 1].iov_base = accounted_emalloc(len, ctx); msg->msg_iov[i - 1].iov_len = len; memcpy(msg->msg_iov[i - 1].iov_base, Z_STRVAL_PP(elem), len); diff --git a/ext/sockets/sendrecvmsg.c b/ext/sockets/sendrecvmsg.c index d9a8190..3a1d468 100644 --- a/ext/sockets/sendrecvmsg.c +++ b/ext/sockets/sendrecvmsg.c @@ -165,7 +165,7 @@ PHP_FUNCTION(socket_sendmsg) { zval *zsocket, *zmsg; - long flags = 0; + php_int_t flags = 0; php_socket *php_sock; struct msghdr *msghdr; zend_llist *allocations; @@ -173,7 +173,7 @@ PHP_FUNCTION(socket_sendmsg) ssize_t res; /* zmsg should be passed by ref */ - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra|l", &zsocket, &zmsg, &flags) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra|i", &zsocket, &zmsg, &flags) == FAILURE) { return; } @@ -207,7 +207,7 @@ PHP_FUNCTION(socket_recvmsg) { zval *zsocket, *zmsg; - long flags = 0; + php_int_t flags = 0; php_socket *php_sock; ssize_t res; struct msghdr *msghdr; @@ -215,7 +215,7 @@ PHP_FUNCTION(socket_recvmsg) struct err_s err = {0}; //ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra|l", + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra|i", &zsocket, &zmsg, &flags) == FAILURE) { return; } @@ -267,17 +267,17 @@ PHP_FUNCTION(socket_recvmsg) RETURN_FALSE; } - RETURN_LONG((long)res); + RETURN_LONG((php_int_t)res); } PHP_FUNCTION(socket_cmsg_space) { - long level, + php_int_t level, type, n = 0; ancillary_reg_entry *entry; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll|l", + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ii|i", &level, &type, &n) == FAILURE) { return; } diff --git a/ext/sockets/sockaddr_conv.c b/ext/sockets/sockaddr_conv.c index 64523c3..5178ef4 100644 --- a/ext/sockets/sockaddr_conv.c +++ b/ext/sockets/sockaddr_conv.c @@ -55,7 +55,7 @@ int php_set_inet6_addr(struct sockaddr_in6 *sin6, char *string, php_socket *php_ } if (scope++) { - long lval = 0; + php_int_t lval = 0; double dval = 0; unsigned scope_id = 0; diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 4a2a41b..8b2d733 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -800,8 +800,8 @@ static int php_sock_array_from_fd_set(zval *sock_array, fd_set *fds TSRMLS_DC) / HashTable *new_hash; char *key; int num = 0; - ulong num_key; - uint key_len; + php_uint_t num_key; + zend_str_size_uint key_len; if (Z_TYPE_P(sock_array) != IS_ARRAY) return 0; @@ -850,9 +850,9 @@ PHP_FUNCTION(socket_select) fd_set rfds, wfds, efds; PHP_SOCKET max_fd = 0; int retval, sets = 0; - long usec = 0; + php_int_t usec = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a!a!a!z!|l", &r_array, &w_array, &e_array, &sec, &usec) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a!a!a!z!|i", &r_array, &w_array, &e_array, &sec, &usec) == FAILURE) { return; } @@ -919,9 +919,9 @@ PHP_FUNCTION(socket_select) PHP_FUNCTION(socket_create_listen) { php_socket *php_sock; - long port, backlog = 128; + php_int_t port, backlog = 128; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|l", &port, &backlog) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i|i", &port, &backlog) == FAILURE) { return; } @@ -1041,9 +1041,9 @@ PHP_FUNCTION(socket_listen) { zval *arg1; php_socket *php_sock; - long backlog = 0; + php_int_t backlog = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &arg1, &backlog) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|i", &arg1, &backlog) == FAILURE) { return; } @@ -1089,11 +1089,12 @@ PHP_FUNCTION(socket_write) { zval *arg1; php_socket *php_sock; - int retval, str_len; - long length = 0; + int retval; + zend_str_size_int str_len; + php_int_t length = 0; char *str; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|l", &arg1, &str, &str_len, &length) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rS|i", &arg1, &str, &str_len, &length) == FAILURE) { return; } @@ -1126,9 +1127,9 @@ PHP_FUNCTION(socket_read) php_socket *php_sock; char *tmpbuf; int retval; - long length, type = PHP_BINARY_READ; + php_int_t length, type = PHP_BINARY_READ; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl|l", &arg1, &length, &type) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ri|i", &arg1, &length, &type) == FAILURE) { return; } @@ -1335,10 +1336,10 @@ PHP_FUNCTION(socket_getpeername) Creates an endpoint for communication in the domain specified by domain, of type specified by type */ PHP_FUNCTION(socket_create) { - long arg1, arg2, arg3; + php_int_t arg1, arg2, arg3; php_socket *php_sock = php_create_socket(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lll", &arg1, &arg2, &arg3) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "iii", &arg1, &arg2, &arg3) == FAILURE) { efree(php_sock); return; } @@ -1381,11 +1382,12 @@ PHP_FUNCTION(socket_connect) zval *arg1; php_socket *php_sock; char *addr; - int retval, addr_len; - long port = 0; + int retval; + zend_str_size_int addr_len; + php_int_t port = 0; int argc = ZEND_NUM_ARGS(); - if (zend_parse_parameters(argc TSRMLS_CC, "rs|l", &arg1, &addr, &addr_len, &port) == FAILURE) { + if (zend_parse_parameters(argc TSRMLS_CC, "rS|i", &arg1, &addr, &addr_len, &port) == FAILURE) { return; } @@ -1466,9 +1468,9 @@ PHP_FUNCTION(socket_connect) Returns a string describing an error */ PHP_FUNCTION(socket_strerror) { - long arg1; + php_int_t arg1; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &arg1) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &arg1) == FAILURE) { return; } @@ -1485,11 +1487,11 @@ PHP_FUNCTION(socket_bind) struct sockaddr *sock_type = (struct sockaddr*) &sa_storage; php_socket *php_sock; char *addr; - int addr_len; - long port = 0; - long retval = 0; + zend_str_size_int addr_len; + php_int_t port = 0; + php_int_t retval = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|l", &arg1, &addr, &addr_len, &port) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rS|i", &arg1, &addr, &addr_len, &port) == FAILURE) { return; } @@ -1567,9 +1569,9 @@ PHP_FUNCTION(socket_recv) char *recv_buf; php_socket *php_sock; int retval; - long len, flags; + php_int_t len, flags; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rzll", &php_sock_res, &buf, &len, &flags) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rzii", &php_sock_res, &buf, &len, &flags) == FAILURE) { return; } @@ -1595,7 +1597,7 @@ PHP_FUNCTION(socket_recv) zval_dtor(buf); Z_STRVAL_P(buf) = recv_buf; - Z_STRLEN_P(buf) = retval; + Z_STRSIZE_P(buf) = retval; Z_TYPE_P(buf) = IS_STRING; } @@ -1614,11 +1616,12 @@ PHP_FUNCTION(socket_send) { zval *arg1; php_socket *php_sock; - int buf_len, retval; - long len, flags; + zend_str_size_int buf_len; + int retval; + php_int_t len, flags; char *buf; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsll", &arg1, &buf, &buf_len, &len, &flags) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rSii", &arg1, &buf, &buf_len, &len, &flags) == FAILURE) { return; } @@ -1649,10 +1652,10 @@ PHP_FUNCTION(socket_recvfrom) #endif socklen_t slen; int retval; - long arg3, arg4; + php_int_t arg3, arg4; char *recv_buf, *address; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rzllz|z", &arg1, &arg2, &arg3, &arg4, &arg5, &arg6) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rziiz|z", &arg1, &arg2, &arg3, &arg4, &arg5, &arg6) == FAILURE) { return; } @@ -1764,12 +1767,13 @@ PHP_FUNCTION(socket_sendto) #if HAVE_IPV6 struct sockaddr_in6 sin6; #endif - int retval, buf_len, addr_len; - long len, flags, port = 0; + int retval; + zend_str_size_int buf_len, addr_len; + php_int_t len, flags, port = 0; char *buf, *addr; int argc = ZEND_NUM_ARGS(); - if (zend_parse_parameters(argc TSRMLS_CC, "rslls|l", &arg1, &buf, &buf_len, &len, &flags, &addr, &addr_len, &port) == FAILURE) { + if (zend_parse_parameters(argc TSRMLS_CC, "rSiiS|i", &arg1, &buf, &buf_len, &len, &flags, &addr, &addr_len, &port) == FAILURE) { return; } @@ -1843,9 +1847,9 @@ PHP_FUNCTION(socket_get_option) socklen_t optlen; php_socket *php_sock; int other_val; - long level, optname; + php_int_t level, optname; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rll", &arg1, &level, &optname) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rii", &arg1, &level, &optname) == FAILURE) { return; } @@ -1951,14 +1955,14 @@ PHP_FUNCTION(socket_set_option) #else struct timeval tv; #endif - long level, optname; + php_int_t level, optname; void *opt_ptr; HashTable *opt_ht; zval **l_onoff, **l_linger; zval **sec, **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, "riiZ", &arg1, &level, &optname, &arg4) == FAILURE) { return; } @@ -2052,7 +2056,7 @@ PHP_FUNCTION(socket_set_option) case SO_BINDTODEVICE: { if (Z_TYPE_PP(arg4) == IS_STRING) { opt_ptr = Z_STRVAL_PP(arg4); - optlen = Z_STRLEN_PP(arg4); + optlen = Z_STRSIZE_PP(arg4); } else { opt_ptr = ""; optlen = 0; @@ -2089,9 +2093,9 @@ PHP_FUNCTION(socket_create_pair) zval *retval[2], *fds_array_zval; php_socket *php_sock[2]; PHP_SOCKET fds_array[2]; - long domain, type, protocol; + php_int_t domain, type, protocol; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lllz", &domain, &type, &protocol, &fds_array_zval) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "iiiz", &domain, &type, &protocol, &fds_array_zval) == FAILURE) { return; } @@ -2152,10 +2156,10 @@ PHP_FUNCTION(socket_create_pair) PHP_FUNCTION(socket_shutdown) { zval *arg1; - long how_shutdown = 2; + php_int_t how_shutdown = 2; php_socket *php_sock; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &arg1, &how_shutdown) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|i", &arg1, &how_shutdown) == FAILURE) { return; }