@@ -42,11 +42,11 @@ # import "mutex.h" # else # import "tlskey.h" # endif #endif -#include "once.h" +#import "once.h" #ifdef OF_AMIGAOS # include #endif @@ -388,11 +388,11 @@ number = component.unsignedLongLongValue; if (number > UINT8_MAX) @throw [OFInvalidFormatException exception]; - addr = (addr << 8) | (number & 0xFF); + addr = (addr << 8) | ((uint32_t)number & 0xFF); } addrIn->sin_addr.s_addr = OF_BSWAP32_IF_LE(addr); objc_autoreleasePoolPop(pool); @@ -499,15 +499,19 @@ } of_socket_address_t of_socket_address_parse_ip(OFString *IP, uint16_t port) { + of_socket_address_t ret; + @try { - return of_socket_address_parse_ipv6(IP, port); + ret = of_socket_address_parse_ipv6(IP, port); } @catch (OFInvalidFormatException *e) { - return of_socket_address_parse_ipv4(IP, port); + ret = of_socket_address_parse_ipv4(IP, port); } + + return ret; } of_socket_address_t of_socket_address_ipx(const unsigned char node[IPX_NODE_LEN], uint32_t network, uint16_t port)