<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.

</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/61e9d6ed9b6e4a5aeee18ae8414b2c0e7d46ddc3">https://github.com/macports/macports-legacy-support/commit/61e9d6ed9b6e4a5aeee18ae8414b2c0e7d46ddc3</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 61e9d6ed9b6e4a5aeee18ae8414b2c0e7d46ddc3
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Sun Nov 17 14:44:23 2024 -0800

<span style='display:block; white-space:pre;color:#404040;'>    test_fdopendir: Add versions with 32/64-bit inodes.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This ensures that both 32- and 64-bit inode cases are tested,
</span><span style='display:block; white-space:pre;color:#404040;'>    regardless of the platform default.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'>    Pass (except known ino32 bug) on all platforms, with all applicable
</span><span style='display:block; white-space:pre;color:#404040;'>    SDKs.
</span>---
 Makefile                    | 11 +++++++++++
 test/test_fdopendir_ino32.c | 26 ++++++++++++++++++++++++++
 test/test_fdopendir_ino64.c | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 69 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/Makefile b/Makefile
</span><span style='display:block; white-space:pre;color:#808080;'>index 08dd7e8..945e0f2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/Makefile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/Makefile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -169,6 +169,9 @@ TESTSYSRUNS     := $(patsubst \
</span> REALPATHSRCS_C  := $(wildcard $(TESTNAMEPREFIX)realpath*.c)
 REALPATHRUNS    := $(patsubst \
                      $(TESTNAMEPREFIX)%.c,$(TESTRUNPREFIX)%,$(REALPATHSRCS_C))
<span style='display:block; white-space:pre;background:#e0ffe0;'>+FDOPENDIRSRCS_C := $(wildcard $(TESTNAMEPREFIX)fdopendir*.c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FDOPENDIRRUNS   := $(patsubst \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     $(TESTNAMEPREFIX)%.c,$(TESTRUNPREFIX)%,$(FDOPENDIRSRCS_C))
</span> 
 # Tests that are only run manually
 MANTESTDIR       = manual_tests
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -475,6 +478,10 @@ $(TESTNAMEPREFIX)realpath_nonext.o: $(TESTNAMEPREFIX)realpath.c
</span> $(TESTNAMEPREFIX)realpath_nonposix.o: $(TESTNAMEPREFIX)realpath.c
 $(TESTNAMEPREFIX)realpath_compat.o: $(TESTNAMEPREFIX)realpath.c
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# The fdopendir_ino?? tests include the fdopendir source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+$(TESTNAMEPREFIX)fdopendir_ino32.o: $(TESTNAMEPREFIX)fdopendir.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+$(TESTNAMEPREFIX)fdopendir_ino64.o: $(TESTNAMEPREFIX)fdopendir.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Provide a target for all "darwin_c" tests
 $(XTESTRUNPREFIX)darwin_c_all: $(DARWINRUNS)
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -484,6 +491,9 @@ $(XTESTRUNPREFIX)scandir_all: $(SCANDIRRUNS)
</span> # Provide a target for all "realpath" tests
 $(TESTRUNPREFIX)realpath_all: $(REALPATHRUNS)
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Provide a target for all "fdopendir" tests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+$(TESTRUNPREFIX)fdopendir_all: $(FDOPENDIRRUNS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> $(MANTESTRUNS): $(MANRUNPREFIX)%: $(MANTESTPREFIX)%
        $< $(TEST_ARGS)
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -544,6 +554,7 @@ clean: $(MANRUNPREFIX)clean test_clean
</span> .PHONY: $(TESTRUNS) $(XTESTRUNS) $(MANTESTRUNS)
 .PHONY: $(MANRUNPREFIX)clean test_clean xtest_clean
 .PHONY: $(XTESTRUNPREFIX)scandir_all
<span style='display:block; white-space:pre;background:#e0ffe0;'>+.PHONY: $(TESTRUNPREFIX)fdopendir_all
</span> .PHONY: install install-headers install-lib install-dlib install-slib
 .PHONY: tiger-bins install-tiger
 .PHONY: allobjs dlibobjs slibobjs syslibobjs
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/test/test_fdopendir_ino32.c b/test/test_fdopendir_ino32.c
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a4c31e4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/test/test_fdopendir_ino32.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Version of test_fdopendir with 32-bit inodes (if possible).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * This doesn't work on arm64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if defined(__arm64__) && __arm64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <libgen.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+main(int argc, char *argv[])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  (void) argc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  printf("%s doesn't work on arm64.\n", basename(argv[0]));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else /* !arm64 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _DARWIN_NO_64_BIT_INODE 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include "test_fdopendir.c"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* !arm64 */
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/test/test_fdopendir_ino64.c b/test/test_fdopendir_ino64.c
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..36a91b1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/test/test_fdopendir_ino64.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Version of test_fdopendir with 64-bit inodes (if possible).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * This is primarily for 10.5, where 64-bit inodes are supported
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * but not the default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Currently, 64-bit inodes don't work on 10.4.  Although requesting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * 64-bit inode support is ignored by the 10.4 SDK, it can work when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * building with a 10.5+ SDK, so we explicitly disable it here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    || __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <libgen.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+main(int argc, char *argv[])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  (void) argc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  printf("%s doesn't work on 10.4.\n", basename(argv[0]));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else /* >= 10.5 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _DARWIN_USE_64_BIT_INODE 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include "test_fdopendir.c"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* >= 10.5 */
</span></pre><pre style='margin:0'>

</pre>