<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/d281d6a254cd3c9769160d0d3908ee88c4d0df05">https://github.com/macports/macports-legacy-support/commit/d281d6a254cd3c9769160d0d3908ee88c4d0df05</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d281d6a254cd3c9769160d0d3908ee88c4d0df05
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Sun Jan 19 13:15:28 2025 -0800
<span style='display:block; white-space:pre;color:#404040;'> Rename best_fchdir to __mpls_best_fchdir.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Since best_fchdir is used in multiple sources, it needs to be global,
</span><span style='display:block; white-space:pre;color:#404040;'> but it shouldn't pollute the global namespace without a suitable
</span><span style='display:block; white-space:pre;color:#404040;'> prefix.
</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;'> Passes all tests on all platforms.
</span>---
src/atcalls.h | 10 +++++-----
src/pthread_chdir.c | 4 ++--
test/test_traverse_cwd.c | 2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/atcalls.h b/src/atcalls.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 17ae61d..3719f77 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/atcalls.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/atcalls.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,25 +43,25 @@
</span> #define PROTECT_ERRNO(what) ({ int __err = (errno); what; errno = __err; })
#define ERR_ON(code, what) if (what) { errno = (code); return -1; }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-int best_fchdir(int dirfd);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int __mpls_best_fchdir(int dirfd);
</span>
#define _ATCALL(fd, p, onerr, what) \
({ typeof(what) __result; \
int oldCWD = -1; \
if (fd != AT_FDCWD && p[0] != '/') { \
oldCWD = open(".", O_RDONLY); \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if (best_fchdir(-1) < 0 && oldCWD != -1) { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (__mpls_best_fchdir(-1) < 0 && oldCWD != -1) { \
</span> close(oldCWD); oldCWD = -1; \
} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if (best_fchdir(fd) < 0) { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PROTECT_ERRNO(best_fchdir(oldCWD)); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (__mpls_best_fchdir(fd) < 0) { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PROTECT_ERRNO(__mpls_best_fchdir(oldCWD)); \
</span> if (oldCWD != -1) PROTECT_ERRNO(close(oldCWD)); \
return onerr; \
} \
} \
__result = (what); \
if (fd != AT_FDCWD && p[0] != '/') { \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- PROTECT_ERRNO(best_fchdir(oldCWD)); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PROTECT_ERRNO(__mpls_best_fchdir(oldCWD)); \
</span> if (oldCWD != -1) PROTECT_ERRNO(close(oldCWD)); \
} \
__result; \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pthread_chdir.c b/src/pthread_chdir.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 4986917..cf92b05 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/pthread_chdir.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/pthread_chdir.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,7 +85,7 @@ pthread_fchdir_np(int fd)
</span> #include <pthread.h>
int
<span style='display:block; white-space:pre;background:#ffe0e0;'>-best_fchdir(int dirfd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+__mpls_best_fchdir(int dirfd)
</span> {
return pthread_fchdir_np(dirfd);
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -95,7 +95,7 @@ best_fchdir(int dirfd)
</span> #include <unistd.h>
int
<span style='display:block; white-space:pre;background:#ffe0e0;'>-best_fchdir(int dirfd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+__mpls_best_fchdir(int dirfd)
</span> {
/*
* Accept dirfd == -1 (return to process cwd in __pthread_fchdir),
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/test/test_traverse_cwd.c b/test/test_traverse_cwd.c
</span><span style='display:block; white-space:pre;color:#808080;'>index b7ae360..56a5ae6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/test/test_traverse_cwd.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/test/test_traverse_cwd.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -172,7 +172,7 @@ int main(int argc, char **argv)
</span> if (!strcmp(cwdbuf1, cwdbuf2))
{
fprintf(stderr, "Post-traversal chdir(..) silently failed to change directory!\n");
<span style='display:block; white-space:pre;background:#ffe0e0;'>- fprintf(stderr, "Replacing best_fchdir() in fdopendir() with fchdir() fixes this badly.\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fprintf(stderr, "Replacing __mpls_best_fchdir() in fdopendir() with fchdir() fixes this badly.\n");
</span> fprintf(stderr, "Using _ATCALL for opendir fixes this properly.\n");
rc = EXIT_FAILURE;
}
</pre><pre style='margin:0'>
</pre>