Index: src/OFEnumerator.h ================================================================== --- src/OFEnumerator.h +++ src/OFEnumerator.h @@ -96,14 +96,10 @@ */ @interface OFEnumerator OF_GENERIC(ObjectType): OFObject #if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN) # define ObjectType id #endif -{ - OF_RESERVE_IVARS(OFEnumerator, 4) -} - /** * @brief Returns the next object or `nil` if there is none left. * * @return The next object or `nil` if there is none left */ Index: src/OFMapTable.h ================================================================== --- src/OFMapTable.h +++ src/OFMapTable.h @@ -229,10 +229,13 @@ * @class OFMapTableEnumerator OFMapTable.h ObjFW/OFMapTable.h * * @brief A class which provides methods to enumerate through an OFMapTable's * keys or objects. */ +#ifndef OF_MAP_TABLE_M +OF_SUBCLASSING_RESTRICTED +#endif @interface OFMapTableEnumerator: OFObject { OFMapTable *_mapTable; struct OFMapTableBucket *_Nonnull *_Nullable _buckets; uint32_t _capacity; Index: src/OFMapTable.m ================================================================== --- src/OFMapTable.m +++ src/OFMapTable.m @@ -10,10 +10,12 @@ * Alternatively, it may be distributed under the terms of the GNU General * 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. */ + +#define OF_MAP_TABLE_M #include "config.h" #include #include Index: src/OFNotification.h ================================================================== --- src/OFNotification.h +++ src/OFNotification.h @@ -31,16 +31,16 @@ * @class OFNotification OFNotification.h ObjFW/OFNotification.h * * @brief A class to represent a notification for or from * @ref OFNotificationCenter. */ -OF_SUBCLASSING_RESTRICTED @interface OFNotification: OFObject { OFNotificationName _name; id _Nullable _object; OFDictionary *_Nullable _userInfo; + OF_RESERVE_IVARS(OFNotification, 4) } /** * @brief The name of the notification. */ Index: src/OFNotificationCenter.h ================================================================== --- src/OFNotificationCenter.h +++ src/OFNotificationCenter.h @@ -37,17 +37,19 @@ * @class OFNotificationCenter OFNotificationCenter.h \ * ObjFW/OFNotificationCenter.h * * @brief A class to send and register for notifications. */ +#ifndef OF_NOTIFICATION_CENTER_M +OF_SUBCLASSING_RESTRICTED +#endif @interface OFNotificationCenter: OFObject { #ifdef OF_HAVE_THREADS OFMutex *_mutex; #endif OFMutableDictionary *_handles; - OF_RESERVE_IVARS(OFNotificationCenter, 4) } #ifdef OF_HAVE_CLASS_PROPERTIES @property (class, readonly, nonatomic) OFNotificationCenter *defaultCenter; #endif Index: src/OFNotificationCenter.m ================================================================== --- src/OFNotificationCenter.m +++ src/OFNotificationCenter.m @@ -10,10 +10,12 @@ * Alternatively, it may be distributed under the terms of the GNU General * 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. */ + +#define OF_NOTIFICATION_CENTER_M #include "config.h" #import "OFNotificationCenter.h" #import "OFArray.h" Index: src/OFRecursiveMutex.h ================================================================== --- src/OFRecursiveMutex.h +++ src/OFRecursiveMutex.h @@ -29,10 +29,11 @@ @interface OFRecursiveMutex: OFObject { OFPlainRecursiveMutex _rmutex; bool _initialized; OFString *_Nullable _name; + OF_RESERVE_IVARS(OFRecursiveMutex, 4) } /** * @brief Creates a new recursive mutex. * Index: src/OFSPXStreamSocket.h ================================================================== --- src/OFSPXStreamSocket.h +++ src/OFSPXStreamSocket.h @@ -67,12 +67,15 @@ * use @ref OFSPXSocket instead. * * To connect to a server, create a socket and connect it. * To create a server, create a socket, bind it and listen on it. */ -OF_SUBCLASSING_RESTRICTED @interface OFSPXStreamSocket: OFStreamSocket +{ + OF_RESERVE_IVARS(OFSPXStreamSocket, 4) +} + /** * @brief The delegate for asynchronous operations on the socket. * * @note The delegate is retained for as long as asynchronous operations are * still ongoing. Index: src/exceptions/OFAcceptFailedException.h ================================================================== --- src/exceptions/OFAcceptFailedException.h +++ src/exceptions/OFAcceptFailedException.h @@ -29,10 +29,11 @@ */ @interface OFAcceptFailedException: OFException { id _socket; int _errNo; + OF_RESERVE_IVARS(OFAcceptFailedException, 4) } /** * @brief The socket which could not accept a connection. */ Index: src/exceptions/OFAllocFailedException.h ================================================================== --- src/exceptions/OFAllocFailedException.h +++ src/exceptions/OFAllocFailedException.h @@ -32,10 +32,11 @@ * This is the only exception which is not an OFException as it's special. It * does not know for which class allocation failed and it should not be handled * like other exceptions, as the exception handling code is not allowed to * allocate *any* memory. */ +OF_SUBCLASSING_RESTRICTED @interface OFAllocFailedException: OFObject + (instancetype)exception OF_UNAVAILABLE; - (instancetype)init OF_UNAVAILABLE; /** Index: src/exceptions/OFAlreadyConnectedException.h ================================================================== --- src/exceptions/OFAlreadyConnectedException.h +++ src/exceptions/OFAlreadyConnectedException.h @@ -29,10 +29,11 @@ * connected or bound socket. */ @interface OFAlreadyConnectedException: OFException { id _socket; + OF_RESERVE_IVARS(OFAlreadyConnectedException, 4) } /** * @brief The socket which is already connected. */ Index: src/exceptions/OFBindFailedException.h ================================================================== --- src/exceptions/OFBindFailedException.h +++ src/exceptions/OFBindFailedException.h @@ -38,10 +38,11 @@ uint8_t _packetType; /* UNIX socket */ OFString *_Nullable _path; id _socket; int _errNo; + OF_RESERVE_IVARS(OFBindFailedException, 4) } /** * @brief The host on which binding failed. */ Index: src/exceptions/OFChangeCurrentDirectoryPathFailedException.h ================================================================== --- src/exceptions/OFChangeCurrentDirectoryPathFailedException.h +++ src/exceptions/OFChangeCurrentDirectoryPathFailedException.h @@ -27,10 +27,11 @@ */ @interface OFChangeCurrentDirectoryPathFailedException: OFException { OFString *_path; int _errNo; + OF_RESERVE_IVARS(OFChangeCurrentDirectoryPathFailedException, 4) } /** * @brief The path of the directory to which the current path could not be * changed. Index: src/exceptions/OFChecksumMismatchException.h ================================================================== --- src/exceptions/OFChecksumMismatchException.h +++ src/exceptions/OFChecksumMismatchException.h @@ -24,10 +24,11 @@ * @brief An exception indicating that a checksum did not match. */ @interface OFChecksumMismatchException: OFException { OFString *_actualChecksum, *_expectedChecksum; + OF_RESERVE_IVARS(OFChecksumMismatchException, 4) } /** * @brief The actual checksum calculated. */ Index: src/exceptions/OFConditionBroadcastFailedException.h ================================================================== --- src/exceptions/OFConditionBroadcastFailedException.h +++ src/exceptions/OFConditionBroadcastFailedException.h @@ -32,10 +32,11 @@ */ @interface OFConditionBroadcastFailedException: OFException { OFCondition *_condition; int _errNo; + OF_RESERVE_IVARS(OFConditionBroadcastFailedException, 4) } /** * @brief The condition which could not be broadcasted. */ Index: src/exceptions/OFConditionSignalFailedException.h ================================================================== --- src/exceptions/OFConditionSignalFailedException.h +++ src/exceptions/OFConditionSignalFailedException.h @@ -32,10 +32,11 @@ */ @interface OFConditionSignalFailedException: OFException { OFCondition *_condition; int _errNo; + OF_RESERVE_IVARS(OFConditionSignalFailedException, 4) } /** * @brief The condition which could not be signaled. */ Index: src/exceptions/OFConditionStillWaitingException.h ================================================================== --- src/exceptions/OFConditionStillWaitingException.h +++ src/exceptions/OFConditionStillWaitingException.h @@ -32,10 +32,11 @@ * condition. */ @interface OFConditionStillWaitingException: OFException { OFCondition *_condition; + OF_RESERVE_IVARS(OFConditionStillWaitingException, 4) } /** * @brief The condition for which is still being waited. */ Index: src/exceptions/OFConditionWaitFailedException.h ================================================================== --- src/exceptions/OFConditionWaitFailedException.h +++ src/exceptions/OFConditionWaitFailedException.h @@ -32,10 +32,11 @@ */ @interface OFConditionWaitFailedException: OFException { OFCondition *_condition; int _errNo; + OF_RESERVE_IVARS(OFConditionWaitFailedException, 4) } /** * @brief The condition for which could not be waited. */ Index: src/exceptions/OFConnectionFailedException.h ================================================================== --- src/exceptions/OFConnectionFailedException.h +++ src/exceptions/OFConnectionFailedException.h @@ -36,10 +36,11 @@ OFString *_Nullable _path; uint32_t _network; unsigned char _node[IPX_NODE_LEN]; id _socket; int _errNo; + OF_RESERVE_IVARS(OFConnectionFailedException, 4) } /** * @brief The host to which the connection failed. */ Index: src/exceptions/OFCopyItemFailedException.h ================================================================== --- src/exceptions/OFCopyItemFailedException.h +++ src/exceptions/OFCopyItemFailedException.h @@ -27,10 +27,11 @@ */ @interface OFCopyItemFailedException: OFException { OFURL *_sourceURL, *_destinationURL; int _errNo; + OF_RESERVE_IVARS(OFCopyItemFailedException, 4) } /** * @brief The URL of the source item. */ Index: src/exceptions/OFCreateDirectoryFailedException.h ================================================================== --- src/exceptions/OFCreateDirectoryFailedException.h +++ src/exceptions/OFCreateDirectoryFailedException.h @@ -28,10 +28,11 @@ */ @interface OFCreateDirectoryFailedException: OFException { OFURL *_URL; int _errNo; + OF_RESERVE_IVARS(OFCreateDirectoryFailedException, 4) } /** * @brief The URL of the directory which couldn't be created. */ Index: src/exceptions/OFCreateSymbolicLinkFailedException.h ================================================================== --- src/exceptions/OFCreateSymbolicLinkFailedException.h +++ src/exceptions/OFCreateSymbolicLinkFailedException.h @@ -29,10 +29,11 @@ @interface OFCreateSymbolicLinkFailedException: OFException { OFURL *_URL; OFString *_target; int _errNo; + OF_RESERVE_IVARS(OFCreateSymbolicLinkFailedException, 4) } /** * @brief The URL at which the symlink should have been created. */ Index: src/exceptions/OFCreateWindowsRegistryKeyFailedException.h ================================================================== --- src/exceptions/OFCreateWindowsRegistryKeyFailedException.h +++ src/exceptions/OFCreateWindowsRegistryKeyFailedException.h @@ -33,10 +33,11 @@ OFString *_path; DWORD _options; REGSAM _accessRights; LPSECURITY_ATTRIBUTES _Nullable _securityAttributes; LSTATUS _status; + OF_RESERVE_IVARS(OFCreateWindowsRegistryKeyFailedException, 4) } /** * @brief The registry key on which creating the subkey failed. */ Index: src/exceptions/OFDNSQueryFailedException.h ================================================================== --- src/exceptions/OFDNSQueryFailedException.h +++ src/exceptions/OFDNSQueryFailedException.h @@ -28,10 +28,11 @@ */ @interface OFDNSQueryFailedException: OFException { OFDNSQuery *_query; OFDNSResolverErrorCode _errorCode; + OF_RESERVE_IVARS(OFDNSQueryFailedException, 4) } /** * @brief The query which could not be performed. */ Index: src/exceptions/OFDeleteWindowsRegistryKeyFailedException.h ================================================================== --- src/exceptions/OFDeleteWindowsRegistryKeyFailedException.h +++ src/exceptions/OFDeleteWindowsRegistryKeyFailedException.h @@ -30,10 +30,11 @@ @interface OFDeleteWindowsRegistryKeyFailedException: OFException { OFWindowsRegistryKey *_registryKey; OFString *_subkeyPath; LSTATUS _status; + OF_RESERVE_IVARS(OFDeleteWindowsRegistryKeyFailedException, 4) } /** * @brief The registry key on which deleting the subkey failed. */ Index: src/exceptions/OFDeleteWindowsRegistryValueFailedException.h ================================================================== --- src/exceptions/OFDeleteWindowsRegistryValueFailedException.h +++ src/exceptions/OFDeleteWindowsRegistryValueFailedException.h @@ -30,10 +30,11 @@ @interface OFDeleteWindowsRegistryValueFailedException: OFException { OFWindowsRegistryKey *_registryKey; OFString *_Nullable _valueName; LSTATUS _status; + OF_RESERVE_IVARS(OFDeleteWindowsRegistryValueFailedException, 4) } /** * @brief The registry key on which deleting the value failed. */ Index: src/exceptions/OFEnumerationMutationException.h ================================================================== --- src/exceptions/OFEnumerationMutationException.h +++ src/exceptions/OFEnumerationMutationException.h @@ -26,10 +26,11 @@ * enumeration. */ @interface OFEnumerationMutationException: OFException { id _object; + OF_RESERVE_IVARS(OFEnumerationMutationException, 4) } /** * @brief The object which was mutated during enumeration. */ Index: src/exceptions/OFException.h ================================================================== --- src/exceptions/OFException.h +++ src/exceptions/OFException.h @@ -148,10 +148,11 @@ * the OFAllocFailedException. */ @interface OFException: OFObject { void *_backtrace[OFBacktraceSize]; + OF_RESERVE_IVARS(OFException, 4) } /** * @brief Creates a new, autoreleased exception. * Index: src/exceptions/OFGetCurrentDirectoryPathFailedException.h ================================================================== --- src/exceptions/OFGetCurrentDirectoryPathFailedException.h +++ src/exceptions/OFGetCurrentDirectoryPathFailedException.h @@ -26,10 +26,11 @@ * failed. */ @interface OFGetCurrentDirectoryPathFailedException: OFException { int _errNo; + OF_RESERVE_IVARS(OFGetCurrentDirectoryPathFailedException, 4) } /** * @brief The errno of the error that occurred. */ Index: src/exceptions/OFGetOptionFailedException.h ================================================================== --- src/exceptions/OFGetOptionFailedException.h +++ src/exceptions/OFGetOptionFailedException.h @@ -25,10 +25,11 @@ */ @interface OFGetOptionFailedException: OFException { id _object; int _errNo; + OF_RESERVE_IVARS(OFGetOptionFailedException, 4) } /** * @brief The object for which the option could not be retrieved. */ Index: src/exceptions/OFGetWindowsRegistryValueFailedException.h ================================================================== --- src/exceptions/OFGetWindowsRegistryValueFailedException.h +++ src/exceptions/OFGetWindowsRegistryValueFailedException.h @@ -30,10 +30,11 @@ @interface OFGetWindowsRegistryValueFailedException: OFException { OFWindowsRegistryKey *_registryKey; OFString *_Nullable _valueName; LSTATUS _status; + OF_RESERVE_IVARS(OFGetWindowsRegistryValueFailedException, 4) } /** * @brief The registry key on which getting the value at the key path failed. */ Index: src/exceptions/OFHTTPRequestFailedException.h ================================================================== --- src/exceptions/OFHTTPRequestFailedException.h +++ src/exceptions/OFHTTPRequestFailedException.h @@ -33,10 +33,11 @@ */ @interface OFHTTPRequestFailedException: OFException { OFHTTPRequest *_request; OFHTTPResponse *_response; + OF_RESERVE_IVARS(OFHTTPRequestFailedException, 4) } /** * @brief The HTTP request which failed. */ Index: src/exceptions/OFHashAlreadyCalculatedException.h ================================================================== --- src/exceptions/OFHashAlreadyCalculatedException.h +++ src/exceptions/OFHashAlreadyCalculatedException.h @@ -25,10 +25,11 @@ * @brief An exception indicating that the hash has already been calculated. */ @interface OFHashAlreadyCalculatedException: OFException { id _object; + OF_RESERVE_IVARS(OFHashAlreadyCalculatedException, 4) } /** * @brief The hash which has already been calculated. */ Index: src/exceptions/OFHashNotCalculatedException.h ================================================================== --- src/exceptions/OFHashNotCalculatedException.h +++ src/exceptions/OFHashNotCalculatedException.h @@ -24,10 +24,11 @@ * @brief An exception indicating that the hash has not been calculated yet. */ @interface OFHashNotCalculatedException: OFException { id _object; + OF_RESERVE_IVARS(OFHashNotCalculatedException, 4) } /** * @brief The hash which has not been calculated yet. */ Index: src/exceptions/OFInitializationFailedException.h ================================================================== --- src/exceptions/OFInitializationFailedException.h +++ src/exceptions/OFInitializationFailedException.h @@ -25,10 +25,11 @@ * @brief An exception indicating that initializing something failed. */ @interface OFInitializationFailedException: OFException { Class _inClass; + OF_RESERVE_IVARS(OFInitializationFailedException, 4) } /** * @brief The class for which initialization failed. */ Index: src/exceptions/OFInvalidArgumentException.h ================================================================== --- src/exceptions/OFInvalidArgumentException.h +++ src/exceptions/OFInvalidArgumentException.h @@ -22,8 +22,11 @@ * OFInvalidArgumentException.h ObjFW/OFInvalidArgumentException.h * * @brief An exception indicating that the argument is invalid for this method. */ @interface OFInvalidArgumentException: OFException +{ + OF_RESERVE_IVARS(OFInvalidArgumentException, 4) +} @end OF_ASSUME_NONNULL_END Index: src/exceptions/OFInvalidEncodingException.h ================================================================== --- src/exceptions/OFInvalidEncodingException.h +++ src/exceptions/OFInvalidEncodingException.h @@ -22,8 +22,11 @@ * OFInvalidEncodingException.h ObjFW/OFInvalidEncodingException.h * * @brief An exception indicating that the encoding is invalid for this object. */ @interface OFInvalidEncodingException: OFException +{ + OF_RESERVE_IVARS(OFInvalidEncodingException, 4) +} @end OF_ASSUME_NONNULL_END Index: src/exceptions/OFInvalidFormatException.h ================================================================== --- src/exceptions/OFInvalidFormatException.h +++ src/exceptions/OFInvalidFormatException.h @@ -22,8 +22,11 @@ * OFInvalidFormatException.h ObjFW/OFInvalidFormatException.h * * @brief An exception indicating that the format is invalid. */ @interface OFInvalidFormatException: OFException +{ + OF_RESERVE_IVARS(OFInvalidFormatException, 4) +} @end OF_ASSUME_NONNULL_END Index: src/exceptions/OFInvalidJSONException.h ================================================================== --- src/exceptions/OFInvalidJSONException.h +++ src/exceptions/OFInvalidJSONException.h @@ -25,10 +25,11 @@ */ @interface OFInvalidJSONException: OFException { OFString *_string; size_t _line; + OF_RESERVE_IVARS(OFInvalidJSONException, 4) } /** * @brief The string containing the invalid JSON representation. */ Index: src/exceptions/OFInvalidServerReplyException.h ================================================================== --- src/exceptions/OFInvalidServerReplyException.h +++ src/exceptions/OFInvalidServerReplyException.h @@ -22,8 +22,11 @@ * OFInvalidServerReplyException.h ObjFW/OFInvalidServerReplyException.h * * @brief An exception indicating that the server sent an invalid reply. */ @interface OFInvalidServerReplyException: OFException +{ + OF_RESERVE_IVARS(OFInvalidServerReplyException, 4) +} @end OF_ASSUME_NONNULL_END Index: src/exceptions/OFLinkFailedException.h ================================================================== --- src/exceptions/OFLinkFailedException.h +++ src/exceptions/OFLinkFailedException.h @@ -27,10 +27,11 @@ */ @interface OFLinkFailedException: OFException { OFURL *_sourceURL, *_destinationURL; int _errNo; + OF_RESERVE_IVARS(OFLinkFailedException, 4) } /** * @brief A URL with the source for the link. */ Index: src/exceptions/OFListenFailedException.h ================================================================== --- src/exceptions/OFListenFailedException.h +++ src/exceptions/OFListenFailedException.h @@ -29,10 +29,11 @@ */ @interface OFListenFailedException: OFException { id _socket; int _backlog, _errNo; + OF_RESERVE_IVARS(OFListenFailedException, 4) } /** * @brief The socket which failed to listen. */ Index: src/exceptions/OFLoadPluginFailedException.h ================================================================== --- src/exceptions/OFLoadPluginFailedException.h +++ src/exceptions/OFLoadPluginFailedException.h @@ -24,10 +24,11 @@ * @brief An exception indicating a plugin could not be loaded. */ @interface OFLoadPluginFailedException: OFException { OFString *_path, *_Nullable _error; + OF_RESERVE_IVARS(OFLoadPluginFailedException, 4) } /** * @brief The path of the plugin which could not be loaded */ Index: src/exceptions/OFLockFailedException.h ================================================================== --- src/exceptions/OFLockFailedException.h +++ src/exceptions/OFLockFailedException.h @@ -26,10 +26,11 @@ */ @interface OFLockFailedException: OFException { id _Nullable _lock; int _errNo; + OF_RESERVE_IVARS(OFLockFailedException, 4) } /** * @brief The lock which could not be locked. */ Index: src/exceptions/OFMalformedXMLException.h ================================================================== --- src/exceptions/OFMalformedXMLException.h +++ src/exceptions/OFMalformedXMLException.h @@ -26,10 +26,11 @@ * @brief An exception indicating that a parser encountered malformed XML. */ @interface OFMalformedXMLException: OFException { OFXMLParser *_parser; + OF_RESERVE_IVARS(OFMalformedXMLException, 4) } /** * @brief The parser which encountered malformed XML. */ Index: src/exceptions/OFMoveItemFailedException.h ================================================================== --- src/exceptions/OFMoveItemFailedException.h +++ src/exceptions/OFMoveItemFailedException.h @@ -27,10 +27,11 @@ */ @interface OFMoveItemFailedException: OFException { OFURL *_sourceURL, *_destinationURL; int _errNo; + OF_RESERVE_IVARS(OFMoveItemFailedException, 4) } /** * @brief The original URL. */ Index: src/exceptions/OFNotImplementedException.h ================================================================== --- src/exceptions/OFNotImplementedException.h +++ src/exceptions/OFNotImplementedException.h @@ -26,10 +26,11 @@ */ @interface OFNotImplementedException: OFException { SEL _selector; id _Nullable _object; + OF_RESERVE_IVARS(OFNotImplementedException, 4) } /** * @brief The selector which is not or not fully implemented. */ Index: src/exceptions/OFNotOpenException.h ================================================================== --- src/exceptions/OFNotOpenException.h +++ src/exceptions/OFNotOpenException.h @@ -23,10 +23,11 @@ * @brief An exception indicating an object is not open, connected or bound. */ @interface OFNotOpenException: OFException { id _object; + OF_RESERVE_IVARS(OFNotOpenException, 4) } /** * @brief The object which is not open, connected or bound. */ Index: src/exceptions/OFObserveFailedException.h ================================================================== --- src/exceptions/OFObserveFailedException.h +++ src/exceptions/OFObserveFailedException.h @@ -27,10 +27,11 @@ */ @interface OFObserveFailedException: OFException { OFKernelEventObserver *_observer; int _errNo; + OF_RESERVE_IVARS(OFObserveFailedException, 4) } /** * @brief The observer which failed to observe. */ Index: src/exceptions/OFOpenItemFailedException.h ================================================================== --- src/exceptions/OFOpenItemFailedException.h +++ src/exceptions/OFOpenItemFailedException.h @@ -29,10 +29,11 @@ { OFURL *_Nullable _URL; OFString *_Nullable _path; OFString *_mode; int _errNo; + OF_RESERVE_IVARS(OFOpenItemFailedException, 4) } /** * @brief The URL of the item which could not be opened. */ Index: src/exceptions/OFOpenWindowsRegistryKeyFailedException.h ================================================================== --- src/exceptions/OFOpenWindowsRegistryKeyFailedException.h +++ src/exceptions/OFOpenWindowsRegistryKeyFailedException.h @@ -33,10 +33,11 @@ OFString *_path; REGSAM _accessRights; LPSECURITY_ATTRIBUTES _Nullable _securityAttributes; DWORD _options; LSTATUS _status; + OF_RESERVE_IVARS(OFOpenWindowsRegistryKeyFailedException, 4) } /** * @brief The registry key on which opening the subkey failed. */ Index: src/exceptions/OFOutOfMemoryException.h ================================================================== --- src/exceptions/OFOutOfMemoryException.h +++ src/exceptions/OFOutOfMemoryException.h @@ -24,10 +24,11 @@ * @brief An exception indicating there is not enough memory available. */ @interface OFOutOfMemoryException: OFException { size_t _requestedSize; + OF_RESERVE_IVARS(OFOutOfMemoryException, 4) } /** * @brief The size of the memory that could not be allocated. */ Index: src/exceptions/OFOutOfRangeException.h ================================================================== --- src/exceptions/OFOutOfRangeException.h +++ src/exceptions/OFOutOfRangeException.h @@ -22,8 +22,11 @@ * OFOutOfRangeException.h ObjFW/OFOutOfRangeException.h * * @brief An exception indicating the given value is out of range. */ @interface OFOutOfRangeException: OFException +{ + OF_RESERVE_IVARS(OFOutOfRangeException, 4) +} @end OF_ASSUME_NONNULL_END Index: src/exceptions/OFReadFailedException.h ================================================================== --- src/exceptions/OFReadFailedException.h +++ src/exceptions/OFReadFailedException.h @@ -22,8 +22,11 @@ * OFReadFailedException.h ObjFW/OFReadFailedException.h * * @brief An exception indicating that reading from an object failed. */ @interface OFReadFailedException: OFReadOrWriteFailedException +{ + OF_RESERVE_IVARS(OFReadFailedException, 4) +} @end OF_ASSUME_NONNULL_END Index: src/exceptions/OFReadOrWriteFailedException.h ================================================================== --- src/exceptions/OFReadOrWriteFailedException.h +++ src/exceptions/OFReadOrWriteFailedException.h @@ -27,10 +27,11 @@ @interface OFReadOrWriteFailedException: OFException { id _object; size_t _requestedLength; int _errNo; + OF_RESERVE_IVARS(OFReadOrWriteFailedException, 4) } /** * @brief The stream which caused the read or write failed exception. */ Index: src/exceptions/OFRemoveItemFailedException.h ================================================================== --- src/exceptions/OFRemoveItemFailedException.h +++ src/exceptions/OFRemoveItemFailedException.h @@ -27,10 +27,11 @@ */ @interface OFRemoveItemFailedException: OFException { OFURL *_URL; int _errNo; + OF_RESERVE_IVARS(OFRemoveItemFailedException, 4) } /** * @brief The URL of the item which could not be removed. */ Index: src/exceptions/OFResolveHostFailedException.h ================================================================== --- src/exceptions/OFResolveHostFailedException.h +++ src/exceptions/OFResolveHostFailedException.h @@ -27,10 +27,11 @@ @interface OFResolveHostFailedException: OFException { OFString *_host; OFSocketAddressFamily _addressFamily; OFDNSResolverErrorCode _errorCode; + OF_RESERVE_IVARS(OFResolveHostFailedException, 4) } /** * @brief The host which could not be resolved. */ Index: src/exceptions/OFRetrieveItemAttributesFailedException.h ================================================================== --- src/exceptions/OFRetrieveItemAttributesFailedException.h +++ src/exceptions/OFRetrieveItemAttributesFailedException.h @@ -28,10 +28,11 @@ */ @interface OFRetrieveItemAttributesFailedException: OFException { OFURL *_URL; int _errNo; + OF_RESERVE_IVARS(OFRetrieveItemAttributesFailedException, 4) } /** * @brief The URL of the item whose attributes could not be retrieved. */ Index: src/exceptions/OFSeekFailedException.h ================================================================== --- src/exceptions/OFSeekFailedException.h +++ src/exceptions/OFSeekFailedException.h @@ -28,10 +28,11 @@ { OFSeekableStream *_stream; OFStreamOffset _offset; OFSeekWhence _whence; int _errNo; + OF_RESERVE_IVARS(OFSeekFailedException, 4) } /** * @brief The stream for which seeking failed. */ Index: src/exceptions/OFSetItemAttributesFailedException.h ================================================================== --- src/exceptions/OFSetItemAttributesFailedException.h +++ src/exceptions/OFSetItemAttributesFailedException.h @@ -31,10 +31,11 @@ { OFURL *_URL; OFFileAttributes _attributes; OFFileAttributeKey _failedAttribute; int _errNo; + OF_RESERVE_IVARS(OFSetItemAttributesFailedException, 4) } /** * @brief The URL of the item whose attributes could not be set. */ Index: src/exceptions/OFSetOptionFailedException.h ================================================================== --- src/exceptions/OFSetOptionFailedException.h +++ src/exceptions/OFSetOptionFailedException.h @@ -25,10 +25,11 @@ */ @interface OFSetOptionFailedException: OFException { id _object; int _errNo; + OF_RESERVE_IVARS(OFSetOptionFailedException, 4) } /** * @brief The object for which the option could not be set. */ Index: src/exceptions/OFSetWindowsRegistryValueFailedException.h ================================================================== --- src/exceptions/OFSetWindowsRegistryValueFailedException.h +++ src/exceptions/OFSetWindowsRegistryValueFailedException.h @@ -32,10 +32,11 @@ OFWindowsRegistryKey *_registryKey; OFString *_Nullable _valueName; OFData *_Nullable _data; DWORD _type; LSTATUS _status; + OF_RESERVE_IVARS(OFSetWindowsRegistryValueFailedException, 4) } /** * @brief The registry key on which setting the value failed. */ Index: src/exceptions/OFStillLockedException.h ================================================================== --- src/exceptions/OFStillLockedException.h +++ src/exceptions/OFStillLockedException.h @@ -25,10 +25,11 @@ * @brief An exception indicating that a lock is still locked. */ @interface OFStillLockedException: OFException { id _Nullable _lock; + OF_RESERVE_IVARS(OFStillLockedException, 4) } /** * @brief The lock which is still locked. */ Index: src/exceptions/OFTLSHandshakeFailedException.h ================================================================== --- src/exceptions/OFTLSHandshakeFailedException.h +++ src/exceptions/OFTLSHandshakeFailedException.h @@ -40,10 +40,11 @@ @interface OFTLSHandshakeFailedException: OFException { OFTLSStream *_stream; OFString *_Nullable _host; OFTLSStreamErrorCode _errorCode; + OF_RESERVE_IVARS(OFTLSHandshakeFailedException, 4) } /** * @brief The TLS stream which failed the handshake. */ Index: src/exceptions/OFThreadJoinFailedException.h ================================================================== --- src/exceptions/OFThreadJoinFailedException.h +++ src/exceptions/OFThreadJoinFailedException.h @@ -31,10 +31,11 @@ */ @interface OFThreadJoinFailedException: OFException { OFThread *_Nullable _thread; int _errNo; + OF_RESERVE_IVARS(OFThreadJoinFailedException, 4) } /** * @brief The thread which could not be joined. */ Index: src/exceptions/OFThreadStartFailedException.h ================================================================== --- src/exceptions/OFThreadStartFailedException.h +++ src/exceptions/OFThreadStartFailedException.h @@ -31,10 +31,11 @@ */ @interface OFThreadStartFailedException: OFException { OFThread *_Nullable _thread; int _errNo; + OF_RESERVE_IVARS(OFThreadStartFailedException, 4) } /** * @brief The thread which could not be started. */ Index: src/exceptions/OFThreadStillRunningException.h ================================================================== --- src/exceptions/OFThreadStillRunningException.h +++ src/exceptions/OFThreadStillRunningException.h @@ -30,10 +30,11 @@ * @brief An exception indicating that a thread is still running. */ @interface OFThreadStillRunningException: OFException { OFThread *_Nullable _thread; + OF_RESERVE_IVARS(OFThreadStillRunningException, 4) } /** * @brief The thread which is still running. */ Index: src/exceptions/OFTruncatedDataException.h ================================================================== --- src/exceptions/OFTruncatedDataException.h +++ src/exceptions/OFTruncatedDataException.h @@ -23,8 +23,11 @@ * * @brief An exception indicating that data was truncated while it should not * have been truncated. */ @interface OFTruncatedDataException: OFException +{ + OF_RESERVE_IVARS(OFTruncatedDataException, 4) +} @end OF_ASSUME_NONNULL_END Index: src/exceptions/OFUnboundNamespaceException.h ================================================================== --- src/exceptions/OFUnboundNamespaceException.h +++ src/exceptions/OFUnboundNamespaceException.h @@ -27,10 +27,11 @@ */ @interface OFUnboundNamespaceException: OFException { OFString *_namespace; OFXMLElement *_element; + OF_RESERVE_IVARS(OFUnboundNamespaceException, 4) } /** * @brief The unbound namespace. */ Index: src/exceptions/OFUnboundPrefixException.h ================================================================== --- src/exceptions/OFUnboundPrefixException.h +++ src/exceptions/OFUnboundPrefixException.h @@ -27,10 +27,11 @@ */ @interface OFUnboundPrefixException: OFException { OFString *_prefix; OFXMLParser *_parser; + OF_RESERVE_IVARS(OFUnboundPrefixException, 4) } /** * @brief The unbound prefix. */ Index: src/exceptions/OFUndefinedKeyException.h ================================================================== --- src/exceptions/OFUndefinedKeyException.h +++ src/exceptions/OFUndefinedKeyException.h @@ -27,10 +27,11 @@ @interface OFUndefinedKeyException: OFException { id _object; OFString *_Nullable _key; id _Nullable _value; + OF_RESERVE_IVARS(OFUndefinedKeyException, 4) } /** * @brief The object on which the key is undefined. */ Index: src/exceptions/OFUnknownXMLEntityException.h ================================================================== --- src/exceptions/OFUnknownXMLEntityException.h +++ src/exceptions/OFUnknownXMLEntityException.h @@ -25,10 +25,11 @@ * entity. */ @interface OFUnknownXMLEntityException: OFException { OFString *_entityName; + OF_RESERVE_IVARS(OFUnknownXMLEntityException, 4) } /** * @brief The name of the unknown XML entity. */ Index: src/exceptions/OFUnlockFailedException.h ================================================================== --- src/exceptions/OFUnlockFailedException.h +++ src/exceptions/OFUnlockFailedException.h @@ -26,10 +26,11 @@ */ @interface OFUnlockFailedException: OFException { id _Nullable _lock; int _errNo; + OF_RESERVE_IVARS(OFUnlockFailedException, 4) } /** * @brief The lock which could not be unlocked. */ Index: src/exceptions/OFUnsupportedProtocolException.h ================================================================== --- src/exceptions/OFUnsupportedProtocolException.h +++ src/exceptions/OFUnsupportedProtocolException.h @@ -28,10 +28,11 @@ * supported. */ @interface OFUnsupportedProtocolException: OFException { OFURL *_Nullable _URL; + OF_RESERVE_IVARS(OFUnsupportedProtocolException, 4) } /** * @brief The URL whose protocol is unsupported. */ Index: src/exceptions/OFUnsupportedVersionException.h ================================================================== --- src/exceptions/OFUnsupportedVersionException.h +++ src/exceptions/OFUnsupportedVersionException.h @@ -25,10 +25,11 @@ * protocol is not supported. */ @interface OFUnsupportedVersionException: OFException { OFString *_version; + OF_RESERVE_IVARS(OFUnsupportedVersionException, 4) } /** * @brief The version which is unsupported. */ Index: src/exceptions/OFWriteFailedException.h ================================================================== --- src/exceptions/OFWriteFailedException.h +++ src/exceptions/OFWriteFailedException.h @@ -24,10 +24,11 @@ * @brief An exception indicating that writing to an object failed. */ @interface OFWriteFailedException: OFReadOrWriteFailedException { size_t _bytesWritten; + OF_RESERVE_IVARS(OFWriteFailedException, 4) } /** * @brief The number of bytes already written before the write failed. *