<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/126e6cb43967d79a1874a3464fe3c5a751ab82cd">https://github.com/macports/macports-legacy-support/commit/126e6cb43967d79a1874a3464fe3c5a751ab82cd</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 126e6cb43967d79a1874a3464fe3c5a751ab82cd
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Mon Jun 30 21:31:36 2025 -0700

<span style='display:block; white-space:pre;color:#404040;'>    fileinfo: Make sure we can tolerate an unexpected stat64.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Although we only use 'struct stat' here (which may or may not be the
</span><span style='display:block; white-space:pre;color:#404040;'>    same as a 'struct stat64'), just in case we unexpectedly get a stat64
</span><span style='display:block; white-space:pre;color:#404040;'>    function, we should make sure the buffer is large enough to hold it.
</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;'>    Still works with updated buffer definition.
</span>---
 tools/fileinfo.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tools/fileinfo.c b/tools/fileinfo.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 43bb167..3325c91 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tools/fileinfo.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tools/fileinfo.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -235,7 +235,11 @@ static void
</span> report_stat(const char *name, lstat_fn_t *os_lstat, int verbose)
 {
   int err;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  struct stat sb;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  /* Paranoia - make sure we can accomodate an unexpected stat64 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  union stat_u {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    struct stat s;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    struct s64 __DARWIN_STRUCT_STAT64 s64;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  } sb;
</span>   char rpath[MAXPATHLEN];
 
   printf("lstat() for '%s':\n", name);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -247,17 +251,17 @@ report_stat(const char *name, lstat_fn_t *os_lstat, int verbose)
</span>       printf("  full path is %s\n", rpath);
     }
   }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  err = (*os_lstat)(name, &sb);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  err = (*os_lstat)(name, &sb.s);
</span>   if (err) {
     printf("  *** failed: %s (%d)\n", strerror(errno), errno);
     return;
   }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  report_type(sb.st_mode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  report_time("atime    ", &sb.st_atimespec);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  report_time("mtime    ", &sb.st_mtimespec);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  report_time("ctime    ", &sb.st_ctimespec);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  report_type(sb.s.st_mode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  report_time("atime    ", &sb.s.st_atimespec);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  report_time("mtime    ", &sb.s.st_mtimespec);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  report_time("ctime    ", &sb.s.st_ctimespec);
</span> #ifdef _DARWIN_FEATURE_64_BIT_INODE
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  report_time("birthtime", &sb.st_birthtimespec);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  report_time("birthtime", &sb.s.st_birthtimespec);
</span> #endif
 }
 
</pre><pre style='margin:0'>

</pre>