Differences From Artifact [c798b7ff61]:
- File src/OFUDPSocket.m — part of check-in [1b1db13483] at 2015-06-28 16:16:38 on branch trunk — Extremely minor API inconsistency fix (user: js, size: 12962) [annotate] [blame] [check-ins using]
To Artifact [182b0b3dfd]:
- File
src/OFUDPSocket.m
— part of check-in
[4cecf82254]
at
2015-10-04 11:11:28
on branch trunk
— Special cases for the Wii's weird network stack
This fixes the tests on Wii. (user: js, size: 13205) [annotate] [blame] [check-ins using] [more...]
| ︙ | ︙ | |||
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
#endif
if (address1->address.ss_family != address2->address.ss_family)
return false;
switch (address1->address.ss_family) {
case AF_INET:
if (address1->length < sizeof(struct sockaddr_in) ||
address2->length < sizeof(struct sockaddr_in))
@throw [OFInvalidArgumentException exception];
sin_1 = (struct sockaddr_in*)&address1->address;
sin_2 = (struct sockaddr_in*)&address2->address;
if (sin_1->sin_port != sin_2->sin_port)
return false;
if (sin_1->sin_addr.s_addr != sin_2->sin_addr.s_addr)
| > > > > > | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 |
#endif
if (address1->address.ss_family != address2->address.ss_family)
return false;
switch (address1->address.ss_family) {
case AF_INET:
#ifndef __wii__
if (address1->length < sizeof(struct sockaddr_in) ||
address2->length < sizeof(struct sockaddr_in))
@throw [OFInvalidArgumentException exception];
#else
if (address1->length < 8 || address2->length < 8)
@throw [OFInvalidArgumentException exception];
#endif
sin_1 = (struct sockaddr_in*)&address1->address;
sin_2 = (struct sockaddr_in*)&address2->address;
if (sin_1->sin_port != sin_2->sin_port)
return false;
if (sin_1->sin_addr.s_addr != sin_2->sin_addr.s_addr)
|
| ︙ | ︙ | |||
238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 |
size_t i;
#endif
hash += address->address.ss_family;
switch (address->address.ss_family) {
case AF_INET:
if (address->length < sizeof(struct sockaddr_in))
@throw [OFInvalidArgumentException exception];
sin = (struct sockaddr_in*)&address->address;
hash += (sin->sin_port << 1);
hash ^= sin->sin_addr.s_addr;
break;
| > > > > > | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 |
size_t i;
#endif
hash += address->address.ss_family;
switch (address->address.ss_family) {
case AF_INET:
#ifndef __wii__
if (address->length < sizeof(struct sockaddr_in))
@throw [OFInvalidArgumentException exception];
#else
if (address->length < 8)
@throw [OFInvalidArgumentException exception];
#endif
sin = (struct sockaddr_in*)&address->address;
hash += (sin->sin_port << 1);
hash ^= sin->sin_addr.s_addr;
break;
|
| ︙ | ︙ | |||
521 522 523 524 525 526 527 | length: length block: block]; } #endif - (void)sendBuffer: (const void*)buffer length: (size_t)length | | | 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 |
length: length
block: block];
}
#endif
- (void)sendBuffer: (const void*)buffer
length: (size_t)length
receiver: (const of_udp_socket_address_t*)receiver
{
if (_socket == INVALID_SOCKET)
@throw [OFNotOpenException exceptionWithObject: self];
#ifndef _WIN32
if (sendto(_socket, buffer, length, 0,
(struct sockaddr*)&receiver->address, receiver->length) < length)
|
| ︙ | ︙ |