ObjFW  Changes On Branch 2ea81cb7c3f00587

Changes In Branch 1.1 Through [2ea81cb7c3] Excluding Merge-Ins

This is equivalent to a diff from f61f430bfb to 2ea81cb7c3

2024-04-29
03:31
OFEmbeddedIRIHandler: Fix missing static check-in: 5fb890f145 user: js tags: 1.1
2024-04-28
12:47
Skip (sym)link tests if unavailable check-in: 2ea81cb7c3 user: js tags: 1.1
12:47
Skip (sym)link tests if unavailable check-in: 523f721292 user: js tags: trunk
11:56
Workaround for OFSubprocessTests on Windows 9x check-in: 7937aed40b user: js tags: 1.1
2024-04-23
01:00
Simplify calls to objfw-embed check-in: 569a7aa657 user: js tags: trunk
2024-04-22
00:02
Merge trunk into 1.1 branch check-in: 69075d7082 user: js tags: 1.1
2024-04-21
19:55
Add missing NTAPI for RtlGenRandom check-in: f61f430bfb user: js tags: trunk
19:15
Use RtlGenRandom on Windows if available check-in: 2bcb2bd40f user: js tags: trunk

Added .github/workflows/macos-12.yml version [ee9ffcacad].
































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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
          - --disable-shared
    steps:
    - name: Install dependencies
      run: brew install autoconf automake
    - uses: actions/checkout@v4
    - name: autogen.sh
      run: ./autogen.sh
    - name: configure
      run: ./configure ${{ matrix.configure_flags }}
    - name: make
      run: make -j$(sysctl -n hw.logicalcpu)
    - name: make check
      run: make check
    - name: make install
      run: sudo make install

Deleted .github/workflows/macos-latest.yml version [2ffa2189c3].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31































-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
name: macos-latest
on: [push, pull_request]
jobs:
  tests:
    runs-on: macos-latest
    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
          - --disable-shared
    steps:
    - name: Install dependencies
      run: brew install autoconf automake
    - uses: actions/checkout@v4
    - name: autogen.sh
      run: ./autogen.sh
    - name: configure
      run: ./configure ${{ matrix.configure_flags }}
    - name: make
      run: make -j$(sysctl -n hw.logicalcpu)
    - name: make check
      run: make check
    - name: make install
      run: sudo make install

Modified configure.ac from [63f2b5a434] to [2163d34dd5].

1

2
3
4
5
6
7

8
9

10
11
12
13
14
15
16

1
2
3
4
5
6

7


8
9
10
11
12
13
14
15
-
+





-
+
-
-
+







