ObjFW  Check-in [b18c1fd0ea]

Overview
Comment:Remove trailing whitespaces
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: b18c1fd0eaf6a8291e0f1b55d4c4c07c7542c9b22d86fcb92c69738a50f0a0d4
User & Date: js on 2024-06-17 21:13:21
Other Links: manifest | tags
Context
2024-06-18
22:13
ObjFWHID: Add profile for extended N64 controller check-in: cb71b05d78 user: js tags: trunk
2024-06-17
21:13
Remove trailing whitespaces check-in: b18c1fd0ea user: js tags: trunk
21:08
Always use <ObjFW/ObjFW.h> in documentation check-in: 164f2fb4bf user: js tags: trunk
Changes

Modified .github/ISSUE_TEMPLATE/config.yml from [6a65ee54f2] to [85d0e5d54d].

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    about: Please use this if you have questions or want support.
  - name: ObjFW Matrix Room
    url: https://matrix.to/#/%23objfw:nil.im
    about: Please use this for interactive questions and support.
  - name: ObjFW Discord Channel
    url: https://objfw.nil.im/discord
    about:
      Please use this for interactive questions and support - it is bridged to 
      the Matrix room above.
  - name: ObjFW Telegram Room
    url: https://t.me/objfw
    about:
      Please use this for interactive questions and support - it is bridged to 
      the Matrix room above.
  - name: ObjFW Slack Channel
    url: https://objfw.nil.im/slack
    about:
      Please use this for interactive questions and support - it is bridged to 
      the Matrix room above.
  - name: ObjFW IRC Channel
    url: https://webchat.oftc.net/?channels=%23objfw
    about:
      Please use this for interactive questions and support - it is bridged to 
      the Matrix room above.







|




|




|




|

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    about: Please use this if you have questions or want support.
  - name: ObjFW Matrix Room
    url: https://matrix.to/#/%23objfw:nil.im
    about: Please use this for interactive questions and support.
  - name: ObjFW Discord Channel
    url: https://objfw.nil.im/discord
    about:
      Please use this for interactive questions and support - it is bridged to
      the Matrix room above.
  - name: ObjFW Telegram Room
    url: https://t.me/objfw
    about:
      Please use this for interactive questions and support - it is bridged to
      the Matrix room above.
  - name: ObjFW Slack Channel
    url: https://objfw.nil.im/slack
    about:
      Please use this for interactive questions and support - it is bridged to
      the Matrix room above.
  - name: ObjFW IRC Channel
    url: https://webchat.oftc.net/?channels=%23objfw
    about:
      Please use this for interactive questions and support - it is bridged to
      the Matrix room above.

Modified .github/workflows/ios.yml from [dbdab2a600] to [dd099fd639].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
name: ios
on: [push, pull_request]
jobs:
  build:
    runs-on: macos-latest
    strategy:
      matrix:
        arch:
          - arm64
          - x86_64
        configure_flags:
          - 
          - --disable-shared
    steps:
    - name: Install dependencies
      run: brew install autoconf automake
    - uses: actions/checkout@v4
    - name: autogen.sh
      run: ./autogen.sh











|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
name: ios
on: [push, pull_request]
jobs:
  build:
    runs-on: macos-latest
    strategy:
      matrix:
        arch:
          - arm64
          - x86_64
        configure_flags:
          -
          - --disable-shared
    steps:
    - name: Install dependencies
      run: brew install autoconf automake
    - uses: actions/checkout@v4
    - name: autogen.sh
      run: ./autogen.sh

Modified .github/workflows/macos-11.yml from [ade6268255] to [96eee8201b].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: macos-11
on: [push, pull_request]
jobs:
  tests:
    runs-on: macos-11
    strategy:
      matrix:
        configure_flags:
          - 
          - --disable-threads
          - --disable-threads --disable-sockets
          - --disable-threads --disable-files
          - --disable-threads --disable-sockets --disable-files
          - --disable-sockets
          - --disable-sockets --disable-files
          - --disable-files








