<pre style='margin:0'>
Blair Zajac (blair) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/bd2c11b59e573ca95a1f80a229a08967d6db8733">https://github.com/macports/macports-ports/commit/bd2c11b59e573ca95a1f80a229a08967d6db8733</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new bd2c11b59e5 procmail: fix compile with clang 15.0.0
</span>bd2c11b59e5 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit bd2c11b59e573ca95a1f80a229a08967d6db8733
</span>Author: Blair Zajac <blair@macports.org>
AuthorDate: Sun May 26 19:41:36 2024 -0700

<span style='display:block; white-space:pre;color:#404040;'>    procmail: fix compile with clang 15.0.0
</span>---
 mail/procmail/Portfile                          |   3 +-
 mail/procmail/files/procmail-3.24-modern-c.diff | 257 ++++++++++++++++++++++++
 2 files changed, 259 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/procmail/Portfile b/mail/procmail/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c132bff4992..98f388bcc3f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/mail/procmail/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/procmail/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,7 +46,8 @@ post-extract {
</span> }
 
 patchfiles          patch-src-Makefile.0.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-avoid-strlcat-strlcpy.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-avoid-strlcat-strlcpy.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    procmail-3.24-modern-c.diff
</span> 
 post-patch {
     reinplace "s%^/\\*\\(#define\[ \t\]*DEF\[S\]*PATH\[ \t\]*\".*\\)\".*$%\\1:${prefix}/bin\"%" ${worksrcpath}/config.h
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/procmail/files/procmail-3.24-modern-c.diff b/mail/procmail/files/procmail-3.24-modern-c.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5b90fa64965
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/procmail/files/procmail-3.24-modern-c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,257 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch was taken from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/gentoo/gentoo/commit/47750a2e4af92aa6566c3225985f7515b63b61dd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and converted from `patch -p1` to `patch -p0` format.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The original patch header follows.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 8cfd570fd14c8fb9983859767ab1851bfd064b64 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 31 Jan 2024 18:41:21 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Fixed build with gcc-14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MIME-Version: 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Content-Type: text/plain; charset=UTF-8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Content-Transfer-Encoding: 8bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
</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;'>+diff -ru ../procmail-3.24.orig/initmake ./initmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ../procmail-3.24.orig/initmake 2022-03-02 01:52:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./initmake     2024-05-26 19:33:27.043216815 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -124,7 +124,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat >_autotst.c <<HERE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int main()
</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;'>+ HERE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -200,7 +200,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/stat.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { struct stat buf;return!&buf;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HERE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -ru ../procmail-3.24.orig/src/autoconf ./src/autoconf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ../procmail-3.24.orig/src/autoconf     2022-03-02 01:52:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./src/autoconf 2024-05-26 19:33:27.046257179 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -363,6 +363,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <unistd.h>         /* getpid() getppid() */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <fcntl.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <signal.h>         /* SIGKILL */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -416,6 +417,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int dolock,child[NR_of_forks],timeout,fdcollect;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char dirlocktest[]="_locktest";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int killchildren()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  i=NR_of_forks;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     if(child[--i]>0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  kill(child[i],SIGTERM),child[i]=0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  while(i);
</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;'>+ void stimeout()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { timeout=1;close(fdcollect);killchildren();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -437,7 +448,79 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return pid;
</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;'>+-int main(argc,argv)char*argv[];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static int oldfdlock;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef F_SETLKW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static struct flock flck;         /* why can't it be a local variable? */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef F_LOCK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static off_t oldlockoffset;
</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;'>++int fdlock(int fd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ int i;unsigned gobble[GOBBLE>>2];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0);               /* SunOS crash test */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  oldfdlock=fd;fd=0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(MSK_fcntl&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef F_SETLKW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   { static unsigned extra;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     flck.l_type=F_WRLCK;flck.l_whence=SEEK_SET;flck.l_start=tell(oldfdlock);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     if(!extra--)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  extra=MIN_locks/4,flck.l_len=2,i|=fcntl(oldfdlock,F_SETLK,&flck);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     flck.l_len=0;fd|=fcntl(oldfdlock,F_SETLKW,&flck);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     fd=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(MSK_lockf&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef F_LOCK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     oldlockoffset=tell(oldfdlock),fd|=lockf(oldfdlock,F_LOCK,(off_t)0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     fd=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(MSK_flock&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef LOCK_EX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     fd|=flock(oldfdlock,LOCK_EX);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     fd=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return fd;
</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;'>++int sfdlock(int fd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ int i;unsigned gobble[GOBBLE>>2];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0);               /* SunOS crash test */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return fdlock(fd);
</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;'>++int fdunlock()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ int i;unsigned gobble[GOBBLE];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for(i=GOBBLE;i;gobble[--i]=~(unsigned)0);  /* some SunOS libs mess this up */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(MSK_flock&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef LOCK_EX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     i|=flock(oldfdlock,LOCK_UN);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     i=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(MSK_lockf&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef F_LOCK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   { lseek(oldfdlock,oldlockoffset,SEEK_SET);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     i|=lockf(oldfdlock,F_LOCK,(off_t)2);i|=lockf(oldfdlock,F_ULOCK,(off_t)0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     i=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(MSK_fcntl&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef F_SETLKW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     flck.l_type=F_UNLCK,flck.l_len=0,i|=fcntl(oldfdlock,F_SETLK,&flck);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     i=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(!i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     for(i=GOBBLE;i&&gobble[--i]==~(unsigned)0;);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return i;
</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;'>++int main(argc,argv)int argc;char*argv[];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { int goodlock,testlock,i,pip[2],pipw[2];time_t otimet;unsigned dtimet;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   static char filename[]="_locktst.l0";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   close(0);goodlock=0;testlock=FIRST_lock;signal(SIGPIPE,SIG_DFL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -576,88 +659,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   puts("Kernel-locking tests completed.");fprintf(stderr,"\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return EXIT_SUCCESS;
</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;'>+-int killchildren()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{ int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  i=NR_of_forks;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     if(child[--i]>0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  kill(child[i],SIGTERM),child[i]=0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  while(i);
</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;'>+-int sfdlock(fd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{ int i;unsigned gobble[GOBBLE>>2];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0);               /* SunOS crash test */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return fdlock(fd);
</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;'>+-static oldfdlock;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef F_SETLKW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-static struct flock flck;         /* why can't it be a local variable? */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef F_LOCK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-static off_t oldlockoffset;
</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;'>+-int fdlock(fd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{ int i;unsigned gobble[GOBBLE>>2];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0);               /* SunOS crash test */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  oldfdlock=fd;fd=0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(MSK_fcntl&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef F_SETLKW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   { static unsigned extra;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     flck.l_type=F_WRLCK;flck.l_whence=SEEK_SET;flck.l_start=tell(oldfdlock);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     if(!extra--)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  extra=MIN_locks/4,flck.l_len=2,i|=fcntl(oldfdlock,F_SETLK,&flck);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     flck.l_len=0;fd|=fcntl(oldfdlock,F_SETLKW,&flck);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     fd=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(MSK_lockf&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef F_LOCK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     oldlockoffset=tell(oldfdlock),fd|=lockf(oldfdlock,F_LOCK,(off_t)0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     fd=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(MSK_flock&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef LOCK_EX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     fd|=flock(oldfdlock,LOCK_EX);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     fd=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return fd;
</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;'>+-int fdunlock()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{ int i;unsigned gobble[GOBBLE];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for(i=GOBBLE;i;gobble[--i]=~(unsigned)0);  /* some SunOS libs mess this up */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(MSK_flock&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef LOCK_EX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     i|=flock(oldfdlock,LOCK_UN);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     i=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(MSK_lockf&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef F_LOCK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   { lseek(oldfdlock,oldlockoffset,SEEK_SET);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     i|=lockf(oldfdlock,F_LOCK,(off_t)2);i|=lockf(oldfdlock,F_ULOCK,(off_t)0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     i=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(MSK_fcntl&dolock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef F_SETLKW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     flck.l_type=F_UNLCK,flck.l_len=0,i|=fcntl(oldfdlock,F_SETLK,&flck);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     i=1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(!i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     for(i=GOBBLE;i&&gobble[--i]==~(unsigned)0;);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HERE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if $MAKE _autotst >_autotst.rrr 2>&1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1033,6 +1034,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef NO_COMSAT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "network.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int setrgid();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int setresgid();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int main(){char a[2];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  endpwent();endgrent();memmove(a,"0",1);bcopy("0",a,1);strcspn(a,"0");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  strtol("0",(char**)0,10);strchr("0",'0');strpbrk(a,"0");rename(a,"0");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1059,7 +1064,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo '    rename, setrgid, setegid, pow, opendir, mkdir, waitpid, fsync,'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo '    ftruncate, strtod, strncasecmp, strerror, strlcat,'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo '    memset, bzero, and _exit'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if $MAKE _autotst.$O >$DEVNULL 2>&1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if $MAKE _autotst.$O >_autotst.rrr 2>&1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span></pre><pre style='margin:0'>

</pre>