AC_INIT(ObjFW, 1.2dev, js@nil.im, objfw, https://objfw.nil.im/)
AC_INIT(ObjFW, 1.1.2, js@nil.im, objfw, https://objfw.nil.im/)
AC_CONFIG_SRCDIR(src)
AC_CONFIG_AUX_DIR(build-aux)
AC_CONFIG_MACRO_DIR(build-aux/m4)

AC_DEFINE(OBJFW_VERSION_MAJOR, 1, [The major version of ObjFW])
AC_DEFINE(OBJFW_VERSION_MINOR, 2, [The minor version of ObjFW])
AC_DEFINE(OBJFW_VERSION_MINOR, 1, [The minor version of ObjFW])
dnl This may only be set to 1.2 once 1.2 is released
AC_SUBST(BUNDLE_VERSION, 1.1.0)
AC_SUBST(BUNDLE_VERSION, 1.1.2)
AC_SUBST(BUNDLE_SHORT_VERSION, 1.1)

for i in configure.ac build-aux/m4/*; do
	AS_IF([test $i -nt configure], [
		AC_MSG_ERROR([$i is newer than configure! Run ./autogen.sh!])
	])
done
2040
2041
2042
2043
2044
2045
2046
2047

2048
2049
2050
2051
2052
2053
2054
2039
2040
2041
2042
2043
2044
2045

2046
2047
2048
2049
2050
2051
2052
2053







-
+







])

AS_IF([test x"$GOBJC" = x"yes"], [
	OBJCFLAGS="$OBJCFLAGS -Wwrite-strings -Wpointer-arith"

	AC_ARG_ENABLE(werror,
		AS_HELP_STRING([--disable-werror], [do not build with -Werror]))
	AS_IF([test x"$enable_werror" != x"no"], [
	AS_IF([test x"$enable_werror" = x"yes"], [
		OBJCFLAGS="$OBJCFLAGS -Werror"
	])

	old_OBJCFLAGS="$OBJCFLAGS"
	OBJCFLAGS="$OBJCFLAGS -Werror"
	AC_MSG_CHECKING(whether we need -Wno-strict-aliasing due to GCC bugs)
	AC_COMPILE_IFELSE([

Modified tests/OFFileManagerTests.m from [ff06e4c90e] to [08e4ea3058].

304
305
306
307
308
309
310


311
312





313
314
315
316
317
318
319
304
305
306
307
308
309
310
311
312


313
314
315
316
317
318
319
320
321
322
323
324







+
+
-
-
+
+
+
+
+







	    IRIByAppendingPathComponent: @"source"];
	OFIRI *destinationIRI = [_testsDirectoryIRI
	    IRIByAppendingPathComponent: @"destination"];
	OFFileAttributes attributes;

	[@"test" writeToIRI: sourceIRI];

	@try {
		[_fileManager
	[_fileManager linkItemAtPath: sourceIRI.fileSystemRepresentation
			      toPath: destinationIRI.fileSystemRepresentation];
		    linkItemAtPath: sourceIRI.fileSystemRepresentation
			    toPath: destinationIRI.fileSystemRepresentation];
	} @catch (OFNotImplementedException *e) {
		OTSkip(@"Links not supported");
	}

	attributes = [_fileManager attributesOfItemAtIRI: destinationIRI];
	OTAssertEqual(attributes.fileType, OFFileTypeRegular);
	OTAssertEqual(attributes.fileSize, 4);
	OTAssertEqualObjects([OFString stringWithContentsOfIRI: destinationIRI],
	    @"test");
}
346
347
348
349
350
351
352


353
354
355
356
357
358
359
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366







+
+







	} @catch (OFCreateSymbolicLinkFailedException *e) {
		if (e.errNo != EPERM)
			@throw e;

		OTSkip(@"No permission to create symlink.\n"
		    @"On Windows, only the administrator can create symbolic "
		    @"links.");
	} @catch (OFNotImplementedException *e) {
		OTSkip(@"Symlinks not supported");
	}

	attributes = [_fileManager attributesOfItemAtIRI: destinationIRI];
	OTAssertEqual(attributes.fileType, OFFileTypeSymbolicLink);
	OTAssertEqualObjects([OFString stringWithContentsOfIRI: destinationIRI],
	    @"test");
}

Modified tests/subprocess/Subprocess.m from [75e4dad33e] to [f5dfed46e5].

32
33
34
35
36
37
38
39

40
41
42
43











44
45
46
47
32
33
34
35
36
37
38

39
40



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55







-
+

-
-
-
+
+
+
+
+
+
+
+
+
+
+




	OFString *line;

	if (![[OFApplication arguments] isEqual:
	    [OFArray arrayWithObjects: @"tést", @"123", nil]])
		[OFApplication terminateWithStatus: 1];

	if (![[[OFApplication environment] objectForKey: @"tëst"]
	    isEqual: @"yés"])
	    isEqual: @"yés"]) {
		[OFApplication terminateWithStatus: 2];

	while ((line = [OFStdIn readLine]) != nil)
		[OFStdOut writeLine: line.uppercaseString];
	}

#ifdef OF_WINDOWS
	/* On Windows 9x, closing the pipe doesn't seem to cause EOF. */
	if (![OFSystemInfo isWindowsNT]) {
		if ((line = [OFStdIn readLine]) != nil)
			[OFStdOut writeLine: line.uppercaseString];
	} else
#endif
		while ((line = [OFStdIn readLine]) != nil)
			[OFStdOut writeLine: line.uppercaseString];

	[OFApplication terminate];
}
@end