@@ -154,7 +154,7 @@ static HashTable *socket_get_gc(zend_object *object, zval **table, int *n)
154
154
/* AddressInfo class */
155
155
156
156
typedef struct {
157
- struct addrinfo * addrinfo ;
157
+ struct addrinfo addrinfo ;
158
158
zend_object std ;
159
159
} php_addrinfo ;
160
160
@@ -186,11 +186,10 @@ static void address_info_free_obj(zend_object *object)
186
186
{
187
187
php_addrinfo * address_info = address_info_from_obj (object );
188
188
189
- if (address_info -> addrinfo -> ai_canonname != NULL ) {
190
- efree (address_info -> addrinfo -> ai_canonname );
189
+ if (address_info -> addrinfo . ai_canonname != NULL ) {
190
+ efree (address_info -> addrinfo . ai_canonname );
191
191
}
192
- efree (address_info -> addrinfo -> ai_addr );
193
- efree (address_info -> addrinfo );
192
+ efree (address_info -> addrinfo .ai_addr );
194
193
195
194
zend_object_std_dtor (& address_info -> std );
196
195
}
@@ -2303,14 +2302,13 @@ PHP_FUNCTION(socket_addrinfo_lookup)
2303
2302
object_init_ex (& zaddr , address_info_ce );
2304
2303
res = Z_ADDRESS_INFO_P (& zaddr );
2305
2304
2306
- res -> addrinfo = emalloc (sizeof (struct addrinfo ));
2307
- memcpy (res -> addrinfo , rp , sizeof (struct addrinfo ));
2305
+ memcpy (& res -> addrinfo , rp , sizeof (struct addrinfo ));
2308
2306
2309
- res -> addrinfo -> ai_addr = emalloc (rp -> ai_addrlen );
2310
- memcpy (res -> addrinfo -> ai_addr , rp -> ai_addr , rp -> ai_addrlen );
2307
+ res -> addrinfo . ai_addr = emalloc (rp -> ai_addrlen );
2308
+ memcpy (res -> addrinfo . ai_addr , rp -> ai_addr , rp -> ai_addrlen );
2311
2309
2312
2310
if (rp -> ai_canonname != NULL ) {
2313
- res -> addrinfo -> ai_canonname = estrdup (rp -> ai_canonname );
2311
+ res -> addrinfo . ai_canonname = estrdup (rp -> ai_canonname );
2314
2312
}
2315
2313
2316
2314
add_next_index_zval (return_value , & zaddr );
@@ -2338,8 +2336,8 @@ PHP_FUNCTION(socket_addrinfo_bind)
2338
2336
object_init_ex (return_value , socket_ce );
2339
2337
php_sock = Z_SOCKET_P (return_value );
2340
2338
2341
- php_sock -> bsd_socket = socket (ai -> addrinfo -> ai_family , ai -> addrinfo -> ai_socktype , ai -> addrinfo -> ai_protocol );
2342
- php_sock -> type = ai -> addrinfo -> ai_family ;
2339
+ php_sock -> bsd_socket = socket (ai -> addrinfo . ai_family , ai -> addrinfo . ai_socktype , ai -> addrinfo . ai_protocol );
2340
+ php_sock -> type = ai -> addrinfo . ai_family ;
2343
2341
2344
2342
if (IS_INVALID_SOCKET (php_sock )) {
2345
2343
SOCKETS_G (last_error ) = errno ;
@@ -2365,7 +2363,7 @@ PHP_FUNCTION(socket_addrinfo_bind)
2365
2363
case AF_INET6 :
2366
2364
#endif
2367
2365
{
2368
- retval = bind (php_sock -> bsd_socket , ai -> addrinfo -> ai_addr , ai -> addrinfo -> ai_addrlen );
2366
+ retval = bind (php_sock -> bsd_socket , ai -> addrinfo . ai_addr , ai -> addrinfo . ai_addrlen );
2369
2367
break ;
2370
2368
}
2371
2369
default :
@@ -2401,8 +2399,8 @@ PHP_FUNCTION(socket_addrinfo_connect)
2401
2399
object_init_ex (return_value , socket_ce );
2402
2400
php_sock = Z_SOCKET_P (return_value );
2403
2401
2404
- php_sock -> bsd_socket = socket (ai -> addrinfo -> ai_family , ai -> addrinfo -> ai_socktype , ai -> addrinfo -> ai_protocol );
2405
- php_sock -> type = ai -> addrinfo -> ai_family ;
2402
+ php_sock -> bsd_socket = socket (ai -> addrinfo . ai_family , ai -> addrinfo . ai_socktype , ai -> addrinfo . ai_protocol );
2403
+ php_sock -> type = ai -> addrinfo . ai_family ;
2406
2404
2407
2405
if (IS_INVALID_SOCKET (php_sock )) {
2408
2406
SOCKETS_G (last_error ) = errno ;
@@ -2428,7 +2426,7 @@ PHP_FUNCTION(socket_addrinfo_connect)
2428
2426
case AF_INET6 :
2429
2427
#endif
2430
2428
{
2431
- retval = connect (php_sock -> bsd_socket , ai -> addrinfo -> ai_addr , ai -> addrinfo -> ai_addrlen );
2429
+ retval = connect (php_sock -> bsd_socket , ai -> addrinfo . ai_addr , ai -> addrinfo . ai_addrlen );
2432
2430
break ;
2433
2431
}
2434
2432
default :
@@ -2461,34 +2459,34 @@ PHP_FUNCTION(socket_addrinfo_explain)
2461
2459
2462
2460
array_init (return_value );
2463
2461
2464
- add_assoc_long (return_value , "ai_flags" , ai -> addrinfo -> ai_flags );
2465
- add_assoc_long (return_value , "ai_family" , ai -> addrinfo -> ai_family );
2466
- add_assoc_long (return_value , "ai_socktype" , ai -> addrinfo -> ai_socktype );
2467
- add_assoc_long (return_value , "ai_protocol" , ai -> addrinfo -> ai_protocol );
2468
- if (ai -> addrinfo -> ai_canonname != NULL ) {
2469
- add_assoc_string (return_value , "ai_canonname" , ai -> addrinfo -> ai_canonname );
2462
+ add_assoc_long (return_value , "ai_flags" , ai -> addrinfo . ai_flags );
2463
+ add_assoc_long (return_value , "ai_family" , ai -> addrinfo . ai_family );
2464
+ add_assoc_long (return_value , "ai_socktype" , ai -> addrinfo . ai_socktype );
2465
+ add_assoc_long (return_value , "ai_protocol" , ai -> addrinfo . ai_protocol );
2466
+ if (ai -> addrinfo . ai_canonname != NULL ) {
2467
+ add_assoc_string (return_value , "ai_canonname" , ai -> addrinfo . ai_canonname );
2470
2468
}
2471
2469
2472
2470
array_init (& sockaddr );
2473
- switch (ai -> addrinfo -> ai_family ) {
2471
+ switch (ai -> addrinfo . ai_family ) {
2474
2472
case AF_INET :
2475
2473
{
2476
- struct sockaddr_in * sa = (struct sockaddr_in * ) ai -> addrinfo -> ai_addr ;
2474
+ struct sockaddr_in * sa = (struct sockaddr_in * ) ai -> addrinfo . ai_addr ;
2477
2475
char addr [INET_ADDRSTRLEN ];
2478
2476
2479
2477
add_assoc_long (& sockaddr , "sin_port" , ntohs ((unsigned short ) sa -> sin_port ));
2480
- inet_ntop (ai -> addrinfo -> ai_family , & sa -> sin_addr , addr , sizeof (addr ));
2478
+ inet_ntop (ai -> addrinfo . ai_family , & sa -> sin_addr , addr , sizeof (addr ));
2481
2479
add_assoc_string (& sockaddr , "sin_addr" , addr );
2482
2480
break ;
2483
2481
}
2484
2482
#if HAVE_IPV6
2485
2483
case AF_INET6 :
2486
2484
{
2487
- struct sockaddr_in6 * sa = (struct sockaddr_in6 * ) ai -> addrinfo -> ai_addr ;
2485
+ struct sockaddr_in6 * sa = (struct sockaddr_in6 * ) ai -> addrinfo . ai_addr ;
2488
2486
char addr [INET6_ADDRSTRLEN ];
2489
2487
2490
2488
add_assoc_long (& sockaddr , "sin6_port" , ntohs ((unsigned short ) sa -> sin6_port ));
2491
- inet_ntop (ai -> addrinfo -> ai_family , & sa -> sin6_addr , addr , sizeof (addr ));
2489
+ inet_ntop (ai -> addrinfo . ai_family , & sa -> sin6_addr , addr , sizeof (addr ));
2492
2490
add_assoc_string (& sockaddr , "sin6_addr" , addr );
2493
2491
break ;
2494
2492
}
0 commit comments