|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: macos-11
on: [push, pull_request]
jobs:
  tests:
    runs-on: macos-11
    strategy:
      matrix:
        configure_flags:
          -
          - --disable-threads
          - --disable-threads --disable-sockets
          - --disable-threads --disable-files
          - --disable-threads --disable-sockets --disable-files
          - --disable-sockets
          - --disable-sockets --disable-files
          - --disable-files

Modified .github/workflows/macos-12.yml from [ee9ffcacad] to [2410a0204f].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: macos-12
on: [push, pull_request]
jobs:
  tests:
    runs-on: macos-12
    strategy:
      matrix:
        configure_flags:
          - 
          - --disable-threads
          - --disable-threads --disable-sockets
          - --disable-threads --disable-files
          - --disable-threads --disable-sockets --disable-files
          - --disable-sockets
          - --disable-sockets --disable-files
          - --disable-files








|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: macos-12
on: [push, pull_request]
jobs:
  tests:
    runs-on: macos-12
    strategy:
      matrix:
        configure_flags:
          -
          - --disable-threads
          - --disable-threads --disable-sockets
          - --disable-threads --disable-files
          - --disable-threads --disable-sockets --disable-files
          - --disable-sockets
          - --disable-sockets --disable-files
          - --disable-files

Modified .github/workflows/macos-13.yml from [e68bb1a491] to [1df5af5d4d].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: macos-13
on: [push, pull_request]
jobs:
  tests:
    runs-on: macos-13
    strategy:
      matrix:
        configure_flags:
          - 
          - --disable-threads
          - --disable-threads --disable-sockets
          - --disable-threads --disable-files
          - --disable-threads --disable-sockets --disable-files
          - --disable-sockets
          - --disable-sockets --disable-files
          - --disable-files








|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: macos-13
on: [push, pull_request]
jobs:
  tests:
    runs-on: macos-13
    strategy:
      matrix:
        configure_flags:
          -
          - --disable-threads
          - --disable-threads --disable-sockets
          - --disable-threads --disable-files
          - --disable-threads --disable-sockets --disable-files
          - --disable-sockets
          - --disable-sockets --disable-files
          - --disable-files

Modified .github/workflows/macos-14.yml from [af1606c56d] to [31e00bb0dd].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: macos-14
on: [push, pull_request]
jobs:
  tests:
    runs-on: macos-14
    strategy:
      matrix:
        configure_flags:
          - 
          - --disable-threads
          - --disable-threads --disable-sockets
          - --disable-threads --disable-files
          - --disable-threads --disable-sockets --disable-files
          - --disable-sockets
          - --disable-sockets --disable-files
          - --disable-files








|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: macos-14
on: [push, pull_request]
jobs:
  tests:
    runs-on: macos-14
    strategy:
      matrix:
        configure_flags:
          -
          - --disable-threads
          - --disable-threads --disable-sockets
          - --disable-threads --disable-files
          - --disable-threads --disable-sockets --disable-files
          - --disable-sockets
          - --disable-sockets --disable-files
          - --disable-files

Modified PLATFORMS.md from [4911b47d92] to [798ae85dd1].

166
167
168
169
170
171
172
173
174
175
176
177
178
179
180


Nintendo Switch
---------------

  * OS Versions: yuzu 1093
  * Architectures: AArch64
  * Compilers: GCC 12.1.0 (devkitA64 release 19) 
  * Runtimes: ObjFW
  * Limitations: No sockets, no shared libraries, not tested on real hardware


OpenBSD
-------








|







166
167
168
169
170
171
172
173
174
175
176
177
178
179
180


Nintendo Switch
---------------

  * OS Versions: yuzu 1093
  * Architectures: AArch64
  * Compilers: GCC 12.1.0 (devkitA64 release 19)
  * Runtimes: ObjFW
  * Limitations: No sockets, no shared libraries, not tested on real hardware


OpenBSD
-------

