summaryrefslogtreecommitdiff
path: root/comms/xisp/patches/patch-ag
diff options
context:
space:
mode:
Diffstat (limited to 'comms/xisp/patches/patch-ag')
-rw-r--r--comms/xisp/patches/patch-ag86
1 files changed, 86 insertions, 0 deletions
diff --git a/comms/xisp/patches/patch-ag b/comms/xisp/patches/patch-ag
new file mode 100644
index 00000000000..187a479790c
--- /dev/null
+++ b/comms/xisp/patches/patch-ag
@@ -0,0 +1,86 @@
+$NetBSD: patch-ag,v 1.1.1.1 1998/12/03 15:08:53 frueauf Exp $
+
+--- xispdial.c.orig Mon Oct 26 05:35:01 1998
++++ xispdial.c Tue Dec 1 03:01:28 1998
+@@ -21,6 +21,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <varargs.h>
++#include <sys/param.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/types.h>
+@@ -93,13 +94,13 @@
+ {
+ char emsg[MSGLEN_ERR];
+
+-#ifndef SUNOS5x
++#ifdef HAVE_STRERROR
++ sprintf(emsg, "xispdial: %s: %s\n", msg, strerror(errno));
++#else
+ if (errno < sys_nerr)
+ sprintf(emsg, "xispdial: %s: %s\n", msg, sys_errlist[errno]);
+ else
+ sprintf(emsg, "xispdial: %s: error #%d\n", msg, errno);
+-#else
+- sprintf(emsg, "xispdial: %s: %s\n", msg, strerror(errno));
+ #endif
+ fputs(emsg, stderr);
+ if (pipeFD) close(pipeFD);
+@@ -121,10 +122,12 @@
+ if (!S_ISFIFO(st.st_mode)) /* is it a FIFO? */
+ doErr("namedPipe: stat"); /* nope, still not right! */
+ }
+-#ifndef SUNOS5x
+- fd = open(fname, O_WRONLY|O_NDELAY); /* yes, open it for writing */
+-#else
++#ifdef SUNOS5x
+ fd = open(fname, O_WRONLY|O_NONBLOCK); /* yes, open it for writing */
++#elif (defined(BSD) && BSD >= 199306)
++ fd = open(fname, O_WRONLY|O_NONBLOCK); /* yes, open it for writing */
++#else
++ fd = open(fname, O_WRONLY|O_NDELAY); /* yes, open it for writing */
+ #endif
+ if (fd < 0) /* error means no process has */
+ doErr("namedPipe: open"); /* opened it for reading */
+@@ -145,11 +148,11 @@
+
+ va_start(ap); /* start variable arg list */
+ fmt = va_arg(ap, char*); /* first string is format */
+-#ifndef SUNOS41x
+- iw = vsprintf(msg, fmt, ap); /* pass rest to vsprintf() */
+-#else
++#ifdef BROKEN_VSPRINTF
+ vsprintf(msg, fmt, ap);
+ iw = strlen(msg);
++#else
++ iw = vsprintf(msg, fmt, ap); /* pass rest to vsprintf() */
+ #endif
+ va_end(ap); /* end variable arg list */
+ bw = write(pipeFD, msg, strlen(msg)); /* write buffer to pipe */
+@@ -255,19 +258,19 @@
+ for (p=param; *p;) { /* scan the line */
+ if (*p == '\\') { /* if a '\\' is found */
+ if (escape) { /* if auto escaping selected */
+-#ifndef SUNOS41x
+- memmove(p+1, p, zlen); /* increase string len by 1 */
++#ifdef SUNOS41x
++ bcopy(p, p+1, zlen) /* increase string len by 1 */;
+ #else /* by duplicating the string */
+- bcopy(p, p+1, zlen); /* contents starting from */
++ memmove(p+1, p, zlen); /* contents starting from */
+ #endif /* next character position */
+ *p = '\\'; /* insert an extra '\\' */
+ p += 2; /* skip the next '\\' */
+ }
+ else { /* deletion of '\\'s desired */
+-#ifndef SUNOS41x
+- memmove(p, p+1, zlen); /* decrease string len by 1 */
++#ifdef SUNOS41x
++ bcopy(p+1, p, zlen); /* decrease string len by 1 */
+ #else
+- bcopy(p+1, p, zlen);
++ memmove(p, p+1, zlen);
+ #endif
+ }
+ }