ObjFW  Check-in [9991eaba2b]

Overview
Comment:Merge trunk into 1.1 branch
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | 1.1
Files: files | file ages | folders
SHA3-256: 9991eaba2bd78e53a600c8a697fcd9dec4452c207368c408fc93876b4041832e
User & Date: js on 2024-04-14 09:50:50
Other Links: branch diff | manifest | tags
Context
2024-04-14
09:52
Update ChangeLog check-in: 17e7a7e4b7 user: js tags: 1.1
09:50
Merge trunk into 1.1 branch check-in: 9991eaba2b user: js tags: 1.1
09:48
OFMutableArray: Fix an inconsistency check-in: 3274500ffd user: js tags: trunk
2024-04-13
18:25
Update ChangeLog check-in: 510b2e5180 user: js tags: 1.1
Changes

Modified .github/workflows/fedora-mingw.yml from [4f77255619] to [9e238dad53].

1
2
3
4
5
6
7
8
9
10
11
12


13
14
15
16
17
18
19
20
name: fedora-mingw
on: [push, pull_request]
jobs:
  tests:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        include:
          - prefix: mingw32
            triple: i686-w64-mingw32
          - prefix: mingw64
            triple: x86_64-w64-mingw32


    container: fedora
    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
    - uses: actions/checkout@v4
    - name: autogen.sh












>
>
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
name: fedora-mingw
on: [push, pull_request]
jobs:
  tests:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        include:
          - prefix: mingw32
            triple: i686-w64-mingw32
          - prefix: mingw64
            triple: x86_64-w64-mingw32
          - 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
    - uses: actions/checkout@v4
    - name: autogen.sh

Modified Doxyfile from [0d15a3240a] to [75514e9314].

10
11
12
13
14
15
16

17
18
19
20
21
22
23
TYPEDEF_HIDES_STRUCT = YES
PREDEFINED = _Nonnull=						\
	     _Nullable=						\
	     DOXYGEN						\
	     OF_BOXABLE=					\
	     OF_CONSUMED=					\
	     OF_DESIGNATED_INITIALIZER=				\

	     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			\
	     OF_GENERIC(...)=					\
	     OF_HAVE_APPLETALK					\







>







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
TYPEDEF_HIDES_STRUCT = YES
PREDEFINED = _Nonnull=						\
	     _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			\
	     OF_GENERIC(...)=					\
	     OF_HAVE_APPLETALK					\

Modified src/OFFileIRIHandler.m from [0003c741c8] to [f8ff31676a].

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#if defined(OF_LINUX) || defined(OF_MACOS)
# include <sys/xattr.h>
#endif
#if defined(OF_FREEBSD) || defined(OF_NETBSD)
# include <sys/extattr.h>
#endif
#ifdef OF_HAIKU
# include <ctype.h>
# include <kernel/fs_attr.h>
#endif
#ifdef OF_WINDOWS
# include <utime.h>
#endif
#ifdef OF_DJGPP
# include <syslimits.h>







<







39
40
41
42
43
44
45

46
47
48
49
50
51
52
#if defined(OF_LINUX) || defined(OF_MACOS)
# include <sys/xattr.h>
#endif
#if defined(OF_FREEBSD) || defined(OF_NETBSD)
# include <sys/extattr.h>
#endif
#ifdef OF_HAIKU

# include <kernel/fs_attr.h>
#endif
#ifdef OF_WINDOWS
# include <utime.h>
#endif
#ifdef OF_DJGPP
# include <syslimits.h>

Modified src/OFIRIHandler.h from [d079d12198] to [717d2a05d6].

296
297
298
299
300
301
302



303
304
305
306
307
308
309
 *					 scheme
 */
- (bool)moveItemAtIRI: (OFIRI *)source toIRI: (OFIRI *)destination;

/**
 * @brief Returns the extended attribute data for the specified name of the
 *	  item at the specified IRI.



 *
 * 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
 * @return The extended attribute data for the specified name of the item at
 *	   the specified IRI







>
>
>







296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
 *					 scheme
 */
- (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
 * @return The extended attribute data for the specified name of the item at
 *	   the specified IRI
344
345
346
347
348
349
350



351
352
353
354
355
356
357
			 andType: (id _Nullable *_Nullable)type
			 forName: (OFString *)name
		     ofItemAtIRI: (OFIRI *)IRI;

/**
 * @brief Sets the extended attribute data for the specified name of the item
 *	  at the specified IRI.



 *
 * This method is not available for all IRIs.
 *
 * @param data The data for the extended attribute
 * @param name The name of the extended attribute
 * @param IRI The IRI of the item to set the extended attribute on
 * @throw OFSetItemAttributesFailedException Setting the extended attribute







>
>
>







347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
			 andType: (id _Nullable *_Nullable)type
			 forName: (OFString *)name
		     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
 * @param IRI The IRI of the item to set the extended attribute on
 * @throw OFSetItemAttributesFailedException Setting the extended attribute

Modified src/OFMutableArray.h from [0f29e4e52a] to [f701e95621].

130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
 *
 * @param index The index of the object to replace
 * @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
 *	  object with the other specified object.
 *
 * @param oldObject The object to replace
 * @param newObject The replacement object
 */
- (void)replaceObjectIdenticalTo: (ObjectType)oldObject
		      withObject: (ObjectType)newObject;







|







130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
 *
 * @param index The index of the object to replace
 * @param object The replacement object
 */
- (void)setObject: (ObjectType)object atIndexedSubscript: (size_t)index;

/**
 * @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
 */
- (void)replaceObjectIdenticalTo: (ObjectType)oldObject
		      withObject: (ObjectType)newObject;

Modified src/OFMutableArray.m from [201e964807] to [5945457370].

243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
	size_t count;

	if (oldObject == nil || newObject == nil)
		@throw [OFInvalidArgumentException exception];

	count = self.count;

	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
}








|
|

<
<
<
<







243
244
245
246
247
248
249
250
251
252




253
254
255
256
257
258
259
	size_t count;

	if (oldObject == nil || newObject == nil)
		@throw [OFInvalidArgumentException exception];

	count = self.count;

	for (size_t i = 0; i < count; i++)
		if ([self objectAtIndex: i] == oldObject)
			[self replaceObjectAtIndex: i withObject: newObject];




}

- (void)removeObjectAtIndex: (size_t)idx
{
	OF_UNRECOGNIZED_SELECTOR
}

Modified tests/OFMutableArrayTests.m from [840215fb12] to [96c3237cac].

84
85
86
87
88
89
90


91
92
93
94
95

96
97
98
99
100
101
102
	    ([OFArray arrayWithObjects: @"Foo", @"Foo", @"Foo", @"Baz", nil]));
}

- (void)testReplaceObjectIdenticalToWithObject
{
	[_mutableArray insertObject: [[cArray[1] mutableCopy] autorelease]
			    atIndex: 1];


	[_mutableArray replaceObjectIdenticalTo: cArray[1]
				     withObject: cArray[0]];

	OTAssertEqualObjects(_mutableArray,
	    ([OFArray arrayWithObjects: @"Foo", @"Bar", @"Foo", @"Baz", nil]));

}

- (void)testReplaceObjectAtIndexWithObject
{
	[_mutableArray replaceObjectAtIndex: 1
				 withObject: cArray[0]];








>
>




|
>







84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
	    ([OFArray arrayWithObjects: @"Foo", @"Foo", @"Foo", @"Baz", nil]));
}

- (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", @"Bar",
	    nil]));
}

- (void)testReplaceObjectAtIndexWithObject
{
	[_mutableArray replaceObjectAtIndex: 1
				 withObject: cArray[0]];