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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/7c8e45245901fcd37fdf2263f2d2b61f034d2444">https://github.com/macports/macports-ports/commit/7c8e45245901fcd37fdf2263f2d2b61f034d2444</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 7c8e452  screen: update to 4.6.2
</span>7c8e452 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 7c8e45245901fcd37fdf2263f2d2b61f034d2444
</span>Author: David Gilman <davidgilman1@gmail.com>
AuthorDate: Wed Aug 22 16:37:28 2018 -0400

<span style='display:block; white-space:pre;color:#404040;'>    screen: update to 4.6.2
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Big reorganization of how this portfile gets patched. I went back to
</span><span style='display:block; white-space:pre;color:#404040;'>    Apple's screen-22 source, extracted their patches, rebased them against
</span><span style='display:block; white-space:pre;color:#404040;'>    latest, and put them together in a single file patch-apple.diff which
</span><span style='display:block; white-space:pre;color:#404040;'>    contains all of them. I think this will be more manageable going
</span><span style='display:block; white-space:pre;color:#404040;'>    forward.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    I figured out the purpose of patch-config.h.in.diff and left a note in
</span><span style='display:block; white-space:pre;color:#404040;'>    that file explaining what it does.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    I removed support for the MacOS X 10.5 patches. I have no machine to
</span><span style='display:block; white-space:pre;color:#404040;'>    test this and those are pretty old systems anyway.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Patches I removed:
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-Makefile.in.diff: Upstream builds just fine without this, so
</span><span style='display:block; white-space:pre;color:#404040;'>    removing them. It stripped CFLAGS from a build line, no idea what the
</span><span style='display:block; white-space:pre;color:#404040;'>    offending CFLAGS might have been.
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-configure-libelf.diff: This is a fix to a ./configure check for
</span><span style='display:block; white-space:pre;color:#404040;'>    the existence of SVR4. We are not SVR4, who cares if it is broken.
</span><span style='display:block; white-space:pre;color:#404040;'>    patch-configure.diff: More fixes to ./configure to detect utmp support.
</span><span style='display:block; white-space:pre;color:#404040;'>    Apple's patch uses /usr/bin/login to handle utmp so no need for
</span><span style='display:block; white-space:pre;color:#404040;'>    this.
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-marxargs.diff: Not used in old portfile.
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-process.c-fix-bogus-strncpy-size.diff: Fixed upstream.
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-pty.c.diff: Not used in old portfile.
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-screen.c-leopard.diff: Removed 10.5 support.
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-utmp.c: This appears to be a half-hearted attempt at fixing up
</span><span style='display:block; white-space:pre;color:#404040;'>    utmp support under MacOS X. Unfortunately for the patch author MacOS X
</span><span style='display:block; white-space:pre;color:#404040;'>    does not have a utmp, it uses utmpx, and we disable support for utmp
</span><span style='display:block; white-space:pre;color:#404040;'>    editing at compile time. This patch is pointless and was removed.
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-windowsize.diff: This patch has been updated but in a slightly
</span><span style='display:block; white-space:pre;color:#404040;'>    different form.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Patches that are now part of patch-apple.diff:
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-screen.c.diff
</span><span style='display:block; white-space:pre;color:#404040;'>    * patch-window.c.diff
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/44279
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/53355
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/51395
</span>---
 sysutils/screen/Portfile                           |  39 ++----
 sysutils/screen/files/patch-Makefile.in.diff       |  11 --
 sysutils/screen/files/patch-apple.diff             | 128 ++++++++++++++++++++
 sysutils/screen/files/patch-config.h.in.diff       |   8 ++
 sysutils/screen/files/patch-configure-libelf.diff  |  10 --
 sysutils/screen/files/patch-configure.diff         |  22 ----
 sysutils/screen/files/patch-maxargs.diff           |  11 --
 .../patch-process.c-fix-bogus-strncpy-size.diff    |  12 --
 sysutils/screen/files/patch-pty.c.diff             |  11 --
 sysutils/screen/files/patch-screen.c-leopard.diff  |  26 ----
 sysutils/screen/files/patch-screen.c.diff          |  43 -------
 sysutils/screen/files/patch-utmp.c.diff            | 134 ---------------------
 sysutils/screen/files/patch-window.c.diff          |  49 --------
 sysutils/screen/files/patch-windowsize.diff        |  20 ---
 14 files changed, 145 insertions(+), 379 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/Portfile b/sysutils/screen/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e57e3ba..095c37a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/screen/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,8 +3,7 @@
