Index: .github/workflows/fedora-mingw.yml ================================================================== --- .github/workflows/fedora-mingw.yml +++ .github/workflows/fedora-mingw.yml @@ -8,11 +8,13 @@ include: - prefix: mingw32 triple: i686-w64-mingw32 - prefix: mingw64 triple: x86_64-w64-mingw32 - container: fedora + - prefix: ucrt64 + triple: x86_64-w64-mingw32ucrt + container: fedora:41 steps: - name: Install dependencies run: | sudo dnf upgrade --refresh -y sudo dnf install -y ${{matrix.prefix}}-gcc ${{matrix.prefix}}-openssl clang autoconf automake make wine Index: Doxyfile ================================================================== --- Doxyfile +++ Doxyfile @@ -12,10 +12,11 @@ _Nullable= \ DOXYGEN \ OF_BOXABLE= \ OF_CONSUMED= \ OF_DESIGNATED_INITIALIZER= \ + OF_DEPRECATED(...)= \ OF_FILE_MANAGER_SUPPORTS_EXTENDED_ATTRIBUTES \ OF_FILE_MANAGER_SUPPORTS_LINKS \ OF_FILE_MANAGER_SUPPORTS_OWNER \ OF_FILE_MANAGER_SUPPORTS_PERMISSIONS \ OF_FILE_MANAGER_SUPPORTS_SYMLINKS \ Index: src/OFFileIRIHandler.m ================================================================== --- src/OFFileIRIHandler.m +++ src/OFFileIRIHandler.m @@ -41,11 +41,10 @@ #endif #if defined(OF_FREEBSD) || defined(OF_NETBSD) # include #endif #ifdef OF_HAIKU -# include # include #endif #ifdef OF_WINDOWS # include #endif Index: src/OFIRIHandler.h ================================================================== --- src/OFIRIHandler.h +++ src/OFIRIHandler.h @@ -298,10 +298,13 @@ - (bool)moveItemAtIRI: (OFIRI *)source toIRI: (OFIRI *)destination; /** * @brief Returns the extended attribute data for the specified name of the * item at the specified IRI. + * + * @deprecated Use @ref getExtendedAttributeData:andType:forName:ofItemAtIRI: + * instead. * * This method is not available for all IRIs. * * @param name The name of the extended attribute * @param IRI The IRI of the item to return the extended attribute from @@ -314,12 +317,12 @@ * @throw OFNotImplementedException Getting extended attributes is not * implemented for the specified item */ - (OFData *)extendedAttributeDataForName: (OFString *)name ofItemAtIRI: (OFIRI *)IRI - OF_DEPRECATED(ObjFW, 1, 1, - "Use -[getExtendedAttributeData:andType:forName:ofItemAtIRI:] instead"); + OF_DEPRECATED(ObjFW, 1, 1, + "Use -[getExtendedAttributeData:andType:forName:ofItemAtIRI:] instead"); /** * @brief Gets the extended attribute data and type for the specified name * of the item at the specified IRI. * @@ -346,10 +349,13 @@ ofItemAtIRI: (OFIRI *)IRI; /** * @brief Sets the extended attribute data for the specified name of the item * at the specified IRI. + * + * @deprecated Use @ref setExtendedAttributeData:andType:forName:ofItemAtIRI: + * instead. * * This method is not available for all IRIs. * * @param data The data for the extended attribute * @param name The name of the extended attribute Index: src/OFMutableArray.h ================================================================== --- src/OFMutableArray.h +++ src/OFMutableArray.h @@ -132,11 +132,11 @@ * @param object The replacement object */ - (void)setObject: (ObjectType)object atIndexedSubscript: (size_t)index; /** - * @brief Replaces the first object that has the same address as the specified + * @brief Replaces all objects that have the same address as the specified * object with the other specified object. * * @param oldObject The object to replace * @param newObject The replacement object */ Index: src/OFMutableArray.m ================================================================== --- src/OFMutableArray.m +++ src/OFMutableArray.m @@ -245,17 +245,13 @@ if (oldObject == nil || newObject == nil) @throw [OFInvalidArgumentException exception]; count = self.count; - for (size_t i = 0; i < count; i++) { - if ([self objectAtIndex: i] == oldObject) { + for (size_t i = 0; i < count; i++) + if ([self objectAtIndex: i] == oldObject) [self replaceObjectAtIndex: i withObject: newObject]; - - return; - } - } } - (void)removeObjectAtIndex: (size_t)idx { OF_UNRECOGNIZED_SELECTOR Index: tests/OFMutableArrayTests.m ================================================================== --- tests/OFMutableArrayTests.m +++ tests/OFMutableArrayTests.m @@ -86,15 +86,18 @@ - (void)testReplaceObjectIdenticalToWithObject { [_mutableArray insertObject: [[cArray[1] mutableCopy] autorelease] atIndex: 1]; + [_mutableArray insertObject: [[cArray[1] mutableCopy] autorelease] + atIndex: 4]; [_mutableArray replaceObjectIdenticalTo: cArray[1] withObject: cArray[0]]; OTAssertEqualObjects(_mutableArray, - ([OFArray arrayWithObjects: @"Foo", @"Bar", @"Foo", @"Baz", nil])); + ([OFArray arrayWithObjects: @"Foo", @"Bar", @"Foo", @"Baz", @"Bar", + nil])); } - (void)testReplaceObjectAtIndexWithObject { [_mutableArray replaceObjectAtIndex: 1