Return to BSD News archive
Received: by minnie.vk1xwt.ampr.org with NNTP id AA2239 ; Mon, 01 Mar 93 10:50:36 EST Path: sserve!manuel.anu.edu.au!munnari.oz.au!mel.dit.csiro.au!merlin!bruce.cs.monash.edu.au!monu6!escargot!minyos.xx.rmit.OZ.AU!s902113 From: s902113@minyos.xx.rmit.OZ.AU (Luke Mewburn) Newsgroups: comp.os.386bsd.bugs Subject: Correct fix for screen3.2b & 386BSD Date: 26 Feb 1993 16:52:56 GMT Organization: RMIT Computer Centre Lines: 203 Message-ID: <1mlht8INNt70@escargot.xx.rmit.OZ.AU> NNTP-Posting-Host: minyos.xx.rmit.oz.au Summary: fix of a fix for screen3.2b Keywords: screen, bugfix, 386bsd [ NOTE: Original bugfix was from Otto van der Linden <vdlinden@fwi.uva.nl>, posted 17 Jan 1993. I (Luke Mewburn <zak@rmit.edu.au>) have fixed one minor part of the bugfix - in screen.c it wouldn't setsid() unless BSDI was defined, and without that call, fgtty() couldn't set the pgrp and tcsh couldn't get proper access to the tty, so job control wouldn't work. Added check for __386BSD__ there. - Luke (original note from Otto follows: ) ] Hi, Here are some diffs to make screen 3.2b work for 386BSD: 1. #ifdef BSDI --> #if defined(BSDI) || defined(__386BSD__) 2. bcopy() check in configure had a small bug. 3. add check for /usr/lib/libutil in configure. This library has getloadavg(). 4. add /usr/share/misc/termcap to the files checked for termcap in configure Onno van der Linden c/o vdlinden@fwi.uva.nl *** ansi.c.old Sun Jan 17 12:09:06 1993 --- ansi.c Sun Jan 17 13:45:57 1993 *************** *** 31,37 **** #include <stdio.h> #include <sys/types.h> ! #ifdef BSDI #include <sys/signal.h> ! #endif /* BSDI */ #include <fcntl.h> #include "config.h" --- 31,37 ---- #include <stdio.h> #include <sys/types.h> ! #if defined(BSDI) || defined(__386BSD__) #include <sys/signal.h> ! #endif /* BSDI || __386BSD__ */ #include <fcntl.h> #include "config.h" *** configure.old Wed Oct 28 17:12:32 1992 --- configure Sun Jan 17 14:35:50 1993 *************** *** 318,322 **** echo checking for termcap or terminfo ! if test ! -f /etc/termcap && test ! -f /usr/share/lib/termcap; then DEFS="${DEFS}#define TERMINFO 1 " LIBS="$LIBS -lcurses" --- 318,323 ---- echo checking for termcap or terminfo ! if test ! -f /etc/termcap && test ! -f /usr/share/lib/termcap && \ ! test ! -f /usr/share/misc/termcap; then DEFS="${DEFS}#define TERMINFO 1 " LIBS="$LIBS -lcurses" *************** *** 433,436 **** --- 434,438 ---- echo checking for libutils test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils" + test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil" for func in getloadavg do *************** *** 591,595 **** char buf[10]; strcpy(buf, "abcdefghi"); ! bcopy(buf, buf + 2, 3); if (!strncmp(buf, "ababcd", 6)) exit(0); /* libc version works properly. */ --- 593,597 ---- char buf[10]; strcpy(buf, "abcdefghi"); ! bcopy(buf, buf + 2, 4); if (!strncmp(buf, "ababcd", 6)) exit(0); /* libc version works properly. */ *** fileio.c.old Sun Jan 17 12:14:10 1993 --- fileio.c Sun Jan 17 13:56:54 1993 *************** *** 46,52 **** #include <fcntl.h> ! #ifdef BSDI # include <sys/signal.h> ! #endif /* BSDI */ #include "config.h" --- 46,52 ---- #include <fcntl.h> ! #if defined(BSDI) || defined(__386BSD__) # include <sys/signal.h> ! #endif /* BSDI || __386BSD__ */ #include "config.h" *************** *** 143,149 **** */ extern time_t time __P((time_t *)); ! #if !defined(BSDI) && !defined(SVR4) extern char *getpass __P((char *)); ! #endif /* !BSDI && !SVR4 */ char *KeyNames[] = --- 143,149 ---- */ extern time_t time __P((time_t *)); ! #if !defined(BSDI) && !defined(SVR4) && !defined(__386BSD__) extern char *getpass __P((char *)); ! #endif /* !BSDI && !SVR4 && !__386BSD__ */ char *KeyNames[] = *** help.c.old Sun Jan 17 12:13:04 1993 --- help.c Sun Jan 17 13:57:12 1993 *************** *** 40,46 **** #include <sys/types.h> ! #ifdef BSDI # include <sys/signal.h> ! #endif /* BSDI */ #include "screen.h" --- 40,46 ---- #include <sys/types.h> ! #if defined(BSDI) || defined(__386BSD__) # include <sys/signal.h> ! #endif /* BSDI || __386BSD__ */ #include "screen.h" *** mark.c.old Sun Jan 17 12:14:56 1993 --- mark.c Sun Jan 17 13:47:10 1993 *************** *** 38,44 **** #include <sys/types.h> ! #ifdef BSD # include <sys/signal.h> ! #endif /* BSDI */ #include "config.h" --- 38,44 ---- #include <sys/types.h> ! #if defined(BSDI) || defined(__386BSD__) # include <sys/signal.h> ! #endif /* BSDI || __386BSD__ */ #include "config.h" *** screen.h.old Sun Jan 17 13:44:30 1993 --- screen.h Sun Jan 17 14:47:41 1993 *************** *** 554,562 **** # define UTMPFILE UTMP_FILE # else ! # ifdef BSDI # define UTMPFILE "/var/run/utmp" # else # define UTMPFILE "/etc/utmp" ! # endif /* BSDI */ # endif #endif --- 554,562 ---- # define UTMPFILE UTMP_FILE # else ! # if defined(BSDI) || defined(__386BSD__) # define UTMPFILE "/var/run/utmp" # else # define UTMPFILE "/etc/utmp" ! # endif /* BSDI || __386BSD__ */ # endif #endif *** screen.c.old Fri Feb 26 19:26:04 1993 --- screen.c Fri Feb 26 19:26:50 1993 *************** *** 388,397 **** mypid = getpid(); ! # ifdef BSDI setsid(); ioctl(0, TIOCSCTTY, 0); ! # endif /* BSDI */ # ifdef POSIX if (tcsetpgrp(0, mypid)) --- 388,397 ---- mypid = getpid(); ! # if defined(BSDI) || defined(__386BSD__) setsid(); ioctl(0, TIOCSCTTY, 0); ! # endif /* BSDI || __386BSD__ */ # ifdef POSIX if (tcsetpgrp(0, mypid))