Modified README.md from [1d97f3d87c] to [5c05fa6b7d].

98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
  Ubuntu                     | `sudo apt install objfw`
  Windows (MSYS2/CLANG64)    | `pacman -S mingw-w64-clang-x86_64-objfw`
  Windows (MSYS2/CLANGARM64) | `pacman -S mingw-w64-clang-aarch64-objfw`
  Windows (MSYS2/UCRT64)     | `pacman -S mingw-w64-ucrt-x86_64-objfw`
  Windows (MSYS2/MINGW32)    | `pacman -S mingw-w64-i686-objfw`

  If your operating system is not listed, you can
  <a href="#building-from-source">build ObjFW from source</a>.  


<h1 id="license">License</h1>

  ObjFW is released under the GNU Lesser General Public License version 3.0.

  If this license does not work for you, contact me and we can find a solution.







|







98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
  Ubuntu                     | `sudo apt install objfw`
  Windows (MSYS2/CLANG64)    | `pacman -S mingw-w64-clang-x86_64-objfw`
  Windows (MSYS2/CLANGARM64) | `pacman -S mingw-w64-clang-aarch64-objfw`
  Windows (MSYS2/UCRT64)     | `pacman -S mingw-w64-ucrt-x86_64-objfw`
  Windows (MSYS2/MINGW32)    | `pacman -S mingw-w64-i686-objfw`

  If your operating system is not listed, you can
  <a href="#building-from-source">build ObjFW from source</a>.


<h1 id="license">License</h1>

  ObjFW is released under the GNU Lesser General Public License version 3.0.

  If this license does not work for you, contact me and we can find a solution.

Modified src/OFIRIHandler.m from [922d7f84e3] to [010f7934c1].

221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
		 * Use -[performSelector:withObject:withObject:] to avoid
		 * deprecation warning. This entire thing is purely for
		 * backwards compatibility.
		 */
		*data = [self performSelector: selector
				   withObject: name
				   withObject: IRI];
	
		if (type != NULL)
			*type = nil;

		return;
	}

	OF_UNRECOGNIZED_SELECTOR







|







221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
		 * Use -[performSelector:withObject:withObject:] to avoid
		 * deprecation warning. This entire thing is purely for
		 * backwards compatibility.
		 */
		*data = [self performSelector: selector
				   withObject: name
				   withObject: IRI];

		if (type != NULL)
			*type = nil;

		return;
	}

	OF_UNRECOGNIZED_SELECTOR

Modified src/OFSystemInfo.h from [74d105626e] to [c74583c9f4].

193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
 *
 * @return The path where user configuration for the application can be stored
 */
+ (nullable OFIRI *)userConfigIRI;

/**
 * @brief Returns a path where temporary files for can be stored.
 * 
 * If possible, returns a temporary directory for the user, otherwise returns a
 * global temporary directory.
 *
 * On UNIX systems, this adheres to the XDG Base Directory specification and
 * returns `/tmp` if `XDG_RUNTIME_DIR` is not set.@n
 * On macOS and iOS, this uses `_CS_DARWIN_USER_TEMP_DIR`, falling back to
 * `/tmp` if this fails.@n







|







193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
 *
 * @return The path where user configuration for the application can be stored
 */
+ (nullable OFIRI *)userConfigIRI;

