summaryrefslogtreecommitdiff
path: root/chat/icb/patches/patch-ap
diff options
context:
space:
mode:
Diffstat (limited to 'chat/icb/patches/patch-ap')
-rw-r--r--chat/icb/patches/patch-ap60
1 files changed, 60 insertions, 0 deletions
diff --git a/chat/icb/patches/patch-ap b/chat/icb/patches/patch-ap
new file mode 100644
index 00000000000..ebb97deaf70
--- /dev/null
+++ b/chat/icb/patches/patch-ap
@@ -0,0 +1,60 @@
+$NetBSD: patch-ap,v 1.1.1.1 2000/12/15 00:36:39 wiz Exp $
+
+diff -x *.orig -urN ./tcl/tclCmdAH.c /usr/pkgsrc/net/icb/work.i386.unpatched/icb-5.0.9/tcl/tclCmdAH.c
+--- ./tcl/tclCmdAH.c Fri Feb 24 22:19:53 1995
++++ /usr/pkgsrc/net/icb/work.i386.unpatched/icb-5.0.9/tcl/tclCmdAH.c Fri Nov 26 22:56:28 1999
+@@ -38,9 +38,22 @@
+ #include <sys/wait.h>
+ #include "tclInt.h"
+
++#ifdef __NetBSD__
++#define unix
++#endif
++
++#if (defined(__unix__) || defined(unix)) && !defined(USG)
++#include <sys/param.h>
++#include <unistd.h>
++#endif
++
+ extern int errno;
++#if !(defined(BSD) && BSD >= 199306)
+ extern long lseek();
++#endif
++#ifndef BSD4_4
+ extern char *mktemp();
++#endif
+
+ /*
+ *----------------------------------------------------------------------
+@@ -430,7 +443,7 @@
+ int pid = -1; /* -1 means child process doesn't
+ * exist (yet). Non-zero gives its
+ * id (0 only in child). */
+- union wait status;
++ int status;
+ char *cmdName, *execName;
+
+ /*
+@@ -501,8 +514,13 @@
+ } else {
+ char tmp[sizeof(TMP_FILE_NAME) + 1];
+ strcpy(tmp, TMP_FILE_NAME);
++#ifdef BSD4_4
++ mkstemp(tmp);
++ stdIn[0] = mkstemp(tmp);
++#else
+ mktemp(tmp);
+ stdIn[0] = open(tmp, O_RDWR|O_CREAT, 0);
++#endif
+ if (stdIn[0] < 0) {
+ sprintf(interp->result,
+ "couldn't create input file for \"%.50s\" command: %.50s",
+@@ -642,7 +660,7 @@
+ sprintf(interp->result, "command terminated abnormally");
+ result = TCL_ERROR;
+ }
+- result = status.w_retcode;
++ result = WEXITSTATUS(status);
+ }
+ if (stdIn[0] != -1) {
+ close(stdIn[0]);