ObjFW  Check-in [87bd80a1d1]

Overview
Comment:Fix +[OFSystemInfo networkInterfaces] on OpenBSD
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 87bd80a1d1fbdb3faa002f67be1bc83d1796a1eaf8b227f19a00d477e996344d
User & Date: js on 2023-10-15 17:23:02
Other Links: manifest | tags
Context
2023-10-15
17:40
Don't rely on inet6_getscopeid for KAME check-in: 841dd6ddef user: js tags: trunk
17:23
Fix +[OFSystemInfo networkInterfaces] on OpenBSD check-in: 006e494026 user: js tags: 1.0
17:23
Fix +[OFSystemInfo networkInterfaces] on OpenBSD check-in: 87bd80a1d1 user: js tags: trunk
16:48
Update to Unicode 15.1 check-in: b0234d4248 user: js tags: trunk
Changes

Modified configure.ac from [e5cd06f0b5] to [71e00505cc].

1378
1379
1380
1381
1382
1383
1384











1385
1386
1387
1388
1389
1390
1391
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402







+
+
+
+
+
+
+
+
+
+
+







		AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket")
		;;
	esac

	AC_CHECK_HEADER(sys/socket.h, [
		AC_DEFINE(OF_HAVE_SYS_SOCKET_H, 1,
			[Whether we have sys/socket.h])
	])
	AC_CHECK_MEMBERS([struct sockaddr.sa_len], [], [], [
		#ifdef OF_HAVE_SYS_TYPES_H
		# include <sys/types.h>
		#endif
		#ifdef OF_HAVE_SYS_SOCKET_H
		# include <sys/socket.h>
		#endif
		#ifdef _WIN32
		# include <winsock2.h>
		#endif
	])
	AC_CHECK_TYPE([struct sockaddr_storage], [
		AC_DEFINE(OF_HAVE_SOCKADDR_STORAGE, 1,
			[Whether we have struct sockaddr_storage])
	], [], [
		#ifdef OF_HAVE_SYS_TYPES_H
		# include <sys/types.h>

Modified src/platform/POSIX/OFSystemInfo+NetworkInterfaces.m from [4ddf302e5d] to [f0d0641f3a].

237
238
239
240
241
242
243
244
245
246
247








248
249
250
251
252
253
254
255
237
238
239
240
241
242
243




244
245
246
247
248
249
250
251

252
253
254
255
256
257
258







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







#   endif
			}
#  endif

			[addresses addItem: &address];

next:
# ifdef _SIZEOF_ADDR_IFREQ
			buffer += _SIZEOF_ADDR_IFREQ(*current);
# else
			buffer += sizeof(struct ifreq);
#  ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
			if (current->ifr_addr.sa_len > sizeof(struct sockaddr))
				buffer += sizeof(struct ifreq) -
				    sizeof(struct sockaddr) +
				    current->ifr_addr.sa_len;
			else
#  endif
				buffer += sizeof(struct ifreq);
# endif
		}
	} @finally {
		free(ifrs);
		closesocket(sock);
	}
# endif