Skip to content

Commit 2680461

Browse files
committed
Merge branch 'master' of github.com:robbiehanson/CocoaAsyncSocket
2 parents 7f7d873 + 2ab6d3b commit 2680461

File tree

5 files changed

+17
-15
lines changed

5 files changed

+17
-15
lines changed

GCD/GCDAsyncSocket.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ typedef enum GCDAsyncSocketError GCDAsyncSocketError;
271271

272272
/**
273273
* Connects to the given address, specified as a sockaddr structure wrapped in a NSData object.
274-
* For example, a NSData object returned from NSNetservice's addresses method.
274+
* For example, a NSData object returned from NSNetService's addresses method.
275275
*
276276
* If you have an existing struct sockaddr you can convert it to a NSData object like so:
277277
* struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];
@@ -291,7 +291,7 @@ typedef enum GCDAsyncSocketError GCDAsyncSocketError;
291291
* Connects to the given address, using the specified interface and timeout.
292292
*
293293
* The address is specified as a sockaddr structure wrapped in a NSData object.
294-
* For example, a NSData object returned from NSNetservice's addresses method.
294+
* For example, a NSData object returned from NSNetService's addresses method.
295295
*
296296
* If you have an existing struct sockaddr you can convert it to a NSData object like so:
297297
* struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];

GCD/GCDAsyncSocket.m

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6888,16 +6888,17 @@ + (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSDat
68886888
{
68896889
if ([address length] >= sizeof(struct sockaddr))
68906890
{
6891-
const struct sockaddr *sockaddrX = (const struct sockaddr *)[address bytes];
6891+
const struct sockaddr *sockaddrX = [address bytes];
68926892

68936893
if (sockaddrX->sa_family == AF_INET)
68946894
{
68956895
if ([address length] >= sizeof(struct sockaddr_in))
68966896
{
6897-
const struct sockaddr_in *sockaddr4 = (const struct sockaddr_in *)sockaddrX;
6897+
struct sockaddr_in sockaddr4;
6898+
memcpy(&sockaddr4, sockaddrX, sizeof(sockaddr4));
68986899

6899-
if (hostPtr) *hostPtr = [self hostFromSockaddr4:sockaddr4];
6900-
if (portPtr) *portPtr = [self portFromSockaddr4:sockaddr4];
6900+
if (hostPtr) *hostPtr = [self hostFromSockaddr4:&sockaddr4];
6901+
if (portPtr) *portPtr = [self portFromSockaddr4:&sockaddr4];
69016902

69026903
return YES;
69036904
}
@@ -6906,10 +6907,11 @@ + (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSDat
69066907
{
69076908
if ([address length] >= sizeof(struct sockaddr_in6))
69086909
{
6909-
const struct sockaddr_in6 *sockaddr6 = (const struct sockaddr_in6 *)sockaddrX;
6910+
struct sockaddr_in6 sockaddr6;
6911+
memcpy(&sockaddr6, sockaddrX, sizeof(sockaddr6));
69106912

6911-
if (hostPtr) *hostPtr = [self hostFromSockaddr6:sockaddr6];
6912-
if (portPtr) *portPtr = [self portFromSockaddr6:sockaddr6];
6913+
if (hostPtr) *hostPtr = [self hostFromSockaddr6:&sockaddr6];
6914+
if (portPtr) *portPtr = [self portFromSockaddr6:&sockaddr6];
69136915

69146916
return YES;
69156917
}

RunLoop/AsyncSocket.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ typedef enum AsyncSocketError AsyncSocketError;
267267

268268
/**
269269
* Connects to the given address, specified as a sockaddr structure wrapped in a NSData object.
270-
* For example, a NSData object returned from NSNetservice's addresses method.
270+
* For example, a NSData object returned from NSNetService's addresses method.
271271
*
272272
* If you have an existing struct sockaddr you can convert it to a NSData object like so:
273273
* struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];

RunLoop/AsyncSocket.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1519,7 +1519,7 @@ - (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr
15191519
* specifically in the onSocketWillConnect: method.
15201520
*
15211521
* Note: The NSData parameter is expected to be a sockaddr structure. For example, an NSData object returned from
1522-
* NSNetservice addresses method.
1522+
* NSNetService addresses method.
15231523
* If you have an existing struct sockaddr you can convert it to an NSData object like so:
15241524
* struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];
15251525
* struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len];
@@ -4291,7 +4291,7 @@ static void MyCFSocketCallback (CFSocketRef sref, CFSocketCallBackType type, CFD
42914291
AsyncSocket *theSocket = [[(AsyncSocket *)pInfo retain] autorelease];
42924292
[theSocket doCFSocketCallback:type forSocket:sref withAddress:(NSData *)address withData:pData];
42934293

4294-
[pool release];
4294+
[pool drain];
42954295
}
42964296

42974297
/**
@@ -4305,7 +4305,7 @@ static void MyCFReadStreamCallback (CFReadStreamRef stream, CFStreamEventType ty
43054305
AsyncSocket *theSocket = [[(AsyncSocket *)pInfo retain] autorelease];
43064306
[theSocket doCFReadStreamCallback:type forStream:stream];
43074307

4308-
[pool release];
4308+
[pool drain];
43094309
}
43104310

43114311
/**
@@ -4319,7 +4319,7 @@ static void MyCFWriteStreamCallback (CFWriteStreamRef stream, CFStreamEventType
43194319
AsyncSocket *theSocket = [[(AsyncSocket *)pInfo retain] autorelease];
43204320
[theSocket doCFWriteStreamCallback:type forStream:stream];
43214321

4322-
[pool release];
4322+
[pool drain];
43234323
}
43244324

43254325
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

RunLoop/AsyncUdpSocket.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2337,7 +2337,7 @@ static void MyCFSocketCallback(CFSocketRef sref, CFSocketCallBackType type, CFDa
23372337
AsyncUdpSocket *theSocket = [[(AsyncUdpSocket *)pInfo retain] autorelease];
23382338
[theSocket doCFSocketCallback:type forSocket:sref withAddress:(NSData *)address withData:pData];
23392339

2340-
[pool release];
2340+
[pool drain];
23412341
}
23422342

23432343
@end

0 commit comments

Comments
 (0)