<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/4405385bb024205da873fb3b4aabf9099b1cd5be">https://github.com/macports/macports-legacy-support/commit/4405385bb024205da873fb3b4aabf9099b1cd5be</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 4405385bb024205da873fb3b4aabf9099b1cd5be
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Thu May 30 18:26:43 2024 -0700
<span style='display:block; white-space:pre;color:#404040;'> Move renameat() to the proper header.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Commit e9cf5ab3 moved the renameat() declaration from sys/stdio.h to
</span><span style='display:block; white-space:pre;color:#404040;'> stdio.h, but this is incompatible with the normal header setup.
</span><span style='display:block; white-space:pre;color:#404040;'> This moves it back to restore compatibility, but requires knowledge
</span><span style='display:block; white-space:pre;color:#404040;'> of the SDK version to cope with the absence of sys/stdio.h in
</span><span style='display:block; white-space:pre;color:#404040;'> pre-10.10 SDKs. This is handled via the new sdkversion.h.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Re: https://trac.macports.org/ticket/69867
</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;'> Builds and passes tests on all platforms, including the new test for
</span><span style='display:block; white-space:pre;color:#404040;'> this issue.
</span>---
include/_macports_extras/sdkversion.h | 10 +++++++++
include/stdio.h | 23 -------------------
include/sys/stdio.h | 42 +++++++++++++++++++++++++++++++++++
manual_tests/headerinfo.c | 5 +++++
src/atcalls.c | 1 +
5 files changed, 58 insertions(+), 23 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/_macports_extras/sdkversion.h b/include/_macports_extras/sdkversion.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 04d5f2f..c0e9987 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/_macports_extras/sdkversion.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/_macports_extras/sdkversion.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -87,6 +87,12 @@
</span> * in manual_tests/headerinfo.c.
*/
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#if MAC_OS_X_VERSION_MAX_ALLOWED < 101000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define __MPLS_PRE_10_10_SDK 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define __MPLS_PRE_10_10_SDK 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> /* Then correct our munging, if necessary */
#ifdef __MPLS_NEED_MIN_REQUIRED_FIXUP
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -110,6 +116,10 @@
</span>
/* If non-Apple, just assume an "infinitely late" SDK */
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef __MPLS_PRE_10_10_SDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define __MPLS_PRE_10_10_SDK 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #endif /* !__APPLE__ */
#endif /* _MACPORTS_SDKVERSION_H_ */
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/stdio.h b/include/stdio.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 89f2dae..8bff89f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/stdio.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/stdio.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -75,27 +75,4 @@ __MP__END_DECLS
</span>
#endif /* __MP_LEGACY_SUPPORT_FMEMOPEN__ */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-/* renameat */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#if __MP_LEGACY_SUPPORT_ATCALLS__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * [XSI] The ssize_t and size_t types shall be defined as described
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * in <sys/types.h>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifndef _SIZE_T
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#define _SIZE_T
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-typedef __darwin_size_t size_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifndef _SSIZE_T
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#define _SSIZE_T
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-typedef __darwin_ssize_t ssize_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-__MP__BEGIN_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extern int renameat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-__MP__END_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#endif /* __MP_LEGACY_SUPPORT_ATCALLS__ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> #endif /* _MACPORTS_STDIO_H_ */
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/sys/stdio.h b/include/sys/stdio.h
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..c047c9a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/sys/stdio.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,42 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Copyright (c) 2010 Chris Jones <jonesc@macports.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Copyright (c) 2018 Ken Cunningham <kencu@macports.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Permission to use, copy, modify, and distribute this software for any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * purpose with or without fee is hereby granted, provided that the above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * copyright notice and this permission notice appear in all copies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
</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;'>+#ifndef _MACPORTS_SYS_STDIO_H_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _MACPORTS_SYS_STDIO_H_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* MP support header */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include "MacportsLegacySupport.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Do our SDK-related setup */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <_macports_extras/sdkversion.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Include the primary system sys/stdio.h (10.7+ only) */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if !__MPLS_PRE_10_10_SDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include_next <sys/stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if __MP_LEGACY_SUPPORT_ATCALLS__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* renameat */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+__MP__BEGIN_DECLS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extern int renameat(int olddirfd, const char *oldpath,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int newdirfd, const char *newpath);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+__MP__END_DECLS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* __MP_LEGACY_SUPPORT_ATCALLS__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* _MACPORTS_SYS_STDIO_H_ */
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/manual_tests/headerinfo.c b/manual_tests/headerinfo.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 66f0933..a11557f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/manual_tests/headerinfo.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/manual_tests/headerinfo.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,6 +54,11 @@ print_defs(void)
</span> #else
PRINT_UNDEF(MAC_OS_X_VERSION_MAX_ALLOWED);
#endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __MPLS_PRE_10_10_SDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PRINT_VAR(__MPLS_PRE_10_10_SDK);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PRINT_UNDEF(__MPLS_PRE_10_10_SDK);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span> }
/* Do this afterward, since it might influence the definitions. */
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/atcalls.c b/src/atcalls.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 1b7f07f..2541cb2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/atcalls.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/atcalls.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,6 +46,7 @@
</span> #include <sys/mount.h>
#include <sys/ucred.h>
#include <sys/shm.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <sys/stdio.h> /* For renameat() */
</span> #include <sys/unistd.h>
#include <assert.h>
</pre><pre style='margin:0'>
</pre>