</span> PortSystem          1.0
 
 name                screen
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             4.3.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             4.6.2
</span> homepage            https://www.gnu.org/software/screen/
 description         Screen manager with VT100/ANSI terminal emulation
 long_description    \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,7 +18,7 @@ long_description    \
</span> categories          sysutils
 license             GPL-3+
 platforms           darwin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {gmail.com:davidgilman1 @dgilman} openmaintainer
</span> master_sites        gnu:${name} \
                     http://www.ryandesign.com/macports/distfiles/screen/:encoding \
                     http://www.ryandesign.com/macports/distfiles/screen/r23776/:launchd_priv_header
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,18 +28,19 @@ master_sites        gnu:${name} \
</span> distfiles-append    18:encoding
 
 checksums           ${distname}${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  9de183f86e36b211d56c35e58598728f332faec9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  fa4049f8aee283de62e283d427f2cfd35d6c369b40f7f45f947dbfd915699d63 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  371828d8de1f2f8a77b6c010e12b5ea91d351dd3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  1b6922520e6a0ce5e28768d620b0f640a6631397f95ccb043b70b91bb503fa3a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    845210 \
</span>                     18 \
                     rmd160  bd143058417e1d4c040a2589fdfbf8f9203f0b4c \
                     sha256  4d4b674a61dab6bac9b4207307c5f020fa670fc3948c39e7ea93c7fb9dfb5174 \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    54746 \
</span>                     vproc_priv.h \
                     rmd160  ea1fb112d58a168c581ee58e761c26f7caed40ec \
                     sha256  dcd2786d82865fb10542c20e97d7052110f7ca9a551f2ab5628c607f20e2bb2f
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-utmp.c.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-windowsize.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-Makefile.in.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-apple.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-config.h.in.diff
</span> depends_lib         port:ncurses
 
 extract.only        ${distname}${extract.suffix}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -61,33 +61,12 @@ post-destroot {
</span> }
 
 platform darwin {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append   patch-configure-libelf.diff
</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;'>-platform darwin 9 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace s|^deflogin|#deflogin| ${worksrcpath}/etc/etcscreenrc
</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;'>-    # These patches are based on http://www.opensource.apple.com/darwinsource/10.5.6/screen-12/patches/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # The vproc_priv.h is the private header from launchd, used in Apple's 10.5 screen patches
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # We copied the header file from http://launchd.macosforge.org/trac/browser/trunk/launchd/src/vproc_priv.h, r23776
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    distfiles-append    vproc_priv.h:launchd_priv_header
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file copy ${distpath}/vproc_priv.h ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append   patch-config.h.in.diff patch-configure.diff patch-window.c.diff patch-screen.c-leopard.diff
</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;'>-if {${os.platform} eq "darwin" && ${os.major} >= 10 && ${os.major} <= 13} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # These patches are based on http://www.opensource.apple.com/source/screen/screen-16/patches/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # The vproc_priv.h is the private header from launchd, used in Apple's 10.6 screen patches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # The vproc_priv.h is the private header from launchd
</span>     # We copied the header file from http://launchd.macosforge.org/trac/browser/trunk/launchd/src/vproc_priv.h, r23776
     distfiles-append    vproc_priv.h:launchd_priv_header
     post-extract {
         file copy ${distpath}/vproc_priv.h ${worksrcpath}
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append   patch-config.h.in.diff patch-configure.diff patch-window.c.diff patch-screen.c.diff
</span> }
 
 notes "
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-Makefile.in.diff b/sysutils/screen/files/patch-Makefile.in.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 9df8f9a..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-Makefile.in.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Makefile.in    2014-04-26 12:58:35.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Makefile.in    2014-05-01 21:36:54.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -134,7 +134,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   sh $(srcdir)/tty.sh tty.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- comm.h: comm.c comm.sh config.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  AWK=$(AWK) CC="$(CC)" srcdir=${srcdir} sh $(srcdir)/comm.sh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- osdef.h: osdef.sh config.h osdef.h.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   CPP="$(CPP) $(CPPFLAGS)" srcdir=${srcdir} sh $(srcdir)/osdef.sh
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-apple.diff b/sysutils/screen/files/patch-apple.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..70ddb71
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/screen/files/patch-apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,128 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Apple's changes between upstream screen-4.0.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and their release of screen, called screen-22.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+You can view the screen-22 source at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://opensource.apple.com/tarballs/screen/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Upstream screen-4.0.3 is released under the GPLv2,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+so Apple's changes (this patch) is a derivative work and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+also licensed under the GPLv2.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch was then rebased against the latest upstream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GNU Screen, which was version 4.6.2 and no longer required
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+many of Apple's changes. This was done by David Gilman
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for MacPorts.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -rU 3 screen-4.6.2-orig/screen.c screen-4.6.2/screen.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- screen.c       2018-08-22 14:34:15.477730848 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ screen.c       2018-08-22 14:53:19.778162637 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -118,6 +118,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "logfile.h" /* islogfile, logfflush, logfopen/logfclose */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <TargetConditionals.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !TARGET_OS_EMBEDDED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <vproc.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <vproc_priv.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</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;'>+ #ifdef DEBUG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FILE *dfp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1049,6 +1057,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         Panic(0, "No $SCREENDIR with multi screens, please.");
</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;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else if (!multi && real_uid == eff_uid) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      static char DarwinSockDir[PATH_MAX];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (confstr(_CS_DARWIN_USER_TEMP_DIR, DarwinSockDir, sizeof(DarwinSockDir))) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  strlcat(DarwinSockDir, ".screen", sizeof(DarwinSockDir));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  SockDir = DarwinSockDir;
</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;'>++#endif    /* __APPLE__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef MULTIUSER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (multiattach) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1312,6 +1329,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   freopen("/dev/null", "w", stderr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   debug("-- screen.back debug started\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__) && !TARGET_OS_EMBEDDED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (_vprocmgr_detach_from_console(0) != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          errx(1, "can't detach from console");
</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;'>+   /*  This guarantees that the session owner is listed, even when we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    *  start detached. From now on we should not refer to 'LoginName'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    *  any more, use users->u_name instead.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -rU 3 screen-4.6.2-orig/socket.c screen-4.6.2/socket.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- socket.c       2018-08-22 14:34:15.476989022 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ socket.c       2018-08-22 14:39:24.526567573 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1410,7 +1410,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   char *p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int pid;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int noshowwin;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   struct win *wi;
</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;'>+   ASSERT(display);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   pid = D_userpid;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -rU 3 screen-4.6.2-orig/window.c screen-4.6.2/window.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- window.c       2018-08-22 14:34:15.475905157 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ window.c       2018-08-22 14:56:04.836374114 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,6 +33,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/stat.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <signal.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <fcntl.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <sys/ioctl.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1482,6 +1485,40 @@
</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 HAVE_EXECVPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef RUN_LOGIN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * All of the logic to maintain utmpx is now built into /usr/bin/login, so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * all we need to do is call it, and pass the shell command to it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern char *LoginName;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++run_login(const char *path, char *const argv[], char *const envp[])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  const char *shargs[MAXARGS + 1 + 3];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  const char **fp, **tp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (access(path, X_OK) < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  shargs[0] = "login";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  shargs[1] = (*argv[0] == '-') ? "-pfq" : "-pflq";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  shargs[2] = LoginName;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  shargs[3] = path;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  fp = (const char **)argv + 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  tp = shargs + 4;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* argv has already been check for length */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  while ((*tp++ = *fp++) != NULL) {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* shouldn't return unless there was an error */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return (execve("/usr/bin/login", (char *const*)shargs, envp));
</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;'>++/* replace the following occurrences of execve() with run_login() */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define execve run_login
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* RUN_LOGIN */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* __APPLE__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ execvpe(prog, args, env)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *prog, **args, **env;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-config.h.in.diff b/sysutils/screen/files/patch-config.h.in.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6d65363..0225ba4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-config.h.in.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/screen/files/patch-config.h.in.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,3 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MacOS X uses utmpx. Apple's patchset (patch-apple.diff) adds code
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that calls /usr/bin/login to handle utmpx editing. Thus, we have no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+need to use screen's utmp editing code. This patch disables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+screen's utmp editing.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This also fixes the "/var/run/utmp: No such file or directory"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+errors as a consequence of the above.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> --- config.h.in   2014-04-26 12:58:46.000000000 +0200
 +++ config.h.in        2014-05-01 21:36:54.000000000 +0200
 @@ -192,14 +192,14 @@
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-configure-libelf.diff b/sysutils/screen/files/patch-configure-libelf.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 7cacc1a..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-configure-libelf.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.orig 2014-04-26 05:58:46.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure      2014-05-02 03:15:16.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4155,7 +4155,6 @@
</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;'>- oldlibs="$LIBS"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--LIBS="$LIBS -lelf"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { $as_echo "$as_me:${as_lineno-$LINENO}: checking SVR4..." >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo "$as_me: checking SVR4..." >&6;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-configure.diff b/sysutils/screen/files/patch-configure.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6b8f2f4..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-configure.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,22 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure      2014-04-26 12:58:46.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure      2014-05-01 21:36:54.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5413,7 +5413,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <time.h> /* to get time_t on SCO */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if defined(SVR4) && !defined(DGUX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if (defined(SVR4) || defined(__APPLE__)) && !defined(DGUX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <utmpx.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define utmp utmpx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5422,6 +5422,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __hpux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define pututline _pututline
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define pututline pututxline
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define getutent getutxent
</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;'>- int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- main ()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-maxargs.diff b/sysutils/screen/files/patch-maxargs.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index a197d2f..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-maxargs.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ansi.c.orig    2014-05-01 12:51:14.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ansi.c 2014-05-01 21:33:29.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -568,7 +568,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           case '0': case '1': case '2': case '3': case '4':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           case '5': case '6': case '7': case '8': case '9':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            if (curr->w_NumArgs < MAXARGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if (curr->w_NumArgs >= 0 && curr->w_NumArgs < MAXARGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-               {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 if (curr->w_args[curr->w_NumArgs] < 100000000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   curr->w_args[curr->w_NumArgs] =
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-process.c-fix-bogus-strncpy-size.diff b/sysutils/screen/files/patch-process.c-fix-bogus-strncpy-size.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 197a6bd..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-process.c-fix-bogus-strncpy-size.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,12 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reported upstream: https://savannah.gnu.org/bugs/?42257
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- process.c.orig 2014-05-01 22:01:18.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ process.c      2014-05-01 22:01:50.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6282,7 +6282,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     { strcpy(p = i->pw2, "\377"); l = sizeof(i->pw2) - 1; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (buf && len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    strncpy(p, buf, 1 + (l < len) ? l : len);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    strncpy(p, buf, 1 + ((l < len) ? l : len));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (!*i->name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     Input("Screen User: ", sizeof(i->name) - 1, INP_COOKED, su_fin, (char *)i, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else if (!*i->pw1)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-pty.c.diff b/sysutils/screen/files/patch-pty.c.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 335412e..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-pty.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./pty.c.orig   2003-09-08 16:26:18.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./pty.c        2007-10-28 16:27:56.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -34,7 +34,7 @@
</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;'>- /* for solaris 2.1, Unixware (SVR4.2) and possibly others */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef HAVE_SVR4_PTYS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(HAVE_SVR4_PTYS) && !defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <sys/stropts.h>
</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;color:#808080;'>diff --git a/sysutils/screen/files/patch-screen.c-leopard.diff b/sysutils/screen/files/patch-screen.c-leopard.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index a3d1301..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-screen.c-leopard.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,26 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- screen.c.orig  2009-01-21 12:06:11.000000000 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ screen.c       2009-01-21 12:08:27.000000000 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -101,6 +101,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "logfile.h"    /* islogfile, logfflush */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <vproc.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "vproc_priv.h"
</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;'>- #ifdef DEBUG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- FILE *dfp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1211,6 +1216,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   freopen("/dev/null", "w", stderr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   debug("-- screen.back debug started\n");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (_vprocmgr_move_subset_to_user(real_uid, "Background") != NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      errx(1, "can't migrate to background session");
</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;'>-   /* 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * This guarantees that the session owner is listed, even when we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * start detached. From now on we should not refer to 'LoginName'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-screen.c.diff b/sysutils/screen/files/patch-screen.c.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 510d345..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-screen.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,43 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- screen.c       2014-04-26 18:22:09.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ screen.c       2014-05-01 21:36:54.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -109,6 +109,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "logfile.h"    /* islogfile, logfflush */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <vproc.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <vproc_priv.h>
</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;'>- #ifdef DEBUG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- FILE *dfp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1046,6 +1051,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   Panic(0, "No $SCREENDIR with multi screens, please.");
</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;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else if (!multi && real_uid == eff_uid) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      static char DarwinSockDir[PATH_MAX];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      if (confstr(_CS_DARWIN_USER_TEMP_DIR, DarwinSockDir, sizeof(DarwinSockDir))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       strlcat(DarwinSockDir, ".screen", sizeof(DarwinSockDir));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       SockDir = DarwinSockDir;
</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;'>-+#endif /* __APPLE__ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef MULTIUSER
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (multiattach)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1314,6 +1329,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   freopen("/dev/null", "w", stderr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   debug("-- screen.back debug started\n");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       if (_vprocmgr_detach_from_console(0) != NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+               errx(1, "can't detach from console");
</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;'>-   /* 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * This guarantees that the session owner is listed, even when we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * start detached. From now on we should not refer to 'LoginName'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-utmp.c.diff b/sysutils/screen/files/patch-utmp.c.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index ac0582c..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-utmp.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,134 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- utmp.c.orig    2015-08-15 01:22:46.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ utmp.c 2015-08-15 01:23:20.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -26,6 +26,7 @@
</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;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <sys/param.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/stat.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <fcntl.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -151,7 +152,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * how = 0        try to withdraw a utmp slot.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * w_slot = -1  window not logged in.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * w_slot = 0   window not logged in, but should be logged in. 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * w_slot = 0   window not logged in, but should be logged in.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  *              (unable to write utmp, or detached).
</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;'>-@@ -400,7 +401,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * down the name of his terminal line; else he is remote and we keep
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * the hostname here. The letter S and the window id will be appended.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * A saved utmp entry in wi->w_savut serves as a template, usually.
</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;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SetUtmp(wi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -409,12 +410,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   register slot_t slot;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   struct utmp u;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   int saved_ut;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef UTHOST
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  char *p;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  char host[sizeof(D_loginhost) + 15];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  char *host = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif /* UTHOST */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   wi->w_slot = (slot_t)0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (!utmpok || wi->w_type != W_TYPE_PTY)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -435,51 +430,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     makeuser(&u, stripdev(wi->w_tty), LoginName, wi->w_pid);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef UTHOST
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  host[sizeof(host) - 15] = '\0';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (display)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      strncpy(host, D_loginhost, sizeof(host) - 15);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      if (D_loginslot != (slot_t)0 && D_loginslot != (slot_t)-1 && host[0] != '\0')
</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;'>--     * we want to set our ut_host field to something like
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     * ":ttyhf:s.0" or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     * "faui45:s.0" or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     * "132.199.81.4:s.0" (even this may hurt..), but not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     * "faui45.informati"......:s.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     * HPUX uses host:0.0, so chop at "." and ":" (Eric Backus)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    for (p = host; *p; p++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      if ((*p < '0' || *p > '9') && (*p != '.'))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (*p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        for (p = host; *p; p++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          if (*p == '.' || (*p == ':' && p != host))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--              *p = '\0';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--              break;
</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;'>--  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    strncpy(host + 1, stripdev(D_usertty), sizeof(host) - 15 - 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    host[0] = ':';
</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;'>--  else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    strncpy(host, "local", sizeof(host) - 15);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  sprintf(host + strlen(host), ":S.%d", wi->w_number);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  debug1("rlogin hostname: '%s'\n", host);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # if !defined(_SEQUENT_) && !defined(sequent)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  strncpy(u.ut_host, host, sizeof(u.ut_host));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  strncpy(u.ut_host, D_loginhost, sizeof(u.ut_host));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* UTHOST */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (pututslot(slot, &u, host, wi) == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (pututslot(slot, &u, D_loginhost, wi) == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       Msg(errno,"Could not write %s", UtmpName);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       UT_CLOSE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -598,7 +554,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct utmp *u;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   u->ut_type = DEAD_PROCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if (!defined(linux) || defined(EMPTY)) && !defined(__CYGWIN__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if (!defined(linux) || defined(EMPTY)) && !defined(__CYGWIN__) && !defined(__Darwin__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   u->ut_exit.e_termination = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   u->ut_exit.e_exit = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -631,7 +587,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* must use temp variable because of NetBSD/sparc64, where
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * ut_xtime is long(64) but time_t is int(32) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   (void)time(&now);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__Darwin_version) && __Darwin_version < 900000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  u->ut_time =  now;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   u->ut_tv.tv_sec = now;
</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;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static slot_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -743,7 +703,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   strncpy(u->ut_line, line, sizeof(u->ut_line));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   strncpy(u->ut_name, user, sizeof(u->ut_name));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   (void)time(&now);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  u->ut_tv.tv_sec = now;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__Darwin_version) && __Darwin_version < 900000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  u->ut_time =  now;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  u->ut_time = now;
</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;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static slot_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -890,4 +854,3 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return u->ut_type == u2->ut_type ? u : 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</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;color:#808080;'>diff --git a/sysutils/screen/files/patch-window.c.diff b/sysutils/screen/files/patch-window.c.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 894f600..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-window.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,49 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- window.c       2014-04-26 12:58:35.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ window.c       2014-05-01 21:36:54.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -33,6 +33,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/stat.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <signal.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <fcntl.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <unistd.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <sys/ioctl.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1660,6 +1661,38 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return r;
</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;'>-+#ifdef RUN_LOGIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * All of the logic to maintain utmpx is now built into /usr/bin/login, so
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * all we need to do is call it, and pass the shell command to it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern char *LoginName;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+run_login(const char *path, char *const argv[], char *const envp[])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const char *shargs[MAXARGS + 1 + 3];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const char **fp, **tp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (access(path, X_OK) < 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    shargs[0] = "login";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    shargs[1] = (*argv[0] == '-') ? "-pfq" : "-pflq";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    shargs[2] = LoginName;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    shargs[3] = path;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    fp = (const char **)argv + 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    tp = shargs + 4;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    /* argv has already been check for length */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    while ((*tp++ = *fp++) != NULL) {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    /* shouldn't return unless there was an error */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return (execve("/usr/bin/login", (char *const*)shargs, envp));
</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;'>-+/* replace the following occurrences of execve() with run_login() */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define execve run_login
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif /* RUN_LOGIN */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- FreePseudowin(w)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct win *w;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/screen/files/patch-windowsize.diff b/sysutils/screen/files/patch-windowsize.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 4f1ab57..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/screen/files/patch-windowsize.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,20 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- resize.c       2014-04-26 12:58:35.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ resize.c       2014-05-01 21:36:54.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -678,6 +678,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       he = 1000;
</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;'>-+  if (wi > 1000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      Msg(0, "Window width too large, truncated");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      wi = 1000;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (he > 1000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      Msg(0, "Window height too large, truncated");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      he = 1000;
</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;'>-   if (p->w_width == wi && p->w_height == he && p->w_histheight == hi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       debug("ChangeWindowSize: No change.\n");
</span></pre><pre style='margin:0'>

</pre>