Comment: | Add OFAssert()
This uses the same format as OFEnsure(). |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
c86b8f10f0635b7647245c26da4466da |
User & Date: | js on 2022-11-16 01:27:26 |
Other Links: | manifest | tags |
2022-11-16
| ||
23:09 | Add missing #import check-in: 0169988a33 user: js tags: trunk | |
01:31 | Merge trunk into branch "amiga-library" check-in: 3c13b15751 user: js tags: amiga-library | |
01:27 | Add OFAssert() check-in: c86b8f10f0 user: js tags: trunk | |
2022-11-15
| ||
23:04 | Use OFLog() for OFEnsure() check-in: 18caed047e user: js tags: trunk | |
Modified src/OFArray.m from [c89de989b4] to [26b9b812f3].
︙ | ︙ | |||
14 15 16 17 18 19 20 | */ #include "config.h" #include <stdarg.h> #include <stdlib.h> | < < | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | */ #include "config.h" #include <stdarg.h> #include <stdlib.h> #import "OFArray.h" #import "OFArray+Private.h" #import "OFAdjacentArray.h" #import "OFData.h" #import "OFNull.h" #import "OFString.h" #import "OFSubarray.h" |
︙ | ︙ | |||
685 686 687 688 689 690 691 | child = [object messagePackRepresentation]; [data addItems: child.items count: child.count]; objc_autoreleasePoolPop(pool2); } | | | 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 | child = [object messagePackRepresentation]; [data addItems: child.items count: child.count]; objc_autoreleasePoolPop(pool2); } OFAssert(i == count); [data makeImmutable]; objc_autoreleasePoolPop(pool); return data; } |
︙ | ︙ |
Modified src/OFDictionary.m from [9689ae0f89] to [cbf5abac37].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * file. */ #include "config.h" #include <stdlib.h> | < < | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | * file. */ #include "config.h" #include <stdlib.h> #import "OFDictionary.h" #import "OFArray.h" #import "OFCharacterSet.h" #import "OFData.h" #import "OFEnumerator.h" #import "OFMapTableDictionary.h" #import "OFString.h" |
︙ | ︙ | |||
822 823 824 825 826 827 828 | child = object.messagePackRepresentation; [data addItems: child.items count: child.count]; objc_autoreleasePoolPop(pool2); } | | | 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 | child = object.messagePackRepresentation; [data addItems: child.items count: child.count]; objc_autoreleasePoolPop(pool2); } OFAssert(i == count); [data makeImmutable]; objc_autoreleasePoolPop(pool); return data; } |
︙ | ︙ |
Modified src/OFEpollKernelEventObserver.m from [a510ac5746] to [68ed1a2421].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <errno.h> #ifdef HAVE_FCNTL_H # include <fcntl.h> #endif #include "unistd_wrapper.h" |
︙ | ︙ |
Modified src/OFFile.m from [57c941bba1] to [c784d31e2e].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * file. */ #include "config.h" #define _LARGEFILE64_SOURCE | < | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | * file. */ #include "config.h" #define _LARGEFILE64_SOURCE #include <errno.h> #ifdef HAVE_FCNTL_H # include <fcntl.h> #endif #include "unistd_wrapper.h" |
︙ | ︙ |
Modified src/OFInflateStream.m from [28d4702177] to [a61e69ad62].
︙ | ︙ | |||
14 15 16 17 18 19 20 | */ #include "config.h" #include <stdlib.h> #include <string.h> | < < | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | */ #include "config.h" #include <stdlib.h> #include <string.h> #ifndef OF_INFLATE64_STREAM_M # import "OFInflateStream.h" #else # import "OFInflate64Stream.h" # define OFInflateStream OFInflate64Stream #endif #import "OFHuffmanTree.h" |
︙ | ︙ | |||
103 104 105 106 107 108 109 | @implementation OFInflateStream static OF_INLINE bool tryReadBits(OFInflateStream *stream, uint16_t *bits, uint8_t count) { uint16_t ret = stream->_savedBits; | | | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | @implementation OFInflateStream static OF_INLINE bool tryReadBits(OFInflateStream *stream, uint16_t *bits, uint8_t count) { uint16_t ret = stream->_savedBits; OFAssert(stream->_savedBitsLength < count); for (uint_fast8_t i = stream->_savedBitsLength; i < count; i++) { if OF_UNLIKELY (stream->_bitIndex == 8) { if OF_LIKELY (stream->_bufferIndex < stream->_bufferLength) stream->_byte = stream->_buffer[stream->_bufferIndex++]; |
︙ | ︙ |
Modified src/OFKqueueKernelEventObserver.m from [ef6117c8da] to [12f411060e].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <errno.h> #ifdef HAVE_FCNTL_H # include <fcntl.h> #endif #include "unistd_wrapper.h" |
︙ | ︙ | |||
184 185 186 187 188 189 190 | @throw [OFObserveKernelEventsFailedException exceptionWithObserver: self errNo: (int)eventList[i].data]; if (eventList[i].ident == (uintptr_t)_cancelFD[0]) { char buffer; | | | 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | @throw [OFObserveKernelEventsFailedException exceptionWithObserver: self errNo: (int)eventList[i].data]; if (eventList[i].ident == (uintptr_t)_cancelFD[0]) { char buffer; OFAssert(eventList[i].filter == EVFILT_READ); OFEnsure(read(_cancelFD[0], &buffer, 1) == 1); continue; } pool = objc_autoreleasePoolPush(); |
︙ | ︙ | |||
206 207 208 209 210 211 212 | case EVFILT_WRITE: if ([_delegate respondsToSelector: @selector(objectIsReadyForWriting:)]) [_delegate objectIsReadyForWriting: (id)eventList[i].udata]; break; default: | | | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | case EVFILT_WRITE: if ([_delegate respondsToSelector: @selector(objectIsReadyForWriting:)]) [_delegate objectIsReadyForWriting: (id)eventList[i].udata]; break; default: OFAssert(0); } objc_autoreleasePoolPop(pool); } } @end |
Modified src/OFLHADecompressingStream.m from [1c43fdd671] to [c9a31f2d2f].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #import "OFLHADecompressingStream.h" #import "OFKernelEventObserver.h" #import "OFHuffmanTree.h" #import "OFInvalidFormatException.h" #import "OFNotOpenException.h" |
︙ | ︙ | |||
46 47 48 49 50 51 52 | @synthesize bytesConsumed = _bytesConsumed; static OF_INLINE bool tryReadBits(OFLHADecompressingStream *stream, uint16_t *bits, uint8_t count) { uint16_t ret = stream->_savedBits; | | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | @synthesize bytesConsumed = _bytesConsumed; static OF_INLINE bool tryReadBits(OFLHADecompressingStream *stream, uint16_t *bits, uint8_t count) { uint16_t ret = stream->_savedBits; OFAssert(stream->_savedBitsLength < count); for (uint_fast8_t i = stream->_savedBitsLength; i < count; i++) { if OF_UNLIKELY (stream->_bitIndex == 8) { if OF_LIKELY (stream->_bufferIndex < stream->_bufferLength) stream->_byte = stream->_buffer[stream->_bufferIndex++]; |
︙ | ︙ |
Modified src/OFList.m from [18864abbc2] to [f4144af409].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <string.h> | < | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <string.h> #import "OFList.h" #import "OFString.h" #import "OFXMLElement.h" #import "OFArray.h" #import "OFEnumerationMutationException.h" |
︙ | ︙ | |||
252 253 254 255 256 257 258 | for (iter = _firstListItem, iter2 = list.firstListItem; iter != NULL && iter2 != NULL; iter = iter->next, iter2 = iter2->next) if (![iter->object isEqual: iter2->object]) return false; /* One is bigger than the other even though we checked the count */ | | | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | for (iter = _firstListItem, iter2 = list.firstListItem; iter != NULL && iter2 != NULL; iter = iter->next, iter2 = iter2->next) if (![iter->object isEqual: iter2->object]) return false; /* One is bigger than the other even though we checked the count */ OFAssert(iter == NULL && iter2 == NULL); return true; } - (bool)containsObject: (id)object { if (_count == 0) |
︙ | ︙ |
Modified src/OFMapTable.m from [61602c79fe] to [2885d27493].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #define OF_MAP_TABLE_M #include "config.h" #include <stdlib.h> #include <string.h> | < < | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #define OF_MAP_TABLE_M #include "config.h" #include <stdlib.h> #include <string.h> #import "OFMapTable.h" #import "OFMapTable+Private.h" #import "OFEnumerator.h" #import "OFEnumerationMutationException.h" #import "OFInvalidArgumentException.h" #import "OFOutOfRangeException.h" |
︙ | ︙ |
Modified src/OFMapTableDictionary.m from [3e7005d616] to [509fe49186].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #import "OFMapTableDictionary.h" #import "OFArray.h" #import "OFMapTable+Private.h" #import "OFMapTable.h" #import "OFMutableMapTableDictionary.h" #import "OFString.h" #import "OFXMLElement.h" |
︙ | ︙ | |||
342 343 344 345 346 347 348 | OFMapTableEnumerator *enumerator; void **keyPtr; size_t i; i = 0; enumerator = [_mapTable keyEnumerator]; while ((keyPtr = [enumerator nextObject]) != NULL) { | | | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | OFMapTableEnumerator *enumerator; void **keyPtr; size_t i; i = 0; enumerator = [_mapTable keyEnumerator]; while ((keyPtr = [enumerator nextObject]) != NULL) { OFAssert(i < count); keys[i++] = (id)*keyPtr; } objc_autoreleasePoolPop(pool); ret = [OFArray arrayWithObjects: keys count: count]; |
︙ | ︙ | |||
375 376 377 378 379 380 381 | OFMapTableEnumerator *enumerator; void **objectPtr; size_t i; i = 0; enumerator = [_mapTable objectEnumerator]; while ((objectPtr = [enumerator nextObject]) != NULL) { | | | 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 | OFMapTableEnumerator *enumerator; void **objectPtr; size_t i; i = 0; enumerator = [_mapTable objectEnumerator]; while ((objectPtr = [enumerator nextObject]) != NULL) { OFAssert(i < count); objects[i++] = (id)*objectPtr; } objc_autoreleasePoolPop(pool); ret = [OFArray arrayWithObjects: objects count: count]; |
︙ | ︙ |
Modified src/OFMethodSignature.m from [9c702fcecb] to [90c71645ee].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < > | | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <ctype.h> #import "OFMethodSignature.h" #import "OFData.h" #import "OFString.h" #import "OFInvalidArgumentException.h" #import "OFInvalidFormatException.h" #import "OFOutOfRangeException.h" #import "macros.h" static size_t alignmentOfEncoding(const char **type, size_t *length, bool inStruct); static size_t sizeOfEncoding(const char **type, size_t *length); static size_t alignmentOfArray(const char **type, size_t *length) { size_t alignment; OFAssert(*length > 0); (*type)++; (*length)--; while (*length > 0 && OFASCIIIsDigit(**type)) { (*type)++; (*length)--; |
︙ | ︙ | |||
61 62 63 64 65 66 67 | alignmentOfStruct(const char **type, size_t *length) { size_t alignment = 0; #if defined(OF_POWERPC) && defined(OF_MACOS) bool first = true; #endif | | | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | alignmentOfStruct(const char **type, size_t *length) { size_t alignment = 0; #if defined(OF_POWERPC) && defined(OF_MACOS) bool first = true; #endif OFAssert(*length > 0); (*type)++; (*length)--; /* Skip name */ while (*length > 0 && **type != '=') { (*type)++; |
︙ | ︙ | |||
107 108 109 110 111 112 113 | } static size_t alignmentOfUnion(const char **type, size_t *length) { size_t alignment = 0; | | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | } static size_t alignmentOfUnion(const char **type, size_t *length) { size_t alignment = 0; OFAssert(*length > 0); (*type)++; (*length)--; /* Skip name */ while (*length > 0 && **type != '=') { (*type)++; |
︙ | ︙ | |||
288 289 290 291 292 293 294 | static size_t sizeOfArray(const char **type, size_t *length) { size_t count = 0; size_t size; | | | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 | static size_t sizeOfArray(const char **type, size_t *length) { size_t count = 0; size_t size; OFAssert(*length > 0); (*type)++; (*length)--; while (*length > 0 && OFASCIIIsDigit(**type)) { count = count * 10 + **type - '0'; |
︙ | ︙ | |||
328 329 330 331 332 333 334 | const char *typeCopy = *type; size_t lengthCopy = *length; size_t alignment = alignmentOfStruct(&typeCopy, &lengthCopy); #if defined(OF_POWERPC) && defined(OF_MACOS) bool first = true; #endif | | | 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 | const char *typeCopy = *type; size_t lengthCopy = *length; size_t alignment = alignmentOfStruct(&typeCopy, &lengthCopy); #if defined(OF_POWERPC) && defined(OF_MACOS) bool first = true; #endif OFAssert(*length > 0); (*type)++; (*length)--; /* Skip name */ while (*length > 0 && **type != '=') { (*type)++; |
︙ | ︙ | |||
401 402 403 404 405 406 407 | } static size_t sizeOfUnion(const char **type, size_t *length) { size_t size = 0; | | | 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | } static size_t sizeOfUnion(const char **type, size_t *length) { size_t size = 0; OFAssert(*length > 0); (*type)++; (*length)--; /* Skip name */ while (*length > 0 && **type != '=') { (*type)++; |
︙ | ︙ |
Modified src/OFMutableArray.m from [ba1c079bde] to [e0ede1483b].
︙ | ︙ | |||
14 15 16 17 18 19 20 | */ #include "config.h" #include <stdlib.h> #include <string.h> | < < | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | */ #include "config.h" #include <stdlib.h> #include <string.h> #import "OFMutableArray.h" #import "OFMutableAdjacentArray.h" #import "OFEnumerationMutationException.h" #import "OFInvalidArgumentException.h" #import "OFOutOfRangeException.h" |
︙ | ︙ |
Modified src/OFMutableSet.m from [b126234b89] to [1675014936].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * file. */ #include "config.h" #include <stdlib.h> | < < > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | * file. */ #include "config.h" #include <stdlib.h> #import "OFMutableSet.h" #import "OFMutableMapTableSet.h" #import "OFString.h" static struct { Class isa; } placeholder; @interface OFMutableSetPlaceholder: OFMutableSet @end |
︙ | ︙ | |||
170 171 172 173 174 175 176 | cArray = OFAllocMemory(count, sizeof(id)); @try { size_t i; i = 0; for (id object in self) { | | | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | cArray = OFAllocMemory(count, sizeof(id)); @try { size_t i; i = 0; for (id object in self) { OFAssert(i < count); cArray[i++] = object; } for (i = 0; i < count; i++) if (![set containsObject: cArray[i]]) [self removeObject: cArray[i]]; } @finally { |
︙ | ︙ |
Modified src/OFMutableUTF8String.m from [57e4df0b5d] to [5369441523].
︙ | ︙ | |||
14 15 16 17 18 19 20 | */ #include "config.h" #include <stdarg.h> #include <stdlib.h> #include <string.h> | < | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | */ #include "config.h" #include <stdarg.h> #include <stdlib.h> #include <string.h> #import "OFMutableUTF8String.h" #import "OFASPrintF.h" #import "OFString.h" #import "OFUTF8String.h" #import "OFInvalidArgumentException.h" |
︙ | ︙ | |||
75 76 77 78 79 80 81 | char *newCString; bool isStart = true; if (!_s->isUTF8) { uint8_t t; const OFUnichar *const *table; | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | char *newCString; bool isStart = true; if (!_s->isUTF8) { uint8_t t; const OFUnichar *const *table; OFAssert(startTableSize >= 1 && middleTableSize >= 1); _s->hasHash = false; for (i = 0; i < _s->cStringLength; i++) { if (isStart) table = startTable; else |
︙ | ︙ | |||
169 170 171 172 173 174 175 | OFFreeMemory(unicodeString); OFFreeMemory(newCString); @throw [OFInvalidEncodingException exception]; } j += d; } | | | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | OFFreeMemory(unicodeString); OFFreeMemory(newCString); @throw [OFInvalidEncodingException exception]; } j += d; } OFAssert(j == newCStringLength); newCString[j] = 0; OFFreeMemory(unicodeString); OFFreeMemory(_s->cString); _s->hasHash = false; _s->cString = newCString; _s->cStringLength = newCStringLength; |
︙ | ︙ |
Modified src/OFObject.m from [afe0ab07e4] to [eefa1e2165].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #include "config.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include "unistd_wrapper.h" | < < | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include "config.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include "unistd_wrapper.h" #ifdef OF_APPLE_RUNTIME # include <dlfcn.h> #endif #ifdef HAVE_GETRANDOM # include <sys/random.h> #endif |
︙ | ︙ | |||
1166 1167 1168 1169 1170 1171 1172 | #endif return self; } - (unsigned int)retainCount { | | | 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 | #endif return self; } - (unsigned int)retainCount { OFAssert(PRE_IVARS->retainCount >= 0); return PRE_IVARS->retainCount; } - (void)release { #if defined(OF_HAVE_ATOMIC_OPS) OFReleaseMemoryBarrier(); |
︙ | ︙ |
Modified src/OFPollKernelEventObserver.m from [e4119778c6] to [2e609d444b].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * file. */ #define __NO_EXT_QNX #include "config.h" | < | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | * file. */ #define __NO_EXT_QNX #include "config.h" #include <errno.h> #ifdef HAVE_POLL_H # include <poll.h> #endif #import "OFPollKernelEventObserver.h" |
︙ | ︙ | |||
188 189 190 191 192 193 194 | if (events < 0) @throw [OFObserveKernelEventsFailedException exceptionWithObserver: self errNo: errno]; for (size_t i = 0; i < nFDs; i++) { | | | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | if (events < 0) @throw [OFObserveKernelEventsFailedException exceptionWithObserver: self errNo: errno]; for (size_t i = 0; i < nFDs; i++) { OFAssert(FDs[i].fd <= _maxFD); if (FDs[i].revents & POLLIN) { void *pool2; if (FDs[i].fd == _cancelFD[0]) { char buffer; |
︙ | ︙ |
Modified src/OFRunLoop.m from [ccade11e78] to [1ed3a4a609].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <errno.h> #import "OFRunLoop.h" #import "OFRunLoop+Private.h" #import "OFArray.h" #import "OFData.h" #import "OFDictionary.h" |
︙ | ︙ | |||
270 271 272 273 274 275 276 | /* * Retain the queue so that it doesn't disappear from us because the * handler called -[cancelAsyncRequests]. */ OFList OF_GENERIC(OF_KINDOF(OFRunLoopReadQueueItem *)) *queue = [[_readQueues objectForKey: object] retain]; | | | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | /* * Retain the queue so that it doesn't disappear from us because the * handler called -[cancelAsyncRequests]. */ OFList OF_GENERIC(OF_KINDOF(OFRunLoopReadQueueItem *)) *queue = [[_readQueues objectForKey: object] retain]; OFAssert(queue != nil); @try { if (![queue.firstObject handleObject: object]) { OFListItem listItem = queue.firstListItem; /* * The handler might have called -[cancelAsyncRequests] |
︙ | ︙ | |||
314 315 316 317 318 319 320 | { /* * Retain the queue so that it doesn't disappear from us because the * handler called -[cancelAsyncRequests]. */ OFList *queue = [[_writeQueues objectForKey: object] retain]; | | | 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | { /* * Retain the queue so that it doesn't disappear from us because the * handler called -[cancelAsyncRequests]. */ OFList *queue = [[_writeQueues objectForKey: object] retain]; OFAssert(queue != nil); @try { if (![queue.firstObject handleObject: object]) { OFListItem listItem = queue.firstListItem; /* * The handler might have called -[cancelAsyncRequests] |
︙ | ︙ | |||
1324 1325 1326 1327 1328 1329 1330 | OFRunLoopState *state = stateForMode(runLoop, mode, false); OFList *queue; if (state == nil) return; if ((queue = [state->_writeQueues objectForKey: object]) != nil) { | | | | 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 | OFRunLoopState *state = stateForMode(runLoop, mode, false); OFList *queue; if (state == nil) return; if ((queue = [state->_writeQueues objectForKey: object]) != nil) { OFAssert(queue.count > 0); /* * Clear the queue now, in case this has been called from a * handler, as otherwise, we'd do the cleanups below twice. */ [queue removeAllObjects]; [state->_kernelEventObserver removeObjectForWriting: object]; [state->_writeQueues removeObjectForKey: object]; } if ((queue = [state->_readQueues objectForKey: object]) != nil) { OFAssert(queue.count > 0); /* * Clear the queue now, in case this has been called from a * handler, as otherwise, we'd do the cleanups below twice. */ [queue removeAllObjects]; |
︙ | ︙ |
Modified src/OFSequencedPacketSocket.m from [0b38781929] to [8882acf9d8].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #include "config.h" #ifndef _XOPEN_SOURCE_EXTENDED # define _XOPEN_SOURCE_EXTENDED #endif #define _HPUX_ALT_XOPEN_SOCKET_API | < | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include "config.h" #ifndef _XOPEN_SOURCE_EXTENDED # define _XOPEN_SOURCE_EXTENDED #endif #define _HPUX_ALT_XOPEN_SOCKET_API #include <errno.h> #ifdef HAVE_FCNTL_H # include <fcntl.h> #endif #import "OFSequencedPacketSocket.h" |
︙ | ︙ | |||
358 359 360 361 362 363 364 | # if defined(HAVE_FCNTL) && defined(FD_CLOEXEC) if ((flags = fcntl(client->_socket, F_GETFD, 0)) != -1) fcntl(client->_socket, F_SETFD, flags | FD_CLOEXEC); # endif #endif | | | 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | # if defined(HAVE_FCNTL) && defined(FD_CLOEXEC) if ((flags = fcntl(client->_socket, F_GETFD, 0)) != -1) fcntl(client->_socket, F_SETFD, flags | FD_CLOEXEC); # endif #endif OFAssert(client->_remoteAddress.length <= (socklen_t)sizeof(client->_remoteAddress.sockaddr)); switch (((struct sockaddr *)&client->_remoteAddress.sockaddr) ->sa_family) { case AF_INET: client->_remoteAddress.family = OFSocketAddressFamilyIPv4; break; |
︙ | ︙ |
Modified src/OFStream.m from [e660892e5a] to [5428225ee7].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * file. */ #define __NO_EXT_QNX #include "config.h" | < | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | * file. */ #define __NO_EXT_QNX #include "config.h" #include <errno.h> #include <stdarg.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef HAVE_FCNTL_H |
︙ | ︙ |
Modified src/OFStreamSocket.m from [efe4f02a49] to [21ea0af8b5].
︙ | ︙ | |||
17 18 19 20 21 22 23 | #ifndef _XOPEN_SOURCE_EXTENDED # define _XOPEN_SOURCE_EXTENDED #endif #define __NO_EXT_QNX #define _HPUX_ALT_XOPEN_SOCKET_API | < | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #ifndef _XOPEN_SOURCE_EXTENDED # define _XOPEN_SOURCE_EXTENDED #endif #define __NO_EXT_QNX #define _HPUX_ALT_XOPEN_SOCKET_API #include <errno.h> #include <string.h> #import "OFStreamSocket.h" #import "OFStreamSocket+Private.h" #import "OFRunLoop.h" #import "OFRunLoop+Private.h" |
︙ | ︙ | |||
279 280 281 282 283 284 285 | # if defined(HAVE_FCNTL) && defined(FD_CLOEXEC) if ((flags = fcntl(client->_socket, F_GETFD, 0)) != -1) fcntl(client->_socket, F_SETFD, flags | FD_CLOEXEC); # endif #endif | | | 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | # if defined(HAVE_FCNTL) && defined(FD_CLOEXEC) if ((flags = fcntl(client->_socket, F_GETFD, 0)) != -1) fcntl(client->_socket, F_SETFD, flags | FD_CLOEXEC); # endif #endif OFAssert(client->_remoteAddress.length <= (socklen_t)sizeof(client->_remoteAddress.sockaddr)); switch (((struct sockaddr *)&client->_remoteAddress.sockaddr) ->sa_family) { case AF_INET: client->_remoteAddress.family = OFSocketAddressFamilyIPv4; break; |
︙ | ︙ |
Modified src/OFString+JSONParsing.m from [5489126d7d] to [4b9a43cc0d].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #include "config.h" #include <stdlib.h> #include <string.h> #include <math.h> | < < | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include "config.h" #include <stdlib.h> #include <string.h> #include <math.h> #import "OFString+JSONParsing.h" #import "OFArray.h" #import "OFDictionary.h" #import "OFNumber.h" #import "OFNull.h" #import "OFInvalidJSONException.h" |
︙ | ︙ | |||
649 650 651 652 653 654 655 | { void *pool = objc_autoreleasePoolPush(); const char *pointer = self.UTF8String; const char *stop = pointer + self.UTF8StringLength; id object; size_t line = 1; | < < < < | 647 648 649 650 651 652 653 654 655 656 657 658 659 660 | { void *pool = objc_autoreleasePoolPush(); const char *pointer = self.UTF8String; const char *stop = pointer + self.UTF8StringLength; id object; size_t line = 1; object = nextObject(&pointer, stop, &line, depthLimit); skipWhitespacesAndComments(&pointer, stop, &line); if (pointer < stop || object == nil) @throw [OFInvalidJSONException exceptionWithString: self line: line]; |
︙ | ︙ |
Modified src/OFString+XMLEscaping.m from [417a4985be] to [32ead971e3].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <stdlib.h> #include <string.h> #import "OFString.h" #import "OFOutOfMemoryException.h" |
︙ | ︙ | |||
84 85 86 87 88 89 90 | retLength += appendLen - 1; memcpy(retCString + j, append, appendLen); j += appendLen; } else retCString[j++] = string[i]; } | | | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | retLength += appendLen - 1; memcpy(retCString + j, append, appendLen); j += appendLen; } else retCString[j++] = string[i]; } OFAssert(j == retLength); objc_autoreleasePoolPop(pool); @try { ret = [OFString stringWithUTF8String: retCString length: retLength]; } @finally { OFFreeMemory(retCString); } return ret; } @end |
Modified src/OFTCPSocketSOCKS5Connector.m from [f6cfb53e62] to [53af52e1d6].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <errno.h> #import "OFTCPSocketSOCKS5Connector.h" #import "OFData.h" #import "OFRunLoop.h" #import "OFString.h" |
︙ | ︙ | |||
264 265 266 267 268 269 270 | _SOCKS5State = stateReadAddress; [_socket asyncReadIntoBuffer: _buffer exactLength: addressLength[0] + 2 runLoopMode: runLoopMode]; return false; default: | | | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | _SOCKS5State = stateReadAddress; [_socket asyncReadIntoBuffer: _buffer exactLength: addressLength[0] + 2 runLoopMode: runLoopMode]; return false; default: OFAssert(0); return false; } } - (OFData *)stream: (OFStream *)sock didWriteData: (OFData *)data bytesWritten: (size_t)bytesWritten |
︙ | ︙ | |||
301 302 303 304 305 306 307 | _SOCKS5State = stateReadResponse; [_socket asyncReadIntoBuffer: _buffer exactLength: 4 runLoopMode: runLoopMode]; return nil; default: | | | 300 301 302 303 304 305 306 307 308 309 310 311 | _SOCKS5State = stateReadResponse; [_socket asyncReadIntoBuffer: _buffer exactLength: 4 runLoopMode: runLoopMode]; return nil; default: OFAssert(0); return nil; } } @end |
Modified src/OFTimer.m from [6b846b58a6] to [bfe36ca5fb].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * file. */ #include "config.h" #include <stdlib.h> | < < | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | * file. */ #include "config.h" #include <stdlib.h> #import "OFTimer.h" #import "OFTimer+Private.h" #import "OFDate.h" #import "OFRunLoop.h" #import "OFRunLoop+Private.h" #ifdef OF_HAVE_THREADS # import "OFCondition.h" |
︙ | ︙ | |||
483 484 485 486 487 488 489 | - (void)dealloc { /* * The run loop references the timer, so it should never be deallocated * if it is still in a run loop. */ | | | | 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 | - (void)dealloc { /* * The run loop references the timer, so it should never be deallocated * if it is still in a run loop. */ OFAssert(_inRunLoop == nil); OFAssert(_inRunLoopMode == nil); [_fireDate release]; [_target release]; [_object1 release]; [_object2 release]; [_object3 release]; [_object4 release]; |
︙ | ︙ |
Modified src/OFXMLElement.m from [ada192cadd] to [f2bc65b077].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #include "config.h" #define OF_XML_ELEMENT_M #include <stdlib.h> #include <string.h> | < < | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include "config.h" #define OF_XML_ELEMENT_M #include <stdlib.h> #include <string.h> #import "OFXMLElement.h" #import "OFArray.h" #import "OFData.h" #import "OFDictionary.h" #import "OFStream.h" #import "OFString.h" #import "OFXMLAttribute.h" |
︙ | ︙ | |||
629 630 631 632 633 634 635 | memcpy(cString + i, _name.UTF8String, _name.UTF8StringLength); i += _name.UTF8StringLength; } else cString[i++] = '/'; cString[i++] = '>'; | | | 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 | memcpy(cString + i, _name.UTF8String, _name.UTF8StringLength); i += _name.UTF8StringLength; } else cString[i++] = '/'; cString[i++] = '>'; OFAssert(i == length); objc_autoreleasePoolPop(pool); ret = [OFString stringWithUTF8String: cString length: length]; } @finally { OFFreeMemory(cString); |
︙ | ︙ |
Modified src/macros.h from [8379d699e4] to [07933aec14].
︙ | ︙ | |||
366 367 368 369 370 371 372 373 374 375 376 377 378 379 | if OF_UNLIKELY (!(cond)) { \ OFLog(@"Failed to ensure condition in " \ @__FILE__ ":%d: " @#cond, __LINE__); \ abort(); \ } \ } while (0) #endif #define OF_UNRECOGNIZED_SELECTOR OFMethodNotFound(self, _cmd); #if __has_feature(objc_arc) # define OF_INVALID_INIT_METHOD OFMethodNotFound(self, _cmd); #else # define OF_INVALID_INIT_METHOD \ @try { \ | > > > > > > | 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | if OF_UNLIKELY (!(cond)) { \ OFLog(@"Failed to ensure condition in " \ @__FILE__ ":%d: " @#cond, __LINE__); \ abort(); \ } \ } while (0) #endif #ifndef NDEBUG # define OFAssert(...) OFEnsure(__VA_ARGS__) #else # define OFAssert(...) #endif #define OF_UNRECOGNIZED_SELECTOR OFMethodNotFound(self, _cmd); #if __has_feature(objc_arc) # define OF_INVALID_INIT_METHOD OFMethodNotFound(self, _cmd); #else # define OF_INVALID_INIT_METHOD \ @try { \ |
︙ | ︙ |
Modified src/platform/AmigaOS/OFPlainThread.m from [c57285f4e8] to [b331f7b6f5].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <errno.h> #import "OFPlainThread.h" #import "OFData.h" #import "OFString.h" #import "OFTLSKey.h" |
︙ | ︙ | |||
190 191 192 193 194 195 196 | } @finally { ReleaseSemaphore(&thread->semaphore); } Wait(1ul << thread->joinSigBit); FreeSignal(thread->joinSigBit); | | | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | } @finally { ReleaseSemaphore(&thread->semaphore); } Wait(1ul << thread->joinSigBit); FreeSignal(thread->joinSigBit); OFAssert(thread->done); free(thread); return 0; } int OFPlainThreadDetach(OFPlainThread thread) |
︙ | ︙ |
Modified src/platform/Windows/OFWin32ConsoleStdIOStream.m from [8c3f9ce8af] to [0e3a4cbb4c].
︙ | ︙ | |||
35 36 37 38 39 40 41 | * In order to not do this when redirecting input / output to a file (as the * file would then be read / written in the wrong encoding and break reading / * writing binary), it checks that the handle is indeed a console. */ #include "config.h" | < | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | * In order to not do this when redirecting input / output to a file (as the * file would then be read / written in the wrong encoding and break reading / * writing binary), it checks that the handle is indeed a console. */ #include "config.h" #include <errno.h> #include <io.h> #import "OFWin32ConsoleStdIOStream.h" #import "OFColor.h" #import "OFData.h" #import "OFStdIOStream+Private.h" |
︙ | ︙ | |||
291 292 293 294 295 296 297 | if (_incompleteUTF8SurrogateLen < (size_t)UTF8Len) return 0; UTF8Len = OFUTF8StringDecode( _incompleteUTF8Surrogate, _incompleteUTF8SurrogateLen, &c); if (UTF8Len <= 0 || c > 0x10FFFF) { | | | 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 | if (_incompleteUTF8SurrogateLen < (size_t)UTF8Len) return 0; UTF8Len = OFUTF8StringDecode( _incompleteUTF8Surrogate, _incompleteUTF8SurrogateLen, &c); if (UTF8Len <= 0 || c > 0x10FFFF) { OFAssert(UTF8Len == 0 || UTF8Len < -4); UTF16[0] = 0xFFFD; UTF16Len = 1; } else { if (c > 0xFFFF) { c -= 0x10000; UTF16[0] = 0xD800 | (c >> 10); |
︙ | ︙ |
Modified tests/OFInvocationTests.m from [bb91b5d725] to [3c3f2f66f1].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <string.h> #if defined(HAVE_COMPLEX_H) && !defined(__STDC_NO_COMPLEX__) # include <complex.h> #endif #import "TestsAppDelegate.h" |
︙ | ︙ | |||
55 56 57 58 59 60 61 | memset(&st, '\xFF', sizeof(st)); st.c = 0x55; st.i = 0xAAAAAAAA; TEST(@"+[invocationWithMethodSignature:]", (invocation = [OFInvocation invocationWithMethodSignature: sig])) | < < < < | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | memset(&st, '\xFF', sizeof(st)); st.c = 0x55; st.i = 0xAAAAAAAA; TEST(@"+[invocationWithMethodSignature:]", (invocation = [OFInvocation invocationWithMethodSignature: sig])) TEST(@"-[setReturnValue]", R([invocation setReturnValue: &st])) TEST(@"-[getReturnValue]", R([invocation getReturnValue: &st2]) && memcmp(&st, &st2, sizeof(st)) == 0) memset(&st2, '\0', sizeof(st2)); |
︙ | ︙ |