diff options
-rw-r--r-- | ext/sockets/conversions.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/ext/sockets/conversions.c b/ext/sockets/conversions.c index f2c66758cb..b2221e26ec 100644 --- a/ext/sockets/conversions.c +++ b/ext/sockets/conversions.c @@ -488,34 +488,36 @@ void to_zval_read_int(const char *data, zval *zv, res_context *ctx) ZVAL_LONG(zv, (zend_long)ival); } -static void to_zval_read_unsigned(const char *data, zval *zv, res_context *ctx) +static void to_zval_read_net_uint16(const char *data, zval *zv, res_context *ctx) { - unsigned ival; + uint16_t ival; memcpy(&ival, data, sizeof(ival)); - ZVAL_LONG(zv, (zend_long)ival); + ZVAL_LONG(zv, (zend_long)ntohs(ival)); } -static void to_zval_read_net_uint16(const char *data, zval *zv, res_context *ctx) +static void to_zval_read_sa_family(const char *data, zval *zv, res_context *ctx) { - uint16_t ival; + sa_family_t ival; memcpy(&ival, data, sizeof(ival)); - ZVAL_LONG(zv, (zend_long)ntohs(ival)); + ZVAL_LONG(zv, (zend_long)ival); } -static void to_zval_read_uint32(const char *data, zval *zv, res_context *ctx) +#if HAVE_IPV6 +static void to_zval_read_unsigned(const char *data, zval *zv, res_context *ctx) { - uint32_t ival; + unsigned ival; memcpy(&ival, data, sizeof(ival)); ZVAL_LONG(zv, (zend_long)ival); } -static void to_zval_read_sa_family(const char *data, zval *zv, res_context *ctx) +static void to_zval_read_uint32(const char *data, zval *zv, res_context *ctx) { - sa_family_t ival; + uint32_t ival; memcpy(&ival, data, sizeof(ival)); ZVAL_LONG(zv, (zend_long)ival); } +#endif #ifdef SO_PASSCRED static void to_zval_read_pid_t(const char *data, zval *zv, res_context *ctx) { @@ -1221,6 +1223,7 @@ void to_zval_read_msghdr(const char *msghdr_c, zval *zv, res_context *ctx) to_zval_read_aggregation(msghdr_c, zv, descriptors, ctx); } +#if defined(IPV6_PKTINFO) && HAVE_IPV6 /* CONVERSIONS for if_index */ static void from_zval_write_ifindex(const zval *zv, char *uinteger, ser_context *ctx) { @@ -1277,7 +1280,6 @@ static void from_zval_write_ifindex(const zval *zv, char *uinteger, ser_context } /* CONVERSIONS for struct in6_pktinfo */ -#if defined(IPV6_PKTINFO) && HAVE_IPV6 static const field_descriptor descriptors_in6_pktinfo[] = { {"addr", sizeof("addr"), 1, offsetof(struct in6_pktinfo, ipi6_addr), from_zval_write_sin6_addr, to_zval_read_sin6_addr}, {"ifindex", sizeof("ifindex"), 1, offsetof(struct in6_pktinfo, ipi6_ifindex), from_zval_write_ifindex, to_zval_read_unsigned}, |