Differences From Artifact [5139608894]:
- File
src/OFTCPSocket.m
— part of check-in
[59e52af26d]
at
2011-07-17 01:55:16
on branch 0.5
— Define __NO_EXT_QNX in files using unistd.h or fcntl.h.
Without this, the headers try to declare functions that use __block as
an argument name and thus fail to compile when using -fblocks. (user: js, size: 9753) [annotate] [blame] [check-ins using]
To Artifact [1ca1782d51]:
- File
src/OFTCPSocket.m
— part of check-in
[1688bf89e0]
at
2011-07-17 02:08:27
on branch 0.5
— Use sockaddr_storage instead of sockaddr in OFTCPSocket.
This ensures it's big enough and correctly aligned. (user: js, size: 9802) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
347 348 349 350 351 352 353 | isListening = YES; } - (OFTCPSocket*)accept { OFTCPSocket *newsock; | | > | | 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 | isListening = YES; } - (OFTCPSocket*)accept { OFTCPSocket *newsock; struct sockaddr_storage *addr; socklen_t addrlen; int s; newsock = [[[isa alloc] init] autorelease]; addrlen = sizeof(struct sockaddr); @try { addr = [newsock allocMemoryWithSize: sizeof(struct sockaddr)]; } @catch (id e) { [newsock release]; @throw e; } if ((s = accept(sock, (struct sockaddr*)addr, &addrlen)) == INVALID_SOCKET) { [newsock release]; @throw [OFAcceptFailedException newWithClass: isa socket: self]; } newsock->sock = s; newsock->sockAddr = addr; |
︙ | ︙ | |||
393 394 395 396 397 398 399 | @throw [OFInvalidArgumentException newWithClass: isa selector: _cmd]; #ifdef HAVE_THREADSAFE_GETADDRINFO char *host = [self allocMemoryWithSize: NI_MAXHOST]; @try { | | | | 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | @throw [OFInvalidArgumentException newWithClass: isa selector: _cmd]; #ifdef HAVE_THREADSAFE_GETADDRINFO char *host = [self allocMemoryWithSize: NI_MAXHOST]; @try { if (getnameinfo((struct sockaddr*)sockAddr, sockAddrLen, host, NI_MAXHOST, NULL, 0, NI_NUMERICHOST)) @throw [OFAddressTranslationFailedException newWithClass: isa]; return [OFString stringWithCString: host]; } @finally { [self freeMemory: host]; } |
︙ | ︙ |