Internet CB - a chat client

This commit is contained in:
David E. O'Brien 1998-05-25 23:23:36 +00:00
parent 4f2f81b483
commit 721685a759
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=11144
34 changed files with 974 additions and 0 deletions

36
net-im/icb/Makefile Normal file
View file

@ -0,0 +1,36 @@
# ex:ts=8
# Ports collection makefile for: icb
# Version required: 5.0.9
# Date created: Tue Feb 03, 1998
# Whom: David O'Brien (obrien@NUXI.ucdavis.edu)
#
# $Id: Makefile,v 1.2 1997/01/25 18:08:40 obrien Exp $
#
DISTNAME= icb-5.0.9
CATEGORIES= net
MASTER_SITES= ftp://ftp.swcp.com/pub/icb/clients/unix/ \
ftp://ftp.swcp.com/pub/icb/clients/ \
ftp://ftp.swcp.com/pub/icb/server/ \
ftp://ftp.empire.net/pub/icb/clients/ \
ftp://ftp.cs.unm.edu/pub/armijo/icb.src/clients/
EXTRACT_SUFX= .tar.Z
MAINTAINER= obrien@FreeBSD.org
do-configure:
@cd ${WRKSRC}; \
${SED} -e s,@PREFIX@,${PREFIX},g ${FILESDIR}/config >${WRKSRC}/config
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/icb/icb ${PREFIX}/bin
${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
${PREFIX}/share/icb
${INSTALL_DATA} ${WRKSRC}/icbserverdb ${PREFIX}/share/icb
${INSTALL_DATA} ${WRKSRC}/sample.icbrc \
${WRKSRC}/contrib/bartender \
${WRKSRC}/contrib/confuse \
${WRKSRC}/contrib/echofile \
${PREFIX}/share/icb
.include <bsd.port.mk>

1
net-im/icb/distinfo Normal file
View file

@ -0,0 +1 @@
MD5 (icb-5.0.9.tar.Z) = 19e802b1644d5a27284b70ecdcb07e0f

56
net-im/icb/files/config Normal file
View file

@ -0,0 +1,56 @@
#
# THIS IS AN AUTOMATICALLY GENERATED FILE
#
# If you edit this file and later run "setup", your
# changes will be lost. This file gets fed to "make",
# so keep that in mind if you make changes.
#
# Installing user's home directory
HOME = /nonexistent
# Directory where the client will be installed.
BINDIR = @PREFIX@/bin
# Directory where the manual page will be installed.
MANDIR = @PREFIX@/man
# Compiler to use.
CC = cc
# Compile options.
CFLAGS = -O2 -DNO_LRAND48 -DSTRINGS_H -DTIME_H
TCLCFLAGS = -O2 -DNO_LRAND48 -DSTRINGS_H -DTIME_H
# Lint flags
LFLAGS = -u -DNO_LRAND48 -DSTRINGS_H -DTIME_H
# System dependent source file.
SYSDEP =sysdep.bsd
# Other libraries to include.
OTHERLIBS =-lcurses -ltermcap
# Resolver library
RESOLVLIB =
# Parallel makes. Set to & for Sequents.
PMAKE =
# Makefile dependency generator.
MAKEDEPEND = makedepend
# Makefile dependency generator.
DEPENDFLAGS = -fMake -DNO_LRAND48 -DSTRINGS_H -DTIME_H
# Hostname and port of remote server.
#DEFAULTHOST = crater.unm.edu
DEFAULTHOST = cvs.openbsd.org
DEFAULTPORT = 7326
# Directory for support files
LIBDIR = @PREFIX@/share/icb
# location of server database
SERVERLIST = @PREFIX@/share/icb/icbserverdb

30
net-im/icb/files/patch-ab Normal file
View file

@ -0,0 +1,30 @@
--- tcl/Make.orig Fri Feb 24 13:19:48 1995
+++ tcl/Make Mon May 25 14:58:35 1998
@@ -11,13 +11,6 @@
SRC = \
panic.c \
- strchr.c \
- strerror.c \
- strpbrk.c \
- strspn.c \
- strstr.c \
- strtol.c \
- strtoul.c \
tclAssem.c \
tclBasic.c \
tclCmdAH.c \
@@ -30,13 +23,6 @@
OBJ = \
panic.o \
- strchr.o \
- strerror.o \
- strpbrk.o \
- strspn.o \
- strstr.o \
- strtol.o \
- strtoul.o \
tclAssem.o \
tclBasic.o \
tclCmdAH.o \

12
net-im/icb/files/patch-ac Normal file
View file

@ -0,0 +1,12 @@
--- icb/c_log.c.orig Fri Feb 24 13:20:18 1995
+++ icb/c_log.c Mon May 25 15:04:35 1998
@@ -46,7 +46,9 @@
struct tm *t, *localtime();
time_t clock;
extern int errno, sys_nerr;
+#if !(defined(BSD) && BSD >= 199306)
extern char *sys_errlist[];
+#endif
/* determine pathname to use */
if (path == NULL || *path == '\0')

View file

@ -0,0 +1,11 @@
--- icb/protos.h-orig Fri Feb 24 22:20:25 1995
+++ icb/protos.h Wed Apr 15 12:07:50 1998
@@ -64,7 +64,7 @@
int inserttab(void);
int ishushed(char *nick);
int lcaseit(char *s);
-#ifdef linux
+#if defined(linux) || (defined(BSD) && BSD >= 199306)
int linebuffer(FILE *fp);
#else
int linebuffer(struct _iobuf *fp);

View file

@ -0,0 +1,19 @@
*** murgil/clientserve.c.orig Wed May 6 18:40:46 1998
--- murgil/clientserve.c Wed May 6 18:43:34 1998
***************
*** 41,47 ****
/* look at tty fd */
FD_SET(0,&fdset); /**/
! signal(SIGALRM, gotalarm);
timeisup = 0;
for (;;) {
--- 41,47 ----
/* look at tty fd */
FD_SET(0,&fdset); /**/
! signal(SIGALRM, (void *)gotalarm);
timeisup = 0;
for (;;) {

View file

@ -0,0 +1,19 @@
*** murgil/getrname.c.orig Wed May 6 18:43:56 1998
--- murgil/getrname.c Wed May 6 18:45:17 1998
***************
*** 14,20 ****
{
static char rname[24];
struct hostent *host;
! #if defined(linux)
#define PEER_CAST (struct sockaddr *)
#define HOST_CAST (char *)
#else
--- 14,20 ----
{
static char rname[24];
struct hostent *host;
! #if defined(linux) || defined(__OpenBSD__)
#define PEER_CAST (struct sockaddr *)
#define HOST_CAST (char *)
#else

View file

@ -0,0 +1,19 @@
*** murgil/serverserve.c.orig Wed May 6 18:47:32 1998
--- murgil/serverserve.c Wed May 6 18:47:48 1998
***************
*** 33,39 ****
if (port_fd > highestfd)
highestfd = port_fd;
! signal(SIGALRM, gotalarm);
timeisup = 0;
for (;;) {
--- 33,39 ----
if (port_fd > highestfd)
highestfd = port_fd;
! signal(SIGALRM, (void *)gotalarm);
timeisup = 0;
for (;;) {

View file

@ -0,0 +1,36 @@
*** tcl/tclCmdAH.c.orig Sat Feb 25 03:19:53 1995
--- tcl/tclCmdAH.c Wed May 6 18:54:07 1998
***************
*** 38,45 ****
--- 38,51 ----
#include <sys/wait.h>
#include "tclInt.h"
+ #if (defined(__unix__) || defined(unix)) && !defined(USG)
+ #include <sys/param.h>
+ #endif
+
extern int errno;
+ #if !(defined(BSD) && BSD >= 199306)
extern long lseek();
+ #endif
extern char *mktemp();
/*
***************
*** 627,633 ****
while (1) {
int child;
! child = wait(&status);
if (child == -1) {
sprintf(interp->result,
"child process disappeared mysteriously");
--- 633,639 ----
while (1) {
int child;
! child = wait((int *)&status);
if (child == -1) {
sprintf(interp->result,
"child process disappeared mysteriously");

104
net-im/icb/files/patch-o-ae Normal file
View file

@ -0,0 +1,104 @@
*** readline/readline.c.orig Wed May 6 18:49:08 1998
--- readline/readline.c Wed May 6 18:51:35 1998
***************
*** 610,631 ****
rl_set_signals ()
{
! old_int = (SigHandler *)signal (SIGINT, rl_signal_handler);
if (old_int == (SigHandler *)SIG_IGN)
signal (SIGINT, SIG_IGN);
! old_alrm = (SigHandler *)signal (SIGALRM, rl_signal_handler);
if (old_alrm == (SigHandler *)SIG_IGN)
signal (SIGALRM, SIG_IGN);
#if defined (SIGTSTP)
! old_tstp = (SigHandler *)signal (SIGTSTP, rl_signal_handler);
if (old_tstp == (SigHandler *)SIG_IGN)
signal (SIGTSTP, SIG_IGN);
#endif
#if defined (SIGTTOU)
! old_ttou = (SigHandler *)signal (SIGTTOU, rl_signal_handler);
! old_ttin = (SigHandler *)signal (SIGTTIN, rl_signal_handler);
if (old_tstp == (SigHandler *)SIG_IGN)
{
--- 610,631 ----
rl_set_signals ()
{
! old_int = (SigHandler *)signal (SIGINT, (void *)rl_signal_handler);
if (old_int == (SigHandler *)SIG_IGN)
signal (SIGINT, SIG_IGN);
! old_alrm = (SigHandler *)signal (SIGALRM, (void *)rl_signal_handler);
if (old_alrm == (SigHandler *)SIG_IGN)
signal (SIGALRM, SIG_IGN);
#if defined (SIGTSTP)
! old_tstp = (SigHandler *)signal (SIGTSTP, (void *)rl_signal_handler);
if (old_tstp == (SigHandler *)SIG_IGN)
signal (SIGTSTP, SIG_IGN);
#endif
#if defined (SIGTTOU)
! old_ttou = (SigHandler *)signal (SIGTTOU, (void *)rl_signal_handler);
! old_ttin = (SigHandler *)signal (SIGTTIN, (void *)rl_signal_handler);
if (old_tstp == (SigHandler *)SIG_IGN)
{
***************
*** 635,660 ****
#endif
#if defined (SIGWINCH)
! old_sigwinch = (SigHandler *)signal (SIGWINCH, rl_handle_sigwinch);
#endif
}
rl_clear_signals ()
{
! signal (SIGINT, old_int);
! signal (SIGALRM, old_alrm);
#if defined (SIGTSTP)
! signal (SIGTSTP, old_tstp);
#endif
#if defined (SIGTTOU)
! signal (SIGTTOU, old_ttou);
! signal (SIGTTIN, old_ttin);
#endif
#if defined (SIGWINCH)
! signal (SIGWINCH, old_sigwinch);
#endif
}
#endif /* HANDLE_SIGNALS */
--- 635,660 ----
#endif
#if defined (SIGWINCH)
! old_sigwinch = (SigHandler *)signal (SIGWINCH, (void *)rl_handle_sigwinch);
#endif
}
rl_clear_signals ()
{
! signal (SIGINT, (void *)old_int);
! signal (SIGALRM, (void *)old_alrm);
#if defined (SIGTSTP)
! signal (SIGTSTP, (void *)old_tstp);
#endif
#if defined (SIGTTOU)
! signal (SIGTTOU, (void *)old_ttou);
! signal (SIGTTIN, (void *)old_ttin);
#endif
#if defined (SIGWINCH)
! signal (SIGWINCH, (void *)old_sigwinch);
#endif
}
#endif /* HANDLE_SIGNALS */

View file

@ -0,0 +1,31 @@
*** icb/c_shell.c.orig Wed May 6 18:54:38 1998
--- icb/c_shell.c Wed May 6 18:55:02 1998
***************
*** 60,72 ****
signal(SIGQUIT, SIG_IGN);
/* wait for the child(ren) to die */
! while ((w = wait(&status)) != pid && w != -1);
/* restore the terminal */
icbterm();
/* restore signal processing */
! signal(SIGINT, askquit);
signal(SIGQUIT, SIG_DFL);
/* clean up a little */
--- 60,72 ----
signal(SIGQUIT, SIG_IGN);
/* wait for the child(ren) to die */
! while ((w = wait((int *)&status)) != pid && w != -1);
/* restore the terminal */
icbterm();
/* restore signal processing */
! signal(SIGINT, (void *)askquit);
signal(SIGQUIT, SIG_DFL);
/* clean up a little */

View file

@ -0,0 +1,67 @@
*** icb/signals.c.orig Wed May 6 18:55:15 1998
--- icb/signals.c Wed May 6 18:55:55 1998
***************
*** 22,35 ****
/* sighandler askquit(), suspend(), icbexit(); */
/* exit on a hangup or terminate signal */
! signal(SIGHUP, icbexit);
! signal(SIGTERM, icbexit);
/* on an interrupt, verify the user wants to quit */
! signal(SIGINT, askquit);
/* suspend on a stop signal */
! signal(SIGTSTP, suspend);
}
--- 22,35 ----
/* sighandler askquit(), suspend(), icbexit(); */
/* exit on a hangup or terminate signal */
! signal(SIGHUP, (void *)icbexit);
! signal(SIGTERM, (void *)icbexit);
/* on an interrupt, verify the user wants to quit */
! signal(SIGINT, (void *)askquit);
/* suspend on a stop signal */
! signal(SIGTSTP, (void *)suspend);
}
***************
*** 45,51 ****
sigsetmask(sigblock(0) &~ mask(SIGTSTP));
kill(0, SIGTSTP);
sigblock(mask(SIGTSTP));
! signal(SIGTSTP, suspend);
icbterm();
continued = 1;
}
--- 45,51 ----
sigsetmask(sigblock(0) &~ mask(SIGTSTP));
kill(0, SIGTSTP);
sigblock(mask(SIGTSTP));
! signal(SIGTSTP, (void *)suspend);
icbterm();
continued = 1;
}
***************
*** 73,79 ****
if (c == 'Y' || c == 'y')
icbexit();
! signal(SIGINT, askquit);
continued = 1;
if (oem)
--- 73,79 ----
if (c == 'Y' || c == 'y')
icbexit();
! signal(SIGINT, (void *)askquit);
continued = 1;
if (oem)

View file

@ -0,0 +1,29 @@
*** tcl/tclProc.c.orig Mon May 18 03:13:18 1998
--- tcl/tclProc.c Mon May 18 03:14:36 1998
***************
*** 793,803 ****
*/
procDone:
! for (argPtr = frame.varPtr; argPtr != NULL; argPtr = argPtr->nextPtr) {
if (argPtr->flags & VAR_DYNAMIC) {
free(argPtr->value);
}
! free((char *) argPtr);
}
iPtr->framePtr = frame.callerPtr;
iPtr->varFramePtr = frame.callerVarPtr;
--- 793,805 ----
*/
procDone:
! for (argPtr = frame.varPtr; argPtr != NULL;) {
! void *tmp = argPtr;
if (argPtr->flags & VAR_DYNAMIC) {
free(argPtr->value);
}
! argPtr = argPtr->nextPtr;
! free(tmp);
}
iPtr->framePtr = frame.callerPtr;
iPtr->varFramePtr = frame.callerVarPtr;

1
net-im/icb/pkg-comment Normal file
View file

@ -0,0 +1 @@
Internet CB - a mostly-defunct chat client

8
net-im/icb/pkg-descr Normal file
View file

@ -0,0 +1,8 @@
This is a chat client similar to irc, but for the icb protocol.
It is a much lighter weight client than IRC in terms of gaudyness, childish
features, and bots.
All-in-all, what it would be nice for IRC to be.
-- David
(obrien@NUXI.com)

8
net-im/icb/pkg-plist Normal file
View file

@ -0,0 +1,8 @@
@comment $Id$
bin/icb
share/icb/icbserverdb
share/icb/sample.icbrc
share/icb/bartender
share/icb/confuse
share/icb/echofile
@dirrm share/icb

36
net/icb/Makefile Normal file
View file

@ -0,0 +1,36 @@
# ex:ts=8
# Ports collection makefile for: icb
# Version required: 5.0.9
# Date created: Tue Feb 03, 1998
# Whom: David O'Brien (obrien@NUXI.ucdavis.edu)
#
# $Id: Makefile,v 1.2 1997/01/25 18:08:40 obrien Exp $
#
DISTNAME= icb-5.0.9
CATEGORIES= net
MASTER_SITES= ftp://ftp.swcp.com/pub/icb/clients/unix/ \
ftp://ftp.swcp.com/pub/icb/clients/ \
ftp://ftp.swcp.com/pub/icb/server/ \
ftp://ftp.empire.net/pub/icb/clients/ \
ftp://ftp.cs.unm.edu/pub/armijo/icb.src/clients/
EXTRACT_SUFX= .tar.Z
MAINTAINER= obrien@FreeBSD.org
do-configure:
@cd ${WRKSRC}; \
${SED} -e s,@PREFIX@,${PREFIX},g ${FILESDIR}/config >${WRKSRC}/config
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/icb/icb ${PREFIX}/bin
${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
${PREFIX}/share/icb
${INSTALL_DATA} ${WRKSRC}/icbserverdb ${PREFIX}/share/icb
${INSTALL_DATA} ${WRKSRC}/sample.icbrc \
${WRKSRC}/contrib/bartender \
${WRKSRC}/contrib/confuse \
${WRKSRC}/contrib/echofile \
${PREFIX}/share/icb
.include <bsd.port.mk>

1
net/icb/distinfo Normal file
View file

@ -0,0 +1 @@
MD5 (icb-5.0.9.tar.Z) = 19e802b1644d5a27284b70ecdcb07e0f

56
net/icb/files/config Normal file
View file

@ -0,0 +1,56 @@
#
# THIS IS AN AUTOMATICALLY GENERATED FILE
#
# If you edit this file and later run "setup", your
# changes will be lost. This file gets fed to "make",
# so keep that in mind if you make changes.
#
# Installing user's home directory
HOME = /nonexistent
# Directory where the client will be installed.
BINDIR = @PREFIX@/bin
# Directory where the manual page will be installed.
MANDIR = @PREFIX@/man
# Compiler to use.
CC = cc
# Compile options.
CFLAGS = -O2 -DNO_LRAND48 -DSTRINGS_H -DTIME_H
TCLCFLAGS = -O2 -DNO_LRAND48 -DSTRINGS_H -DTIME_H
# Lint flags
LFLAGS = -u -DNO_LRAND48 -DSTRINGS_H -DTIME_H
# System dependent source file.
SYSDEP =sysdep.bsd
# Other libraries to include.
OTHERLIBS =-lcurses -ltermcap
# Resolver library
RESOLVLIB =
# Parallel makes. Set to & for Sequents.
PMAKE =
# Makefile dependency generator.
MAKEDEPEND = makedepend
# Makefile dependency generator.
DEPENDFLAGS = -fMake -DNO_LRAND48 -DSTRINGS_H -DTIME_H
# Hostname and port of remote server.
#DEFAULTHOST = crater.unm.edu
DEFAULTHOST = cvs.openbsd.org
DEFAULTPORT = 7326
# Directory for support files
LIBDIR = @PREFIX@/share/icb
# location of server database
SERVERLIST = @PREFIX@/share/icb/icbserverdb

30
net/icb/files/patch-ab Normal file
View file

@ -0,0 +1,30 @@
--- tcl/Make.orig Fri Feb 24 13:19:48 1995
+++ tcl/Make Mon May 25 14:58:35 1998
@@ -11,13 +11,6 @@
SRC = \
panic.c \
- strchr.c \
- strerror.c \
- strpbrk.c \
- strspn.c \
- strstr.c \
- strtol.c \
- strtoul.c \
tclAssem.c \
tclBasic.c \
tclCmdAH.c \
@@ -30,13 +23,6 @@
OBJ = \
panic.o \
- strchr.o \
- strerror.o \
- strpbrk.o \
- strspn.o \
- strstr.o \
- strtol.o \
- strtoul.o \
tclAssem.o \
tclBasic.o \
tclCmdAH.o \

12
net/icb/files/patch-ac Normal file
View file

@ -0,0 +1,12 @@
--- icb/c_log.c.orig Fri Feb 24 13:20:18 1995
+++ icb/c_log.c Mon May 25 15:04:35 1998
@@ -46,7 +46,9 @@
struct tm *t, *localtime();
time_t clock;
extern int errno, sys_nerr;
+#if !(defined(BSD) && BSD >= 199306)
extern char *sys_errlist[];
+#endif
/* determine pathname to use */
if (path == NULL || *path == '\0')

11
net/icb/files/patch-n-ac Normal file
View file

@ -0,0 +1,11 @@
--- icb/protos.h-orig Fri Feb 24 22:20:25 1995
+++ icb/protos.h Wed Apr 15 12:07:50 1998
@@ -64,7 +64,7 @@
int inserttab(void);
int ishushed(char *nick);
int lcaseit(char *s);
-#ifdef linux
+#if defined(linux) || (defined(BSD) && BSD >= 199306)
int linebuffer(FILE *fp);
#else
int linebuffer(struct _iobuf *fp);

19
net/icb/files/patch-o-aa Normal file
View file

@ -0,0 +1,19 @@
*** murgil/clientserve.c.orig Wed May 6 18:40:46 1998
--- murgil/clientserve.c Wed May 6 18:43:34 1998
***************
*** 41,47 ****
/* look at tty fd */
FD_SET(0,&fdset); /**/
! signal(SIGALRM, gotalarm);
timeisup = 0;
for (;;) {
--- 41,47 ----
/* look at tty fd */
FD_SET(0,&fdset); /**/
! signal(SIGALRM, (void *)gotalarm);
timeisup = 0;
for (;;) {

19
net/icb/files/patch-o-ab Normal file
View file

@ -0,0 +1,19 @@
*** murgil/getrname.c.orig Wed May 6 18:43:56 1998
--- murgil/getrname.c Wed May 6 18:45:17 1998
***************
*** 14,20 ****
{
static char rname[24];
struct hostent *host;
! #if defined(linux)
#define PEER_CAST (struct sockaddr *)
#define HOST_CAST (char *)
#else
--- 14,20 ----
{
static char rname[24];
struct hostent *host;
! #if defined(linux) || defined(__OpenBSD__)
#define PEER_CAST (struct sockaddr *)
#define HOST_CAST (char *)
#else

19
net/icb/files/patch-o-ac Normal file
View file

@ -0,0 +1,19 @@
*** murgil/serverserve.c.orig Wed May 6 18:47:32 1998
--- murgil/serverserve.c Wed May 6 18:47:48 1998
***************
*** 33,39 ****
if (port_fd > highestfd)
highestfd = port_fd;
! signal(SIGALRM, gotalarm);
timeisup = 0;
for (;;) {
--- 33,39 ----
if (port_fd > highestfd)
highestfd = port_fd;
! signal(SIGALRM, (void *)gotalarm);
timeisup = 0;
for (;;) {

36
net/icb/files/patch-o-ad Normal file
View file

@ -0,0 +1,36 @@
*** tcl/tclCmdAH.c.orig Sat Feb 25 03:19:53 1995
--- tcl/tclCmdAH.c Wed May 6 18:54:07 1998
***************
*** 38,45 ****
--- 38,51 ----
#include <sys/wait.h>
#include "tclInt.h"
+ #if (defined(__unix__) || defined(unix)) && !defined(USG)
+ #include <sys/param.h>
+ #endif
+
extern int errno;
+ #if !(defined(BSD) && BSD >= 199306)
extern long lseek();
+ #endif
extern char *mktemp();
/*
***************
*** 627,633 ****
while (1) {
int child;
! child = wait(&status);
if (child == -1) {
sprintf(interp->result,
"child process disappeared mysteriously");
--- 633,639 ----
while (1) {
int child;
! child = wait((int *)&status);
if (child == -1) {
sprintf(interp->result,
"child process disappeared mysteriously");

104
net/icb/files/patch-o-ae Normal file
View file

@ -0,0 +1,104 @@
*** readline/readline.c.orig Wed May 6 18:49:08 1998
--- readline/readline.c Wed May 6 18:51:35 1998
***************
*** 610,631 ****
rl_set_signals ()
{
! old_int = (SigHandler *)signal (SIGINT, rl_signal_handler);
if (old_int == (SigHandler *)SIG_IGN)
signal (SIGINT, SIG_IGN);
! old_alrm = (SigHandler *)signal (SIGALRM, rl_signal_handler);
if (old_alrm == (SigHandler *)SIG_IGN)
signal (SIGALRM, SIG_IGN);
#if defined (SIGTSTP)
! old_tstp = (SigHandler *)signal (SIGTSTP, rl_signal_handler);
if (old_tstp == (SigHandler *)SIG_IGN)
signal (SIGTSTP, SIG_IGN);
#endif
#if defined (SIGTTOU)
! old_ttou = (SigHandler *)signal (SIGTTOU, rl_signal_handler);
! old_ttin = (SigHandler *)signal (SIGTTIN, rl_signal_handler);
if (old_tstp == (SigHandler *)SIG_IGN)
{
--- 610,631 ----
rl_set_signals ()
{
! old_int = (SigHandler *)signal (SIGINT, (void *)rl_signal_handler);
if (old_int == (SigHandler *)SIG_IGN)
signal (SIGINT, SIG_IGN);
! old_alrm = (SigHandler *)signal (SIGALRM, (void *)rl_signal_handler);
if (old_alrm == (SigHandler *)SIG_IGN)
signal (SIGALRM, SIG_IGN);
#if defined (SIGTSTP)
! old_tstp = (SigHandler *)signal (SIGTSTP, (void *)rl_signal_handler);
if (old_tstp == (SigHandler *)SIG_IGN)
signal (SIGTSTP, SIG_IGN);
#endif
#if defined (SIGTTOU)
! old_ttou = (SigHandler *)signal (SIGTTOU, (void *)rl_signal_handler);
! old_ttin = (SigHandler *)signal (SIGTTIN, (void *)rl_signal_handler);
if (old_tstp == (SigHandler *)SIG_IGN)
{
***************
*** 635,660 ****
#endif
#if defined (SIGWINCH)
! old_sigwinch = (SigHandler *)signal (SIGWINCH, rl_handle_sigwinch);
#endif
}
rl_clear_signals ()
{
! signal (SIGINT, old_int);
! signal (SIGALRM, old_alrm);
#if defined (SIGTSTP)
! signal (SIGTSTP, old_tstp);
#endif
#if defined (SIGTTOU)
! signal (SIGTTOU, old_ttou);
! signal (SIGTTIN, old_ttin);
#endif
#if defined (SIGWINCH)
! signal (SIGWINCH, old_sigwinch);
#endif
}
#endif /* HANDLE_SIGNALS */
--- 635,660 ----
#endif
#if defined (SIGWINCH)
! old_sigwinch = (SigHandler *)signal (SIGWINCH, (void *)rl_handle_sigwinch);
#endif
}
rl_clear_signals ()
{
! signal (SIGINT, (void *)old_int);
! signal (SIGALRM, (void *)old_alrm);
#if defined (SIGTSTP)
! signal (SIGTSTP, (void *)old_tstp);
#endif
#if defined (SIGTTOU)
! signal (SIGTTOU, (void *)old_ttou);
! signal (SIGTTIN, (void *)old_ttin);
#endif
#if defined (SIGWINCH)
! signal (SIGWINCH, (void *)old_sigwinch);
#endif
}
#endif /* HANDLE_SIGNALS */

31
net/icb/files/patch-o-ah Normal file
View file

@ -0,0 +1,31 @@
*** icb/c_shell.c.orig Wed May 6 18:54:38 1998
--- icb/c_shell.c Wed May 6 18:55:02 1998
***************
*** 60,72 ****
signal(SIGQUIT, SIG_IGN);
/* wait for the child(ren) to die */
! while ((w = wait(&status)) != pid && w != -1);
/* restore the terminal */
icbterm();
/* restore signal processing */
! signal(SIGINT, askquit);
signal(SIGQUIT, SIG_DFL);
/* clean up a little */
--- 60,72 ----
signal(SIGQUIT, SIG_IGN);
/* wait for the child(ren) to die */
! while ((w = wait((int *)&status)) != pid && w != -1);
/* restore the terminal */
icbterm();
/* restore signal processing */
! signal(SIGINT, (void *)askquit);
signal(SIGQUIT, SIG_DFL);
/* clean up a little */

67
net/icb/files/patch-o-ai Normal file
View file

@ -0,0 +1,67 @@
*** icb/signals.c.orig Wed May 6 18:55:15 1998
--- icb/signals.c Wed May 6 18:55:55 1998
***************
*** 22,35 ****
/* sighandler askquit(), suspend(), icbexit(); */
/* exit on a hangup or terminate signal */
! signal(SIGHUP, icbexit);
! signal(SIGTERM, icbexit);
/* on an interrupt, verify the user wants to quit */
! signal(SIGINT, askquit);
/* suspend on a stop signal */
! signal(SIGTSTP, suspend);
}
--- 22,35 ----
/* sighandler askquit(), suspend(), icbexit(); */
/* exit on a hangup or terminate signal */
! signal(SIGHUP, (void *)icbexit);
! signal(SIGTERM, (void *)icbexit);
/* on an interrupt, verify the user wants to quit */
! signal(SIGINT, (void *)askquit);
/* suspend on a stop signal */
! signal(SIGTSTP, (void *)suspend);
}
***************
*** 45,51 ****
sigsetmask(sigblock(0) &~ mask(SIGTSTP));
kill(0, SIGTSTP);
sigblock(mask(SIGTSTP));
! signal(SIGTSTP, suspend);
icbterm();
continued = 1;
}
--- 45,51 ----
sigsetmask(sigblock(0) &~ mask(SIGTSTP));
kill(0, SIGTSTP);
sigblock(mask(SIGTSTP));
! signal(SIGTSTP, (void *)suspend);
icbterm();
continued = 1;
}
***************
*** 73,79 ****
if (c == 'Y' || c == 'y')
icbexit();
! signal(SIGINT, askquit);
continued = 1;
if (oem)
--- 73,79 ----
if (c == 'Y' || c == 'y')
icbexit();
! signal(SIGINT, (void *)askquit);
continued = 1;
if (oem)

29
net/icb/files/patch-o-aj Normal file
View file

@ -0,0 +1,29 @@
*** tcl/tclProc.c.orig Mon May 18 03:13:18 1998
--- tcl/tclProc.c Mon May 18 03:14:36 1998
***************
*** 793,803 ****
*/
procDone:
! for (argPtr = frame.varPtr; argPtr != NULL; argPtr = argPtr->nextPtr) {
if (argPtr->flags & VAR_DYNAMIC) {
free(argPtr->value);
}
! free((char *) argPtr);
}
iPtr->framePtr = frame.callerPtr;
iPtr->varFramePtr = frame.callerVarPtr;
--- 793,805 ----
*/
procDone:
! for (argPtr = frame.varPtr; argPtr != NULL;) {
! void *tmp = argPtr;
if (argPtr->flags & VAR_DYNAMIC) {
free(argPtr->value);
}
! argPtr = argPtr->nextPtr;
! free(tmp);
}
iPtr->framePtr = frame.callerPtr;
iPtr->varFramePtr = frame.callerVarPtr;

1
net/icb/pkg-comment Normal file
View file

@ -0,0 +1 @@
Internet CB - a mostly-defunct chat client

8
net/icb/pkg-descr Normal file
View file

@ -0,0 +1,8 @@
This is a chat client similar to irc, but for the icb protocol.
It is a much lighter weight client than IRC in terms of gaudyness, childish
features, and bots.
All-in-all, what it would be nice for IRC to be.
-- David
(obrien@NUXI.com)

8
net/icb/pkg-plist Normal file
View file

@ -0,0 +1,8 @@
@comment $Id$
bin/icb
share/icb/icbserverdb
share/icb/sample.icbrc
share/icb/bartender
share/icb/confuse
share/icb/echofile
@dirrm share/icb