Index: src/OFConstantString.m ================================================================== --- src/OFConstantString.m +++ src/OFConstantString.m @@ -516,11 +516,11 @@ { [self finishInitialization]; return self.UTF16String; } -- (const of_char16_t *)UTF16StringWithByteOrder: (of_byte_order_t)byteOrder +- (const of_char16_t *)UTF16StringWithByteOrder: (OFByteOrder)byteOrder { [self finishInitialization]; return [self UTF16StringWithByteOrder: byteOrder]; } @@ -534,11 +534,11 @@ { [self finishInitialization]; return self.UTF32String; } -- (const of_char32_t *)UTF32StringWithByteOrder: (of_byte_order_t)byteOrder +- (const of_char32_t *)UTF32StringWithByteOrder: (OFByteOrder)byteOrder { [self finishInitialization]; return [self UTF32StringWithByteOrder: byteOrder]; } Index: src/OFMutableString.m ================================================================== --- src/OFMutableString.m +++ src/OFMutableString.m @@ -94,19 +94,19 @@ return (id)[[OFMutableUTF8String alloc] initWithUTF16String: string length: length]; } - (instancetype)initWithUTF16String: (const of_char16_t *)string - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return (id)[[OFMutableUTF8String alloc] initWithUTF16String: string byteOrder: byteOrder]; } - (instancetype)initWithUTF16String: (const of_char16_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return (id)[[OFMutableUTF8String alloc] initWithUTF16String: string length: length byteOrder: byteOrder]; } @@ -122,19 +122,19 @@ return (id)[[OFMutableUTF8String alloc] initWithUTF32String: string length: length]; } - (instancetype)initWithUTF32String: (const of_char32_t *)string - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return (id)[[OFMutableUTF8String alloc] initWithUTF32String: string byteOrder: byteOrder]; } - (instancetype)initWithUTF32String: (const of_char32_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return (id)[[OFMutableUTF8String alloc] initWithUTF32String: string length: length byteOrder: byteOrder]; } Index: src/OFObject.h ================================================================== --- src/OFObject.h +++ src/OFObject.h @@ -77,14 +77,20 @@ /** * @brief An enum for storing endianess. */ typedef enum { /** Most significant byte first (big endian) */ - OF_BYTE_ORDER_BIG_ENDIAN, + OFByteOrderBigEndian, /** Least significant byte first (little endian) */ - OF_BYTE_ORDER_LITTLE_ENDIAN -} of_byte_order_t; + OFByteOrderLittleEndian, + /** Native byte order of the system */ +#ifdef OF_BIG_ENDIAN + OFByteOrderNative = OFByteOrderBigEndian +#else + OFByteOrderNative = OFByteOrderLittleEndian +#endif +} OFByteOrder; /** * @struct of_range_t OFObject.h ObjFW/OFObject.h * * @brief A range. Index: src/OFString.h ================================================================== --- src/OFString.h +++ src/OFString.h @@ -421,11 +421,11 @@ * @param string The UTF-16 string * @param byteOrder The byte order to assume if there is no byte order mark * @return A new autoreleased OFString */ + (instancetype)stringWithUTF16String: (const of_char16_t *)string - byteOrder: (of_byte_order_t)byteOrder; + byteOrder: (OFByteOrder)byteOrder; /** * @brief Creates a new OFString from a UTF-16 encoded string with the * specified length, assuming the specified byte order if no byte order * mark is found. @@ -435,11 +435,11 @@ * @param byteOrder The byte order to assume if there is no byte order mark * @return A new autoreleased OFString */ + (instancetype)stringWithUTF16String: (const of_char16_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder; + byteOrder: (OFByteOrder)byteOrder; /** * @brief Creates a new OFString from a UTF-32 encoded string. * * @param string The UTF-32 string @@ -465,11 +465,11 @@ * @param string The UTF-32 string * @param byteOrder The byte order to assume if there is no byte order mark * @return A new autoreleased OFString */ + (instancetype)stringWithUTF32String: (const of_char32_t *)string - byteOrder: (of_byte_order_t)byteOrder; + byteOrder: (OFByteOrder)byteOrder; /** * @brief Creates a new OFString from a UTF-32 encoded string with the * specified length, assuming the specified byte order if no byte order * mark is found. @@ -479,11 +479,11 @@ * @param byteOrder The byte order to assume if there is no byte order mark * @return A new autoreleased OFString */ + (instancetype)stringWithUTF32String: (const of_char32_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder; + byteOrder: (OFByteOrder)byteOrder; /** * @brief Creates a new OFString from a format string. * * See printf for the format syntax. As an addition, `%@` is available as @@ -679,11 +679,11 @@ * @param string The UTF-16 string * @param byteOrder The byte order to assume if there is no byte order mark * @return An initialized OFString */ - (instancetype)initWithUTF16String: (const of_char16_t *)string - byteOrder: (of_byte_order_t)byteOrder; + byteOrder: (OFByteOrder)byteOrder; /** * @brief Initializes an already allocated OFString with a UTF-16 string with * the specified length, assuming the specified byte order if no byte * order mark is found. @@ -693,11 +693,11 @@ * @param byteOrder The byte order to assume if there is no byte order mark * @return An initialized OFString */ - (instancetype)initWithUTF16String: (const of_char16_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder; + byteOrder: (OFByteOrder)byteOrder; /** * @brief Initializes an already allocated OFString with a UTF-32 string. * * @param string The UTF-32 string @@ -723,11 +723,11 @@ * @param string The UTF-32 string * @param byteOrder The byte order to assume if there is no byte order mark * @return An initialized OFString */ - (instancetype)initWithUTF32String: (const of_char32_t *)string - byteOrder: (of_byte_order_t)byteOrder; + byteOrder: (OFByteOrder)byteOrder; /** * @brief Initializes an already allocated OFString with a UTF-32 string with * the specified length, assuming the specified byte order if no byte * order mark is found. @@ -737,11 +737,11 @@ * @param byteOrder The byte order to assume if there is no byte order mark * @return An initialized OFString */ - (instancetype)initWithUTF32String: (const of_char32_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder; + byteOrder: (OFByteOrder)byteOrder; /** * @brief Initializes an already allocated OFString with a format string. * * See printf for the format syntax. As an addition, `%@` is available as @@ -1206,11 +1206,11 @@ * copy it. * * @param byteOrder The byte order for the UTF-16 encoding * @return The string in UTF-16 encoding with the specified byte order */ -- (const of_char16_t *)UTF16StringWithByteOrder: (of_byte_order_t)byteOrder +- (const of_char16_t *)UTF16StringWithByteOrder: (OFByteOrder)byteOrder OF_RETURNS_INNER_POINTER; /** * @brief Returns the string in UTF-32 encoding with the specified byte order. * @@ -1219,11 +1219,11 @@ * copy it. * * @param byteOrder The byte order for the UTF-32 encoding * @return The string in UTF-32 encoding with the specified byte order */ -- (const of_char32_t *)UTF32StringWithByteOrder: (of_byte_order_t)byteOrder +- (const of_char32_t *)UTF32StringWithByteOrder: (OFByteOrder)byteOrder OF_RETURNS_INNER_POINTER; /** * @brief Returns the string as OFData with the specified encoding. * Index: src/OFString.m ================================================================== --- src/OFString.m +++ src/OFString.m @@ -492,19 +492,19 @@ return (id)[[OFUTF8String alloc] initWithUTF16String: string length: length]; } - (instancetype)initWithUTF16String: (const of_char16_t *)string - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return (id)[[OFUTF8String alloc] initWithUTF16String: string byteOrder: byteOrder]; } - (instancetype)initWithUTF16String: (const of_char16_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return (id)[[OFUTF8String alloc] initWithUTF16String: string length: length byteOrder: byteOrder]; } @@ -520,19 +520,19 @@ return (id)[[OFUTF8String alloc] initWithUTF32String: string length: length]; } - (instancetype)initWithUTF32String: (const of_char32_t *)string - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return (id)[[OFUTF8String alloc] initWithUTF32String: string byteOrder: byteOrder]; } - (instancetype)initWithUTF32String: (const of_char32_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return (id)[[OFUTF8String alloc] initWithUTF32String: string length: length byteOrder: byteOrder]; } @@ -713,19 +713,19 @@ return [[[self alloc] initWithUTF16String: string length: length] autorelease]; } + (instancetype)stringWithUTF16String: (const of_char16_t *)string - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return [[[self alloc] initWithUTF16String: string byteOrder: byteOrder] autorelease]; } + (instancetype)stringWithUTF16String: (const of_char16_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return [[[self alloc] initWithUTF16String: string length: length byteOrder: byteOrder] autorelease]; } @@ -741,19 +741,19 @@ return [[[self alloc] initWithUTF32String: string length: length] autorelease]; } + (instancetype)stringWithUTF32String: (const of_char32_t *)string - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return [[[self alloc] initWithUTF32String: string byteOrder: byteOrder] autorelease]; } + (instancetype)stringWithUTF32String: (const of_char32_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return [[[self alloc] initWithUTF32String: string length: length byteOrder: byteOrder] autorelease]; } @@ -897,62 +897,62 @@ - (instancetype)initWithUTF16String: (const of_char16_t *)string { return [self initWithUTF16String: string length: of_string_utf16_length(string) - byteOrder: OF_BYTE_ORDER_NATIVE]; + byteOrder: OFByteOrderNative]; } - (instancetype)initWithUTF16String: (const of_char16_t *)string length: (size_t)length { return [self initWithUTF16String: string length: length - byteOrder: OF_BYTE_ORDER_NATIVE]; + byteOrder: OFByteOrderNative]; } - (instancetype)initWithUTF16String: (const of_char16_t *)string - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return [self initWithUTF16String: string length: of_string_utf16_length(string) byteOrder: byteOrder]; } - (instancetype)initWithUTF16String: (const of_char16_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { OF_INVALID_INIT_METHOD } - (instancetype)initWithUTF32String: (const of_char32_t *)string { return [self initWithUTF32String: string length: of_string_utf32_length(string) - byteOrder: OF_BYTE_ORDER_NATIVE]; + byteOrder: OFByteOrderNative]; } - (instancetype)initWithUTF32String: (const of_char32_t *)string length: (size_t)length { return [self initWithUTF32String: string length: length - byteOrder: OF_BYTE_ORDER_NATIVE]; + byteOrder: OFByteOrderNative]; } - (instancetype)initWithUTF32String: (const of_char32_t *)string - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { return [self initWithUTF32String: string length: of_string_utf32_length(string) byteOrder: byteOrder]; } - (instancetype)initWithUTF32String: (const of_char32_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { OF_INVALID_INIT_METHOD } - (instancetype)initWithFormat: (OFConstantString *)format, ... @@ -2541,21 +2541,21 @@ } } - (const of_char16_t *)UTF16String { - return [self UTF16StringWithByteOrder: OF_BYTE_ORDER_NATIVE]; + return [self UTF16StringWithByteOrder: OFByteOrderNative]; } -- (const of_char16_t *)UTF16StringWithByteOrder: (of_byte_order_t)byteOrder +- (const of_char16_t *)UTF16StringWithByteOrder: (OFByteOrder)byteOrder { void *pool = objc_autoreleasePoolPush(); const of_unichar_t *characters = self.characters; size_t length = self.length; of_char16_t *buffer; size_t j; - bool swap = (byteOrder != OF_BYTE_ORDER_NATIVE); + bool swap = (byteOrder != OFByteOrderNative); /* Allocate memory for the worst case */ buffer = of_alloc((length + 1) * 2, sizeof(of_char16_t)); j = 0; @@ -2618,24 +2618,24 @@ return UTF16StringLength; } - (const of_char32_t *)UTF32String { - return [self UTF32StringWithByteOrder: OF_BYTE_ORDER_NATIVE]; + return [self UTF32StringWithByteOrder: OFByteOrderNative]; } -- (const of_char32_t *)UTF32StringWithByteOrder: (of_byte_order_t)byteOrder +- (const of_char32_t *)UTF32StringWithByteOrder: (OFByteOrder)byteOrder { size_t length = self.length; of_char32_t *buffer; buffer = of_alloc(length + 1, sizeof(of_char32_t)); @try { [self getCharacters: buffer inRange: of_range(0, length)]; buffer[length] = 0; - if (byteOrder != OF_BYTE_ORDER_NATIVE) + if (byteOrder != OFByteOrderNative) for (size_t i = 0; i < length; i++) buffer[i] = OF_BSWAP32(buffer[i]); return [[OFData dataWithItemsNoCopy: buffer count: length + 1 Index: src/OFUTF8String.m ================================================================== --- src/OFUTF8String.m +++ src/OFUTF8String.m @@ -505,11 +505,11 @@ return self; } - (instancetype)initWithUTF16String: (const of_char16_t *)string length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { self = [super init]; @try { size_t j; @@ -520,11 +520,11 @@ length--; } else if (length > 0 && *string == 0xFFFE) { swap = true; string++; length--; - } else if (byteOrder != OF_BYTE_ORDER_NATIVE) + } else if (byteOrder != OFByteOrderNative) swap = true; _s = &_storage; _s->cString = of_alloc((length * 4) + 1, 1); @@ -590,11 +590,11 @@ return self; } - (instancetype)initWithUTF32String: (const of_char32_t *)characters length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { self = [super init]; @try { size_t j; @@ -605,11 +605,11 @@ length--; } else if (length > 0 && *characters == 0xFFFE0000) { swap = true; characters++; length--; - } else if (byteOrder != OF_BYTE_ORDER_NATIVE) + } else if (byteOrder != OFByteOrderNative) swap = true; _s = &_storage; _s->cString = of_alloc((length * 4) + 1, 1); @@ -1177,11 +1177,11 @@ count: _s->length itemSize: sizeof(of_unichar_t) freeWhenDone: true] items]; } -- (const of_char32_t *)UTF32StringWithByteOrder: (of_byte_order_t)byteOrder +- (const of_char32_t *)UTF32StringWithByteOrder: (OFByteOrder)byteOrder { of_char32_t *buffer = of_alloc(_s->length + 1, sizeof(of_char32_t)); size_t i = 0, j = 0; while (i < _s->cStringLength) { @@ -1194,11 +1194,11 @@ if (cLen <= 0 || c > 0x10FFFF) { free(buffer); @throw [OFInvalidEncodingException exception]; } - if (byteOrder != OF_BYTE_ORDER_NATIVE) + if (byteOrder != OFByteOrderNative) buffer[j++] = OF_BSWAP32(c); else buffer[j++] = c; i += cLen; Index: src/macros.h ================================================================== --- src/macros.h +++ src/macros.h @@ -100,16 +100,10 @@ # define OF_CONST_FUNC # define OF_NO_RETURN_FUNC # define OF_WEAK_REF(sym) #endif -#ifdef OF_BIG_ENDIAN -# define OF_BYTE_ORDER_NATIVE OF_BYTE_ORDER_BIG_ENDIAN -#else -# define OF_BYTE_ORDER_NATIVE OF_BYTE_ORDER_LITTLE_ENDIAN -#endif - #if __STDC_VERSION__ >= 201112L # define OF_ALIGNOF(type) _Alignof(type) # define OF_ALIGNAS(type) _Alignas(type) #else # define OF_ALIGNOF(type) __alignof__(type) Index: tests/OFStringTests.m ================================================================== --- tests/OFStringTests.m +++ tests/OFStringTests.m @@ -108,11 +108,11 @@ return self; } - (instancetype)initWithUTF16String: (const of_char16_t *)UTF16String length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { self = [super init]; @try { _string = [[OFMutableString alloc] @@ -127,11 +127,11 @@ return self; } - (instancetype)initWithUTF32String: (const of_char32_t *)UTF32String length: (size_t)length - byteOrder: (of_byte_order_t)byteOrder + byteOrder: (OFByteOrder)byteOrder { self = [super init]; @try { _string = [[OFMutableString alloc] @@ -1187,13 +1187,13 @@ TEST(@"-[characters]", (ua = C(@"fööbär🀺").characters) && !memcmp(ua, ucstr + 1, sizeof(ucstr) - 8)) #ifdef OF_BIG_ENDIAN -# define SWAPPED_BYTE_ORDER OF_BYTE_ORDER_LITTLE_ENDIAN +# define SWAPPED_BYTE_ORDER OFByteOrderLittleEndian #else -# define SWAPPED_BYTE_ORDER OF_BYTE_ORDER_BIG_ENDIAN +# define SWAPPED_BYTE_ORDER OFByteOrderBigEndian #endif TEST(@"-[UTF16String]", (u16a = C(@"fööbär🀺").UTF16String) && !memcmp(u16a, utf16str + 1, of_string_utf16_length(utf16str) * 2) && (u16a = [C(@"fööbär🀺") UTF16StringWithByteOrder: SWAPPED_BYTE_ORDER]) &&