/**
 * @brief Returns a path where temporary files for can be stored.
 *
 * If possible, returns a temporary directory for the user, otherwise returns a
 * global temporary directory.
 *
 * On UNIX systems, this adheres to the XDG Base Directory specification and
 * returns `/tmp` if `XDG_RUNTIME_DIR` is not set.@n
 * On macOS and iOS, this uses `_CS_DARWIN_USER_TEMP_DIR`, falling back to
 * `/tmp` if this fails.@n

Modified src/runtime/lookup-asm/lookup-asm-powerpc-elf.S from [8d46e8e4e6] to [bbe5fd3231].

57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

	mr	%r3, %r5
	blr

0:
#ifdef OF_PIC
	stwu	%r1, -16(%r1)
	mflr	%r0	
	stw	%r0, 20(%r1)
	stw	%r30, 8(%r1)

	bl	0f
0:
	mflr	%r30
	addis	%r30, %r30, .Lbiased_got2-0b@ha







|







57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

	mr	%r3, %r5
	blr

0:
#ifdef OF_PIC
	stwu	%r1, -16(%r1)
	mflr	%r0
	stw	%r0, 20(%r1)
	stw	%r30, 8(%r1)

	bl	0f
0:
	mflr	%r30
	addis	%r30, %r30, .Lbiased_got2-0b@ha

Modified src/runtime/lookup-asm/lookup-asm-sparc-elf.S from [cf87cc2c7b] to [532f6981d9].

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

.section .text
.macro GENERATE_LOOKUP name notFound
\name:
	tst	%o0
	bz	.LreturnNilMethod
	 btst	1, %o0
	bnz	.LtaggedPointer_\name	
	 nop

	ld	[%o0], %o2
	ld	[%o2 + 32], %o2

.Lmain_\name:
#ifdef OF_SELUID24







|







28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

.section .text
.macro GENERATE_LOOKUP name notFound
\name:
	tst	%o0
	bz	.LreturnNilMethod
	 btst	1, %o0
	bnz	.LtaggedPointer_\name
	 nop

	ld	[%o0], %o2
	ld	[%o2 + 32], %o2

.Lmain_\name:
#ifdef OF_SELUID24

Modified src/tls/OFSecureTransportTLSStream.m from [3c26a85d20] to [7db0fcb232].

228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
		 * Theoretically it is possible we block because Secure
		 * Transport cannot write without blocking. But unfortunately,
		 * Secure Transport does not tell us whether it's blocked on
		 * reading or writing. Waiting for the stream to be either
		 * readable or writable doesn't work either, as the stream is
		 * almost always at least ready for one of the two.
		 */
		[_underlyingStream asyncReadIntoBuffer: (void *)"" 
						length: 0
					   runLoopMode: runLoopMode];
		[_delegate retain];
		objc_autoreleasePoolPop(pool);
		return;
	}








|







228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
		 * Theoretically it is possible we block because Secure
		 * Transport cannot write without blocking. But unfortunately,
		 * Secure Transport does not tell us whether it's blocked on
		 * reading or writing. Waiting for the stream to be either
		 * readable or writable doesn't work either, as the stream is
		 * almost always at least ready for one of the two.
		 */
		[_underlyingStream asyncReadIntoBuffer: (void *)""
						length: 0
					   runLoopMode: runLoopMode];
		[_delegate retain];
		objc_autoreleasePoolPop(pool);
		return;
	}

Modified utils/ofarc/OFArc.m from [f0ee4f03f2] to [c72f4e8f7d].

181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
	OFFileManager *fileManager = [OFFileManager defaultManager];

	for (OFString *file in files) {
		OFFileAttributes attributes =
		    [fileManager attributesOfItemAtPath: file];

		if ([attributes.fileType isEqual: OFFileTypeDirectory])
			[expandedFiles addObjectsFromArray: 
			    [fileManager subpathsOfDirectoryAtPath: file]];
		else
			[expandedFiles addObject: file];
	}

	if (expandedFiles.count < 1) {
		[OFStdErr writeLine: OF_LOCALIZED(@"add_no_file_specified",







|







181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
	OFFileManager *fileManager = [OFFileManager defaultManager];

	for (OFString *file in files) {
		OFFileAttributes attributes =
		    [fileManager attributesOfItemAtPath: file];

		if ([attributes.fileType isEqual: OFFileTypeDirectory])
			[expandedFiles addObjectsFromArray:
			    [fileManager subpathsOfDirectoryAtPath: file]];
		else
			[expandedFiles addObject: file];
	}

	if (expandedFiles.count < 1) {
		[OFStdErr writeLine: OF_LOCALIZED(@"add_no_file_specified",