Index: src/OFApplication.h ================================================================== --- src/OFApplication.h +++ src/OFApplication.h @@ -126,16 +126,16 @@ OFArray OF_GENERIC(OFString *) *_arguments; OFMutableDictionary OF_GENERIC(OFString *, OFString *) *_environment; int *_argc; char ***_argv; @public - id _delegate; - void (*_SIGINTHandler)(id, SEL); + id _Nullable _delegate; + void (*_Nullable _SIGINTHandler)(id, SEL); #ifndef OF_WINDOWS - void (*_SIGHUPHandler)(id, SEL); - void (*_SIGUSR1Handler)(id, SEL); - void (*_SIGUSR2Handler)(id, SEL); + void (*_Nullable _SIGHUPHandler)(id, SEL); + void (*_Nullable _SIGUSR1Handler)(id, SEL); + void (*_Nullable _SIGUSR2Handler)(id, SEL); #endif } /*! * The name of the program (argv[0]). Index: src/OFApplication.m ================================================================== --- src/OFApplication.m +++ src/OFApplication.m @@ -508,12 +508,14 @@ @selector(applicationDidReceive##sig)]) { \ _##sig##Handler = (void (*)(id, SEL))[(id)delegate \ methodForSelector: \ @selector(applicationDidReceive##sig)]; \ signal(sig, handle##sig); \ - } else \ - signal(sig, (void (*)(int))SIG_DFL); + } else { \ + _##sig##Handler = NULL; \ + signal(sig, (void (*)(int))SIG_DFL); \ + } _delegate = delegate; REGISTER_SIGNAL(SIGINT) #ifdef SIGHUP Index: src/OFArray.h ================================================================== --- src/OFArray.h +++ src/OFArray.h @@ -264,21 +264,21 @@ * object. * * @param object The object which is checked for being in the array * @return A boolean whether the array contains the specified object */ -- (bool)containsObject: (nullable ObjectType)object; +- (bool)containsObject: (ObjectType)object; /*! * @brief Checks whether the array contains an object with the specified * address. * * @param object The object which is checked for being in the array * @return A boolean whether the array contains an object with the specified * address */ -- (bool)containsObjectIdenticalTo: (nullable ObjectType)object; +- (bool)containsObjectIdenticalTo: (ObjectType)object; /*! * @brief Returns the first object of the array or `nil`. * * @warning The returned object is *not* retained and autoreleased for @@ -483,15 +483,15 @@ #endif @end @interface OFArrayEnumerator: OFEnumerator { - OFArray *_array; - size_t _count; + OFArray *_array; + size_t _count; unsigned long _mutations; - unsigned long *_mutationsPtr; - size_t _position; + unsigned long *_Nullable _mutationsPtr; + size_t _position; } - initWithArray: (OFArray *)data mutationsPtr: (unsigned long *_Nullable)mutationsPtr; @end Index: src/OFCollection.h ================================================================== --- src/OFCollection.h +++ src/OFCollection.h @@ -36,9 +36,9 @@ * specified object. * * @param object The object which is checked for being in the collection * @return A boolean whether the collection contains the specified object */ -- (bool)containsObject: (nullable id)object; +- (bool)containsObject: (id)object; @end OF_ASSUME_NONNULL_END Index: src/OFData.h ================================================================== --- src/OFData.h +++ src/OFData.h @@ -32,11 +32,11 @@ * for OFData with item size 1. */ @interface OFData: OFObject { - unsigned char *_items; + unsigned char *_Nullable _items; size_t _count, _itemSize; bool _freeWhenDone; } /*! Index: src/OFGZIPStream.h ================================================================== --- src/OFGZIPStream.h +++ src/OFGZIPStream.h @@ -28,11 +28,11 @@ * for an underlying stream. */ @interface OFGZIPStream: OFStream { OFStream *_stream; - OFInflateStream *_inflateStream; + OFInflateStream *_Nullable _inflateStream; enum of_gzip_stream_state { OF_GZIP_STREAM_ID1, OF_GZIP_STREAM_ID2, OF_GZIP_STREAM_COMPRESSION_METHOD, OF_GZIP_STREAM_FLAGS, @@ -73,11 +73,11 @@ OF_GZIP_STREAM_OS_ACORN_RISCOS = 13, OF_GZIP_STREAM_OS_UNKNOWN = 255 } _OS; size_t _bytesRead; uint8_t _buffer[4]; - OFDate *_modificationDate; + OFDate *_Nullable _modificationDate; uint16_t _extraLength; uint32_t _CRC32, _uncompressedSize; } /*! Index: src/OFHMAC.h ================================================================== --- src/OFHMAC.h +++ src/OFHMAC.h @@ -25,12 +25,12 @@ * @brief A class which provides methods to calculate an HMAC. */ @interface OFHMAC: OFObject { Class _hashClass; - id _outerHash, _innerHash; - id _outerHashCopy, _innerHashCopy; + id _Nullable _outerHash, _innerHash; + id _Nullable _outerHashCopy, _innerHashCopy; bool _calculated; } /*! The class for the cryptographic hash used by the HMAC. */ @property (readonly, nonatomic) Class hashClass; Index: src/OFHTTPClient.h ================================================================== --- src/OFHTTPClient.h +++ src/OFHTTPClient.h @@ -102,16 +102,16 @@ * * @brief A class for performing HTTP requests. */ @interface OFHTTPClient: OFObject { - id _delegate; + id _Nullable _delegate; bool _insecureRedirectsAllowed; - OFTCPSocket *_socket; - OFURL *_lastURL; + OFTCPSocket *_Nullable _socket; + OFURL *_Nullable _lastURL; bool _lastWasHEAD; - OFHTTPResponse *_lastResponse; + OFHTTPResponse *_Nullable _lastResponse; } /*! * The delegate of the HTTP request. */ Index: src/OFHTTPCookie.h ================================================================== --- src/OFHTTPCookie.h +++ src/OFHTTPCookie.h @@ -31,11 +31,11 @@ * @brief A class for storing and manipulating HTTP cookies. */ @interface OFHTTPCookie: OFObject { OFString *_name, *_value, *_domain, *_path; - OFDate *_expires; + OFDate *_Nullable _expires; bool _secure, _HTTPOnly; OFMutableArray OF_GENERIC(OFString *) *_extensions; } /*! Index: src/OFHTTPRequest.h ================================================================== --- src/OFHTTPRequest.h +++ src/OFHTTPRequest.h @@ -69,13 +69,13 @@ @interface OFHTTPRequest: OFObject { OFURL *_URL; of_http_request_method_t _method; of_http_request_protocol_version_t _protocolVersion; - OFDictionary OF_GENERIC(OFString *, OFString *) *_headers; - OFData *_body; - OFString *_remoteAddress; + OFDictionary OF_GENERIC(OFString *, OFString *) *_Nullable _headers; + OFData *_Nullable _body; + OFString *_Nullable _remoteAddress; } /*! * The URL of the HTTP request. */ Index: src/OFHTTPResponse.h ================================================================== --- src/OFHTTPResponse.h +++ src/OFHTTPResponse.h @@ -40,12 +40,12 @@ @property (nonatomic) short statusCode; /*! * The headers of the reply to the HTTP request. */ -@property OF_NULLABLE_PROPERTY (nonatomic, copy) - OFDictionary OF_GENERIC(OFString *, OFString *) *headers; +@property (copy, nonatomic) OFDictionary OF_GENERIC(OFString *, OFString *) + *headers; /*! * @brief Sets the protocol version of the HTTP request reply. * * @param protocolVersion The protocol version of the HTTP request reply Index: src/OFHTTPResponse.m ================================================================== --- src/OFHTTPResponse.m +++ src/OFHTTPResponse.m @@ -140,12 +140,18 @@ - init { self = [super init]; - _protocolVersion.major = 1; - _protocolVersion.minor = 1; + @try { + _protocolVersion.major = 1; + _protocolVersion.minor = 1; + _headers = [[OFDictionary alloc] init]; + } @catch (id e) { + [self release]; + @throw e; + } return self; } - (void)dealloc Index: src/OFHTTPServer.h ================================================================== --- src/OFHTTPServer.h +++ src/OFHTTPServer.h @@ -86,15 +86,15 @@ * * @brief A class for creating a simple HTTP server inside of applications. */ @interface OFHTTPServer: OFObject { - OFString *_host; + OFString *_Nullable _host; uint16_t _port; - id _delegate; - OFString *_name; - OFTCPSocket *_listeningSocket; + id _Nullable _delegate; + OFString *_Nullable _name; + OFTCPSocket *_Nullable _listeningSocket; } /*! * The host on which the HTTP server will listen. */ Index: src/OFINICategory+Private.h ================================================================== --- src/OFINICategory+Private.h +++ src/OFINICategory+Private.h @@ -20,13 +20,13 @@ OF_ASSUME_NONNULL_BEGIN @class OFStream; @interface OFINICategory () -- (instancetype)of_init OF_METHOD_FAMILY(init); +- (instancetype)of_initWithName: (OFString *)name OF_METHOD_FAMILY(init); - (void)of_parseLine: (OFString *)line; - (bool)of_writeToStream: (OFStream *)stream encoding: (of_string_encoding_t)encoding first: (bool)first; @end OF_ASSUME_NONNULL_END Index: src/OFINICategory.m ================================================================== --- src/OFINICategory.m +++ src/OFINICategory.m @@ -119,15 +119,16 @@ @end @implementation OFINICategory @synthesize name = _name; -- (instancetype)of_init +- (instancetype)of_initWithName: (OFString *)name { self = [super init]; @try { + _name = [name copy]; _lines = [[OFMutableArray alloc] init]; } @catch (id e) { [self release]; @throw e; } Index: src/OFINIFile.m ================================================================== --- src/OFINIFile.m +++ src/OFINIFile.m @@ -102,12 +102,11 @@ for (category in _categories) if ([[category name] isEqual: name]) return category; - category = [[[OFINICategory alloc] of_init] autorelease]; - [category setName: name]; + category = [[[OFINICategory alloc] of_initWithName: name] autorelease]; [_categories addObject: category]; objc_autoreleasePoolPop(pool); return category; @@ -144,12 +143,11 @@ categoryName = [line substringWithRange: of_range(1, [line length] - 2)]; category = [[[OFINICategory alloc] - of_init] autorelease]; - [category setName: categoryName]; + of_initWithName: categoryName] autorelease]; [_categories addObject: category]; } else { if (category == nil) @throw [OFInvalidFormatException exception]; Index: src/OFInflateStream.h ================================================================== --- src/OFInflateStream.h +++ src/OFInflateStream.h @@ -35,11 +35,11 @@ uint8_t _buffer[OF_INFLATE_STREAM_BUFFER_SIZE]; uint16_t _bufferIndex, _bufferLength; uint8_t _byte; uint8_t _bitIndex, _savedBitsLength; uint16_t _savedBits; - uint8_t *_slidingWindow; + uint8_t *_Nullable _slidingWindow; uint16_t _slidingWindowIndex, _slidingWindowMask; int _state; union { struct { uint8_t position; @@ -47,20 +47,23 @@ } uncompressedHeader; struct { uint16_t position, length; } uncompressed; struct { - struct huffman_tree *litLenTree, *distTree; - struct huffman_tree *codeLenTree, *treeIter; - uint8_t *lengths; + struct huffman_tree *_Nullable litLenTree; + struct huffman_tree *_Nullable distTree; + struct huffman_tree *_Nullable codeLenTree; + struct huffman_tree *_Nullable treeIter; + uint8_t *_Nullable lengths; uint16_t receivedCount; uint8_t value, litLenCodesCount, distCodesCount; uint8_t codeLenCodesCount; } huffmanTree; struct { - struct huffman_tree *litLenTree, *distTree; - struct huffman_tree *treeIter; + struct huffman_tree *_Nullable litLenTree; + struct huffman_tree *_Nullable distTree; + struct huffman_tree *_Nullable treeIter; int state; uint16_t value, length, distance, extraBits; } huffman; } _context; bool _inLastBlock, _atEndOfStream; Index: src/OFIntrospection.h ================================================================== --- src/OFIntrospection.h +++ src/OFIntrospection.h @@ -72,11 +72,11 @@ */ @interface OFProperty: OFObject { OFString *_name; unsigned _attributes; - OFString *_getter, *_setter; + OFString *_Nullable _getter, *_Nullable _setter; } /*! * The name of the property. */ Index: src/OFKernelEventObserver.h ================================================================== --- src/OFKernelEventObserver.h +++ src/OFKernelEventObserver.h @@ -109,11 +109,11 @@ { OFMutableArray OF_GENERIC(id ) *_readObjects; OFMutableArray OF_GENERIC(id ) *_writeObjects; - id _delegate; + id _Nullable _delegate; #ifdef OF_HAVE_PIPE int _cancelFD[2]; #else of_socket_t _cancelFD[2]; struct sockaddr_in _cancelAddr; Index: src/OFList.h ================================================================== --- src/OFList.h +++ src/OFList.h @@ -48,14 +48,14 @@ OFSerialization> #if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN) # define ObjectType id #endif { - of_list_object_t *_firstListObject; - of_list_object_t *_lastListObject; - size_t _count; - unsigned long _mutations; + of_list_object_t *_Nullable _firstListObject; + of_list_object_t *_Nullable _lastListObject; + size_t _count; + unsigned long _mutations; } /*! * The first list object of the list. */ @@ -182,16 +182,16 @@ #endif @end @interface OFListEnumerator: OFEnumerator { - OFList *_list; - of_list_object_t *_current; - unsigned long _mutations; - unsigned long *_mutationsPtr; + OFList *_list; + of_list_object_t *_Nullable _current; + unsigned long _mutations; + unsigned long *_Nullable _mutationsPtr; } - initWithList: (OFList *)list mutationsPointer: (unsigned long *)mutationsPtr; @end OF_ASSUME_NONNULL_END Index: src/OFLocalization.h ================================================================== --- src/OFLocalization.h +++ src/OFLocalization.h @@ -34,12 +34,11 @@ * * @brief A class for querying the locale and retrieving localized strings. */ @interface OFLocalization: OFObject { - OFString *_language; - OFString *_territory; + OFString *_Nullable _language, *_Nullable _territory; of_string_encoding_t _encoding; OFString *_decimalPoint; OFMutableArray OF_GENERIC(OFDictionary OF_GENERIC(OFString *, id) *) *_localizedStrings; } Index: src/OFMapTable.h ================================================================== --- src/OFMapTable.h +++ src/OFMapTable.h @@ -68,11 +68,11 @@ * and objects should be retained, released, compared and hashed. */ @interface OFMapTable: OFObject { of_map_table_functions_t _keyFunctions, _objectFunctions; - struct of_map_table_bucket **_buckets; + struct of_map_table_bucket *_Nonnull *_Nullable _buckets; uint32_t _count, _capacity; uint8_t _rotate; unsigned long _mutations; } @@ -235,14 +235,14 @@ * keys or objects. */ @interface OFMapTableEnumerator: OFObject { OFMapTable *_mapTable; - struct of_map_table_bucket **_buckets; + struct of_map_table_bucket *_Nonnull *_Nullable _buckets; uint32_t _capacity; unsigned long _mutations; - unsigned long *_mutationsPtr; + unsigned long *_Nullable _mutationsPtr; uint32_t _position; } - init OF_UNAVAILABLE; Index: src/OFMutex.h ================================================================== --- src/OFMutex.h +++ src/OFMutex.h @@ -28,11 +28,11 @@ */ @interface OFMutex: OFObject { of_mutex_t _mutex; bool _initialized; - OFString *_name; + OFString *_Nullable _name; } /*! * @brief Creates a new mutex. * Index: src/OFOptionsParser.h ================================================================== --- src/OFOptionsParser.h +++ src/OFOptionsParser.h @@ -70,11 +70,11 @@ of_options_parser_option_t *_options; OFMapTable *_longOptions; OFArray OF_GENERIC(OFString *) *_arguments; size_t _index, _subIndex; of_unichar_t _lastOption; - OFString *_lastLongOption, *_argument; + OFString *_Nullable _lastLongOption, *_Nullable _argument; bool _done; } /*! * The last parsed option. Index: src/OFRecursiveMutex.h ================================================================== --- src/OFRecursiveMutex.h +++ src/OFRecursiveMutex.h @@ -29,11 +29,11 @@ */ @interface OFRecursiveMutex: OFObject { of_rmutex_t _rmutex; bool _initialized; - OFString *_name; + OFString *_Nullable _name; } /*! * @brief Creates a new recursive mutex. * Index: src/OFStream.h ================================================================== --- src/OFStream.h +++ src/OFStream.h @@ -92,11 +92,12 @@ OFCopying> { #if !defined(OF_SEEKABLE_STREAM_M) && !defined(OF_TCP_SOCKET_M) @private #endif - char *_readBuffer, *_readBufferMemory, *_writeBuffer; + char *_Nullable _readBuffer, *_Nullable _readBufferMemory; + char *_Nullable _writeBuffer; size_t _readBufferLength, _writeBufferLength; bool _writeBuffered, _waitingForDelimiter; @protected bool _blocking; } Index: src/OFString_UTF8.h ================================================================== --- src/OFString_UTF8.h +++ src/OFString_UTF8.h @@ -33,11 +33,11 @@ size_t cStringLength; bool isUTF8; size_t length; bool hashed; uint32_t hash; - char *freeWhenDone; + char *_Nullable freeWhenDone; } *restrict _s; struct of_string_utf8_ivars _storage; } @end Index: src/OFTCPSocket.h ================================================================== --- src/OFTCPSocket.h +++ src/OFTCPSocket.h @@ -59,13 +59,13 @@ * To create a server, create a socket, bind it and listen on it. */ @interface OFTCPSocket: OFStreamSocket { bool _listening; - struct sockaddr *_address; + struct sockaddr *_Nullable _address; socklen_t _addressLength; - OFString *_SOCKS5Host; + OFString *_Nullable _SOCKS5Host; uint16_t _SOCKS5Port; #ifdef OF_WII uint16_t _port; #endif } Index: src/OFTarArchive.h ================================================================== --- src/OFTarArchive.h +++ src/OFTarArchive.h @@ -32,11 +32,11 @@ #ifdef OF_TAR_ARCHIVE_ENTRY_M @public #endif OFStream *_stream; @protected - OFTarArchiveEntry *_lastReturnedEntry; + OFTarArchiveEntry *_Nullable _lastReturnedEntry; } /*! * @brief Creates a new OFTarArchive object with the specified stream. * Index: src/OFTarArchiveEntry.h ================================================================== --- src/OFTarArchiveEntry.h +++ src/OFTarArchiveEntry.h @@ -55,12 +55,12 @@ OFString *_fileName; uint32_t _mode; uint64_t _size, _toRead; OFDate *_modificationDate; of_tar_archive_entry_type_t _type; - OFString *_targetFileName; - OFString *_owner, *_group; + OFString *_Nullable _targetFileName; + OFString *_Nullable _owner, *_Nullable _group; uint32_t _deviceMajor, _deviceMinor; } /*! * The file name of the entry. Index: src/OFThread.h ================================================================== --- src/OFThread.h +++ src/OFThread.h @@ -69,14 +69,14 @@ void *_pool; # ifdef OF_HAVE_BLOCKS of_thread_block_t _threadBlock; # endif id _returnValue; - OFRunLoop *_runLoop; + OFRunLoop *_Nullable _runLoop; OFMutableDictionary *_threadDictionary; @private - OFString *_name; + OFString *_Nullable _name; } #ifdef OF_HAVE_BLOCKS /*! * The block to execute in the thread. Index: src/OFTimer.h ================================================================== --- src/OFTimer.h +++ src/OFTimer.h @@ -43,11 +43,12 @@ */ @interface OFTimer: OFObject { OFDate *_fireDate; of_time_interval_t _interval; - id _target, _object1, _object2; + id _target; + id _Nullable _object1, _object2; SEL _selector; uint8_t _arguments; bool _repeats; #ifdef OF_HAVE_BLOCKS of_timer_block_t _block; @@ -55,11 +56,11 @@ bool _valid; #ifdef OF_HAVE_THREADS OFCondition *_condition; bool _done; #endif - OFRunLoop *_inRunLoop; + OFRunLoop *_Nullable _inRunLoop; } /*! * The time interval in which the timer will repeat, if it is a repeating * timer. Index: src/OFURL.h ================================================================== --- src/OFURL.h +++ src/OFURL.h @@ -28,11 +28,13 @@ */ @interface OFURL: OFObject { OFString *_scheme, *_host; uint16_t _port; - OFString *_user, *_password, *_path, *_parameters, *_query, *_fragment; + OFString *_Nullable _user, *_Nullable _password, *_path; + OFString *_Nullable _parameters, *_Nullable _query; + OFString *_Nullable _fragment; } /*! * The scheme part of the URL. */ Index: src/OFXMLAttribute.h ================================================================== --- src/OFXMLAttribute.h +++ src/OFXMLAttribute.h @@ -26,11 +26,11 @@ * @brief A representation of an attribute of an XML element as an object. */ @interface OFXMLAttribute: OFXMLNode { @public - OFString *_name, *_namespace, *_stringValue; + OFString *_name, *_Nullable _namespace, *_stringValue; } /*! * The name of the attribute. */ Index: src/OFXMLElement.h ================================================================== --- src/OFXMLElement.h +++ src/OFXMLElement.h @@ -30,14 +30,15 @@ * * @brief A class which stores an XML element. */ @interface OFXMLElement: OFXMLNode { - OFString *_name, *_namespace, *_defaultNamespace; - OFMutableArray OF_GENERIC(OFXMLAttribute *) *_attributes; - OFMutableDictionary OF_GENERIC(OFString *, OFString *) *_namespaces; - OFMutableArray OF_GENERIC(OFXMLNode *) *_children; + OFString *_name, *_Nullable _namespace, *_Nullable _defaultNamespace; + OFMutableArray OF_GENERIC(OFXMLAttribute *) *_Nullable _attributes; + OFMutableDictionary OF_GENERIC(OFString *, OFString *) *_Nullable + _namespaces; + OFMutableArray OF_GENERIC(OFXMLNode *) *_Nullable _children; } /*! * The name of the element. */ Index: src/OFXMLElementBuilder.h ================================================================== --- src/OFXMLElementBuilder.h +++ src/OFXMLElementBuilder.h @@ -104,11 +104,11 @@ * setting the OFXMLElementBuilder as delegate for the parser. */ @interface OFXMLElementBuilder: OFObject { OFMutableArray OF_GENERIC(OFXMLElement *) *_stack; - id _delegate; + id _Nullable _delegate; } /*! * The delegate for the OFXMLElementBuilder. */ Index: src/OFXMLParser.h ================================================================== --- src/OFXMLParser.h +++ src/OFXMLParser.h @@ -128,11 +128,11 @@ * OFXMLParser is an event-based XML parser which calls the delegate's callbacks * as soon as it finds something, thus suitable for streams as well. */ @interface OFXMLParser: OFObject { - id _delegate; + id _Nullable _delegate; enum of_xml_parser_state { OF_XMLPARSER_IN_BYTE_ORDER_MARK, OF_XMLPARSER_OUTSIDE_TAG, OF_XMLPARSER_TAG_OPENED, OF_XMLPARSER_IN_PROCESSING_INSTRUCTIONS, @@ -153,18 +153,18 @@ OF_XMLPARSER_IN_COMMENT_2, OF_XMLPARSER_IN_DOCTYPE, OF_XMLPARSER_NUM_STATES } _state; size_t _i, _last; - const char *_data; + const char *_Nullable _data; OFMutableData *_buffer; - OFString *_name, *_prefix; + OFString *_Nullable _name, *_Nullable _prefix; OFMutableArray OF_GENERIC(OFMutableDictionary OF_GENERIC(OFString *, OFString *) *) *_namespaces; OFMutableArray OF_GENERIC(OFXMLAttribute *) *_attributes; - OFString *_attributeName, *_attributePrefix; + OFString *_Nullable _attributeName, *_Nullable _attributePrefix; char _delimiter; OFMutableArray OF_GENERIC(OFString *) *_previous; size_t _level; bool _acceptProlog; size_t _lineNumber; Index: src/OFZIPArchive.h ================================================================== --- src/OFZIPArchive.h +++ src/OFZIPArchive.h @@ -36,15 +36,15 @@ OFSeekableStream *_stream; uint32_t _diskNumber, _centralDirectoryDisk; uint64_t _centralDirectoryEntriesInDisk, _centralDirectoryEntries; uint64_t _centralDirectorySize; int64_t _centralDirectoryOffset; - OFString *_archiveComment; + OFString *_Nullable _archiveComment; OFMutableArray OF_GENERIC(OFZIPArchiveEntry *) *_entries; OFMutableDictionary OF_GENERIC(OFString *, OFZIPArchiveEntry *) *_pathToEntryMap; - OFStream *_lastReturnedStream; + OFStream *_Nullable _lastReturnedStream; } /*! * The archive comment. */ Index: src/OFZIPArchiveEntry.h ================================================================== --- src/OFZIPArchiveEntry.h +++ src/OFZIPArchiveEntry.h @@ -93,12 +93,12 @@ uint16_t _compressionMethod; uint16_t _lastModifiedFileTime, _lastModifiedFileDate; uint32_t _CRC32; uint64_t _compressedSize, _uncompressedSize; OFString *_fileName; - OFData *_extraField; - OFString *_fileComment; + OFData *_Nullable _extraField; + OFString *_Nullable _fileComment; uint32_t _startDiskNumber; uint16_t _internalAttributes; uint32_t _versionSpecificAttributes; int64_t _localFileHeaderOffset; } Index: src/block.h ================================================================== --- src/block.h +++ src/block.h @@ -28,12 +28,12 @@ int reserved; void (*invoke)(void *block, ...); struct of_block_descriptor_t { unsigned long reserved; unsigned long size; - void (*copy_helper)(void *dest, void *src); - void (*dispose_helper)(void *src); + void (*_Nullable copy_helper)(void *dest, void *src); + void (*_Nullable dispose_helper)(void *src); const char *signature; } *descriptor; } of_block_literal_t; #ifdef __cplusplus