diff -cN 7.2.6-a2/README 7.2.6-a3/README *** 7.2.6-a2/README Wed Jul 5 20:30:06 1995 --- 7.2.6-a3/README Wed Jul 19 22:27:06 1995 *************** *** 261,266 **** --- 261,270 ---- compatibility with sun workstations, or something like that. You may be able to get by with -lbsd. + Be sure to set LPR correctly in config.h, depending on whether you + installed the Berkeley or SystemV print services. Use the "versions" + command if you need to find out. + For IRIX 5, you're on your own. Start with the SVR4 directions. If you are using a hybrid BSD/SysV system: diff -cN 7.2.6-a2/config.h-dist 7.2.6-a3/config.h-dist *** 7.2.6-a2/config.h-dist Wed Jul 5 20:30:06 1995 --- 7.2.6-a3/config.h-dist Wed Jul 19 22:27:06 1995 *************** *** 15,21 **** #define EDFILE ".edXXXXXX" /* file/pathname added to user's "home" */ #define LS_COMMAND "ls" - #define LPR "lpr" #define DEF_PRINTER "lp" /* If your lpr command understands only -P or -d (or some other flag) then * define PRINTER_OPT to the appropriate value. If you want to be able to --- 15,20 ---- *************** *** 25,33 **** --- 24,34 ---- * arguments, include a trailing space in this definition. */ #ifdef SYSV + #define LPR "lp" #define PRINTER_OPT "-d" #endif /* SYSV */ #ifdef BSD + #define LPR "lpr" #define PRINTER_OPT "-P" #endif /* BSD */ *************** *** 157,163 **** --- 158,168 ---- #if defined(SYSV) && !defined(SVR4) #define MAILDIR "/usr/mail" #else /* BSD || SVR4 */ + #ifdef BSD44 + #define MAILDIR "/var/mail" + #else #define MAILDIR "/usr/spool/mail" + #endif /* BSD44 */ #endif /* SYSV && !SVR4 */ #endif /* MAILDIR */ #endif /* HOMEMAIL */ *************** *** 280,282 **** --- 285,302 ---- # undef SYSV # define SYSV #endif /* SVR3 */ + + #if defined(SYSV) && defined(__STDC__) + #undef HAS_BZERO + #endif + #if !defined(HAS_BZERO) && defined(__STDC__) + #define bzero(p,n) memset(p,0,n) + #define HAS_BZERO + #endif + + #ifdef HOMEMAIL + #define NO_FLOCK + #endif + #ifdef NO_FLOCK + #define DOT_LOCK + #endif diff -cN 7.2.6-a2/curs_io.c 7.2.6-a3/curs_io.c *** 7.2.6-a2/curs_io.c Wed Jul 5 20:30:06 1995 --- 7.2.6-a3/curs_io.c Wed Jul 19 22:27:06 1995 *************** *** 590,596 **** while (pfx && exp[0][pfx - 1] != '/') --pfx; putchar('\n'); ! if (columnate(f, exp, pfx) < 0) (void) errbell(-1); /* Reprint the line */ if (iscurses) { --- 590,596 ---- while (pfx && exp[0][pfx - 1] != '/') --pfx; putchar('\n'); ! if (columnate(f, exp, pfx, (char ***)0) < 0) (void) errbell(-1); /* Reprint the line */ if (iscurses) { diff -cN 7.2.6-a2/curses.c 7.2.6-a3/curses.c *** 7.2.6-a2/curses.c Thu Jul 6 10:22:21 1995 --- 7.2.6-a3/curses.c Wed Jul 19 22:27:07 1995 *************** *** 913,919 **** { int hlp_siz = LINES - 2 - curses_help_msg(FALSE); - #ifndef BSD44 if (!do_set(set_options, "screen")) #ifdef POSIX switch (cfgetospeed(&_tty)) --- 913,918 ---- *************** *** 931,937 **** otherwise : screen = hlp_siz; } else - #endif /* BSD44 */ screen = min(screen, hlp_siz); } --- 930,935 ---- diff -cN 7.2.6-a2/doproc.c 7.2.6-a3/doproc.c *** 7.2.6-a2/doproc.c Mon Jul 3 21:47:25 1995 --- 7.2.6-a3/doproc.c Wed Jul 19 22:27:07 1995 *************** *** 758,765 **** for (item = (Panel_item) panel_get(item, PANEL_NEXT_ITEM); item; item = next) { next = (Panel_item) panel_get(item, PANEL_NEXT_ITEM); ! (void) panel_set(item, ! PANEL_SHOW_ITEM, (i++ < 1)? !getting : getting, NULL); } } --- 758,769 ---- for (item = (Panel_item) panel_get(item, PANEL_NEXT_ITEM); item; item = next) { next = (Panel_item) panel_get(item, PANEL_NEXT_ITEM); ! /* Don't erase choices and toggles - Ick */ ! if (!panel_get(item, PANEL_CHOICE_STRING, 0) || ! panel_get(item, PANEL_LABEL_IMAGE)) ! (void) panel_set(item, ! PANEL_SHOW_ITEM, (i < 1) ? !getting : getting, NULL); ! i++; } } diff -cN 7.2.6-a2/glob.c 7.2.6-a3/glob.c *** 7.2.6-a2/glob.c Sun Jul 9 12:37:19 1995 --- 7.2.6-a3/glob.c Wed Jul 19 22:27:08 1995 *************** *** 517,522 **** --- 517,526 ---- return -1; d = (*dir ? dir : "."); + b = buf + Strcpy(buf, dir); + if (b > buf && *(b - 1) != '/') + *b++ = '/'; + errno = 0; if (!(dirp = opendir(d))) { if ((errno == ENOENT || errno == ENOTDIR) && diff -cN 7.2.6-a2/lock.c 7.2.6-a3/lock.c *** 7.2.6-a2/lock.c Wed Jul 5 20:30:08 1995 --- 7.2.6-a3/lock.c Wed Jul 19 22:27:09 1995 *************** *** 62,68 **** #define print_more fflush(stdout), printf #undef error #define error printf - #undef sprintf /* Simple dotlock program. Exits 0 for success, nonzero for failure. * --- 62,67 ---- *************** *** 139,145 **** SIGRET (*oldint)(), (*oldquit)(); #ifndef LOCK_PROG ! #if defined(SYSV) && !defined(HPUX) && !defined(IRIX4) /* Only the spoolfile needs to be dot_locked -- other files are * handled by lock_fopen, below. To avoid collisions with 14-char * file name limits, we allow dot_locking ONLY of the spoolfile. --- 138,144 ---- SIGRET (*oldint)(), (*oldquit)(); #ifndef LOCK_PROG ! #if defined(SYSV) && !defined(HPUX) && !defined(IRIX4) && !defined(SVR4) /* Only the spoolfile needs to be dot_locked -- other files are * handled by lock_fopen, below. To avoid collisions with 14-char * file name limits, we allow dot_locking ONLY of the spoolfile. *************** *** 149,155 **** #ifdef SVR2 return lock_proc(filename, DOLOCKIT); #endif /* SVR2 */ ! #endif /* SYSV && !HPUX && !IRIX4 */ #ifdef BSD setregid(rgid, sgid); #else /* BSD */ --- 148,154 ---- #ifdef SVR2 return lock_proc(filename, DOLOCKIT); #endif /* SVR2 */ ! #endif /* SYSV && !HPUX && !IRIX4 && !SVR4 */ #ifdef BSD setregid(rgid, sgid); #else /* BSD */ *************** *** 181,187 **** if (lockfd >= 0) { if (cnt) print("done.\n"); - (void) close(lockfd); } #ifdef LOCK_PROG if (lockfd < 0) --- 180,185 ---- *************** *** 218,224 **** return 0; (void) strcpy(buf, p); } ! #if defined(SYSV) && !defined(HPUX) && !defined(IRIX4) if (strncmp(spoolfile, buf, strlen(spoolfile)) != 0) return 0; #ifdef SVR2 --- 216,222 ---- return 0; (void) strcpy(buf, p); } ! #if defined(SYSV) && !defined(HPUX) && !defined(IRIX4) && !defined(SVR4) if (strncmp(spoolfile, buf, strlen(spoolfile)) != 0) return 0; #ifdef SVR2 *************** *** 226,232 **** *p = 0; return lock_proc(buf, UNLOCKIT); #endif /* SVR2 */ ! #endif /* SYSV && !HPUX && !IRIX4 */ #else /* LOCK_PROG */ errno = 0; #endif /* !LOCK_PROG */ --- 224,230 ---- *p = 0; return lock_proc(buf, UNLOCKIT); #endif /* SVR2 */ ! #endif /* SYSV && !HPUX && !IRIX4 && !defined(SVR4) */ #else /* LOCK_PROG */ errno = 0; #endif /* !LOCK_PROG */ *************** *** 286,291 **** --- 284,292 ---- flock(fd, op) int fd, op; { + #ifdef NO_FLOCK + return 0; + #else #ifndef USG (void) locking(fd, op, 0); /* old xenix (sys III) */ return 0; *************** *** 299,304 **** --- 300,306 ---- return fcntl(fd, F_SETLKW, &l); #endif /* USG */ + #endif /* NO_FLOCK */ } #endif /* SYSV */ diff -cN 7.2.6-a2/makefile.freebsd 7.2.6-a3/makefile.freebsd *** 7.2.6-a2/makefile.freebsd Wed Dec 31 16:00:00 1969 --- 7.2.6-a3/makefile.freebsd Wed Jul 19 22:27:10 1995 *************** *** 0 **** --- 1,74 ---- + # makefile.freebsd + # + HDRS= mush.h config.h-dist strings.h bindings.h options.h version.h glob.h pop.h + + SRCS= main.c init.c misc.c mail.c hdrs.c execute.c commands.c print.c dates.c \ + signals.c setopts.c msgs.c pick.c sort.c expr.c folders.c \ + loop.c viewopts.c curses.c curs_io.c bind.c file.c strings.c \ + lock.c macros.c options.c addrs.c malloc.c glob.c command2.c \ + pop.c pmush.c xcreat.c + OBJS= main.o init.o misc.o mail.o hdrs.o execute.o commands.o print.o file.o \ + signals.o setopts.o msgs.o pick.o sort.o expr.o strings.o \ + folders.o dates.o loop.o viewopts.o curses.o curs_io.o bind.o \ + lock.o macros.o options.o addrs.o malloc.o glob.o command2.o \ + pop.o pmush.o xcreat.o + + HELP_FILES= README README-7.0 README-7.1 README-7.2.0 README-7.2.2 \ + README-7.2.4 mush.1 cmd_help Mushrc Mailrc Gnurc \ + sample.mushrc advanced.mushrc digestify + + MAKES= makefile.bsdi makefile.bsd makefile.xenix makefile.sys.v makefile.hpux makefile.sun makefile.solaris makefile.freebsd + + CFLAGS= -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME + LDFLAGS= -g + LINTFLAGS= -bxah -Dlint -DCURSES -DBSD + LIBS= -lcurses -ltermlib -lcompat + OTHERLIBS= + # Use some variant of this one if you #define MMDF in config.h + #OTHERLIBS=/usr/src/mmdf/lib/libmmdf.a + + mush: $(OBJS) + @echo loading... + @$(CC) $(LDFLAGS) $(OBJS) $(LIBS) $(OTHERLIBS) -o mush + + $(OBJS): config.h mush.h + loop.o: version.h + + tape: + @tar cv $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES) + + tar: + @tar fcv MUSH $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES) + + tarmail: + tar fcv - $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES) | \ + compress | btoa > mush.tarmail + + lint: + lint $(LINTFLAGS) $(SRCS) + + clean: + rm -f *.o core mush + + BINDIR= /usr/local/bin + LIBDIR= /usr/local/lib + MRCDIR= /usr/share/misc + MANDIR= /usr/local/man/man1 + MANEXT= 1 + + install: mush + mv mush $(BINDIR) + strip $(BINDIR)/mush + chmod 0755 $(BINDIR)/mush + cp mush.1 $(MANDIR)/mush.$(MANEXT) + chmod 0644 $(MANDIR)/mush.$(MANEXT) + cp cmd_help $(LIBDIR) + chmod 0644 $(LIBDIR)/cmd_help + cp Mushrc $(MRCDIR)/Mushrc + chmod 0644 $(MRCDIR)/Mushrc + + + glob: glob.c + $(CC) $(CFLAGS) -DTEST -DTEST2 glob.c $(LIBS) $(OTHERLIBS) -o glob + + diff -cN 7.2.6-a2/makefile.solaris 7.2.6-a3/makefile.solaris *** 7.2.6-a2/makefile.solaris Sun Jul 9 12:37:54 1995 --- 7.2.6-a3/makefile.solaris Wed Jul 19 22:27:11 1995 *************** *** 1,7 **** # # Mush makefile for Solaris with gcc 2.5.8 # ! CC=gcc -traditional HDRS1= mush.h config.h HDRS2= strings.h options.h HDRS3= bindings.h glob.h --- 1,7 ---- # # Mush makefile for Solaris with gcc 2.5.8 # ! CC=gcc -traditional -fwritable-strings HDRS1= mush.h config.h HDRS2= strings.h options.h HDRS3= bindings.h glob.h *************** *** 24,30 **** # # # ! CFLAGS= -g -DSYSV -DUSG -DCURSES -DSIGRET=void -DSVR4 -DREGCMP LDFLAGS= -g LIBS= -L/usr/ccs/lib -lcurses -lgen -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a OTHERLIBS= --- 24,30 ---- # # # ! CFLAGS= -O2 -g -DSYSV -DUSG -DCURSES -DSIGRET=void -DSVR4 -DREGCMP LDFLAGS= -g LIBS= -L/usr/ccs/lib -lcurses -lgen -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a OTHERLIBS= diff -cN 7.2.6-a2/makefile.sun 7.2.6-a3/makefile.sun *** 7.2.6-a2/makefile.sun Mon Jul 3 21:47:26 1995 --- 7.2.6-a3/makefile.sun Wed Jul 19 22:27:11 1995 *************** *** 29,35 **** # If your SunOS version is 4.0, add -DSUN_4_0 to CFLAGS. # If you are not using SUNTOOL, use makefile.bsd and add one of # -DSUN_3_5, -DSUN_4_0, or -DSUN_4_1 to CFLAGS there. ! CFLAGS= -O -DSUNTOOL -DCURSES -DBSD LDFLAGS= LIBS= -lcurses -ltermlib -lsuntool -lsunwindow -lpixrect OTHERLIBS= --- 29,35 ---- # If your SunOS version is 4.0, add -DSUN_4_0 to CFLAGS. # If you are not using SUNTOOL, use makefile.bsd and add one of # -DSUN_3_5, -DSUN_4_0, or -DSUN_4_1 to CFLAGS there. ! CFLAGS= -O -DBASENAME -DSUNTOOL -DCURSES -DBSD LDFLAGS= LIBS= -lcurses -ltermlib -lsuntool -lsunwindow -lpixrect OTHERLIBS= *************** *** 38,44 **** LINTFLAGS= -bxah -Dlint # GCC needs -fwritable-strings ! #CC= gcc -fwritable-strings mush: $(OBJS) @echo loading... --- 38,44 ---- LINTFLAGS= -bxah -Dlint # GCC needs -fwritable-strings ! #CC= gcc -fwritable-strings -traditional mush: $(OBJS) @echo loading... diff -cN 7.2.6-a2/makefile.sun-notool 7.2.6-a3/makefile.sun-notool *** 7.2.6-a2/makefile.sun-notool Wed Dec 31 16:00:00 1969 --- 7.2.6-a3/makefile.sun-notool Wed Jul 19 22:27:11 1995 *************** *** 0 **** --- 1,74 ---- + # makefile.bsd (c) copyright 1991 (Dan Heller) + # SunOS users should add -DSUN_3_5, -DSUN_4_0, or -DSUN_4_1 to CFLAGS. + # + HDRS= mush.h config.h-dist strings.h bindings.h options.h version.h glob.h pop.h + + SRCS= main.c init.c misc.c mail.c hdrs.c execute.c commands.c print.c dates.c \ + signals.c setopts.c msgs.c pick.c sort.c expr.c folders.c \ + loop.c viewopts.c curses.c curs_io.c bind.c file.c strings.c \ + lock.c macros.c options.c addrs.c malloc.c glob.c command2.c \ + pop.c pmush.c xcreat.c + OBJS= main.o init.o misc.o mail.o hdrs.o execute.o commands.o print.o file.o \ + signals.o setopts.o msgs.o pick.o sort.o expr.o strings.o \ + folders.o dates.o loop.o viewopts.o curses.o curs_io.o bind.o \ + lock.o macros.o options.o addrs.o malloc.o glob.o command2.o \ + pop.o pmush.o xcreat.o + + HELP_FILES= README README-7.0 README-7.1 README-7.2.0 README-7.2.2 \ + README-7.2.4 mush.1 cmd_help Mushrc Mailrc Gnurc \ + sample.mushrc advanced.mushrc digestify + + MAKES= makefile.bsd makefile.xenix makefile.sys.v makefile.hpux makefile.sun + + # See the README for changes needed to compile under Ultrix. + # In particular, you may need -DSIGRET=void and/or -ltermcap. + CFLAGS= -g -O2 -DCURSES -DBSD -DSUN_4_1 -DBASENAME + LDFLAGS= + LINTFLAGS= -bxah -Dlint -DCURSES -DBSD + LIBS= -lcurses -ltermlib + OTHERLIBS= + # Use some variant of this one if you #define MMDF in config.h + #OTHERLIBS=/usr/src/mmdf/lib/libmmdf.a + + # GCC needs -fwritable-strings + CC=gcc -fwritable-strings + + mush: $(OBJS) + @echo loading... + @$(CC) $(LDFLAGS) $(OBJS) $(LIBS) $(OTHERLIBS) -o mush + + $(OBJS): config.h mush.h + loop.o: version.h + + tape: + @tar cv $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES) + + tar: + @tar fcv MUSH $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES) + + tarmail: + tar fcv - $(MAKES) $(HDRS) $(SRCS) $(HELP_FILES) | \ + compress | btoa > mush.tarmail + + lint: + lint $(LINTFLAGS) $(SRCS) + + clean: + rm -f *.o core mush + + BINDIR= /vol/local/bin + LIBDIR= /vol/local/lib/mush + MRCDIR= /vol/local/lib/mush + MANDIR= /vol/local/man/man1 + MANEXT= 1 + + install: mush + mv mush $(BINDIR) + strip $(BINDIR)/mush + chmod 0755 $(BINDIR)/mush + cp mush.1 $(MANDIR)/mush.$(MANEXT) + chmod 0644 $(MANDIR)/mush.$(MANEXT) + cp cmd_help $(LIBDIR) + chmod 0644 $(LIBDIR)/cmd_help + cp Mushrc $(MRCDIR)/Mushrc + chmod 0644 $(MRCDIR)/Mushrc diff -cN 7.2.6-a2/msgs.c 7.2.6-a3/msgs.c *** 7.2.6-a2/msgs.c Sun Jul 9 12:35:42 1995 --- 7.2.6-a3/msgs.c Wed Jul 19 22:27:12 1995 *************** *** 518,527 **** struct utimbuf times[1]; (void) fflush(mail_fp); /* just in case */ times[0].modtime = time(×[0].actime) - 2; ! #ifndef linux /* this isn't in MY posix manual (IEEE Std 1003.1-1988, 5.6.6.1) */ times[0].ausec = times[0].modusec = 0; ! #endif #else /* !POSIX_UTIME */ long times[2]; (void) fflush(mail_fp); /* just in case */ --- 518,527 ---- struct utimbuf times[1]; (void) fflush(mail_fp); /* just in case */ times[0].modtime = time(×[0].actime) - 2; ! #ifdef POSIX_UTIME_USEC /* this isn't in MY posix manual (IEEE Std 1003.1-1988, 5.6.6.1) */ times[0].ausec = times[0].modusec = 0; ! #endif /* POSIX_UTIME_USEC */ #else /* !POSIX_UTIME */ long times[2]; (void) fflush(mail_fp); /* just in case */ *************** *** 632,638 **** (void) window_set(tool, FRAME_LABEL, buf, NULL); icon = (Icon) window_get(tool, FRAME_ICON); (void) icon_set(icon, ! ICON_IMAGE, ison(glob_flags, NEW_MAIL)? &mail_icon_image2 : &mail_icon_image1, NULL); if (!chk_option("quiet", "iconlabel")) --- 632,638 ---- (void) window_set(tool, FRAME_LABEL, buf, NULL); icon = (Icon) window_get(tool, FRAME_ICON); (void) icon_set(icon, ! ICON_IMAGE, (mail_stat.unread > 0) ? &mail_icon_image2 : &mail_icon_image1, NULL); if (!chk_option("quiet", "iconlabel")) diff -cN 7.2.6-a2/mush.h 7.2.6-a3/mush.h *** 7.2.6-a2/mush.h Sun Jul 9 12:35:41 1995 --- 7.2.6-a3/mush.h Wed Jul 19 22:27:13 1995 *************** *** 530,536 **** /* It is possible to reset MAX_PRIORITY to as high as 9 */ #define MAX_PRIORITY 5 ! #define MAXMSGS_BITS MAXMSGS/sizeof(char) /* number of bits for bitmap */ struct msg { u_long m_flags; --- 530,536 ---- /* It is possible to reset MAX_PRIORITY to as high as 9 */ #define MAX_PRIORITY 5 ! #define MAXMSGS_BITS ((MAXMSGS+7)/8) /* number of bits for bitmap */ struct msg { u_long m_flags; *************** *** 575,581 **** *lock_fopen(), /* open and lock a file as an atomic operation */ *popen(); /* this should be in stdio.h */ ! #ifndef __STDC__ extern char #ifndef BSD44 *sys_errlist[], /* system's list of global error messages */ --- 575,581 ---- *lock_fopen(), /* open and lock a file as an atomic operation */ *popen(); /* this should be in stdio.h */ ! #if (__STDC__ > 0) extern char #ifndef BSD44 *sys_errlist[], /* system's list of global error messages */ diff -cN 7.2.6-a2/panels.c 7.2.6-a3/panels.c *** 7.2.6-a2/panels.c Mon Jul 3 21:47:25 1995 --- 7.2.6-a3/panels.c Wed Jul 19 22:27:13 1995 *************** *** 393,399 **** PANEL_ATTRIBUTE_LIST, choice_args, PANEL_DISPLAY_LEVEL, PANEL_ALL, PANEL_SHOW_MENU_MARK, TRUE, ! PANEL_SHOW_ITEM, FALSE, PANEL_LABEL_STRING, "Autosign:", PANEL_CHOICE_STRINGS, "Off", "On", NULL, NULL); --- 393,399 ---- PANEL_ATTRIBUTE_LIST, choice_args, PANEL_DISPLAY_LEVEL, PANEL_ALL, PANEL_SHOW_MENU_MARK, TRUE, ! PANEL_SHOW_ITEM, TRUE, PANEL_LABEL_STRING, "Autosign:", PANEL_CHOICE_STRINGS, "Off", "On", NULL, NULL); *************** *** 433,439 **** PANEL_ATTRIBUTE_LIST, choice_args, PANEL_DISPLAY_LEVEL, PANEL_ALL, PANEL_SHOW_MENU_MARK, TRUE, ! PANEL_SHOW_ITEM, FALSE, PANEL_LABEL_STRING, "Fortune:", PANEL_CHOICE_STRINGS, "Off", "On", NULL, NULL); --- 433,439 ---- PANEL_ATTRIBUTE_LIST, choice_args, PANEL_DISPLAY_LEVEL, PANEL_ALL, PANEL_SHOW_MENU_MARK, TRUE, ! PANEL_SHOW_ITEM, TRUE, PANEL_LABEL_STRING, "Fortune:", PANEL_CHOICE_STRINGS, "Off", "On", NULL, NULL); diff -cN 7.2.6-a2/print.c 7.2.6-a3/print.c *** 7.2.6-a2/print.c Tue Jul 4 17:50:19 1995 --- 7.2.6-a3/print.c Wed Jul 19 22:27:15 1995 *************** *** 154,159 **** --- 154,161 ---- #endif /* VPRINTF */ char msgbuf[BUFSIZ]; /* we're not getting huge strings */ char *fmt; + int msglen; + int max_mem; va_list args; if (istool < 2) { *************** *** 183,189 **** _doprnt(fmt, args, &foo); /* format like printf into msgbuf via foo */ *foo._ptr = '\0'; /* plant terminating null character */ #endif /* VPRINTF */ ! textsw_insert(mfprint_sw, msgbuf, strlen(msgbuf)); } va_end(args); } --- 185,222 ---- _doprnt(fmt, args, &foo); /* format like printf into msgbuf via foo */ *foo._ptr = '\0'; /* plant terminating null character */ #endif /* VPRINTF */ ! msglen = strlen(msgbuf); ! max_mem = (int)window_get(mfprint_sw, TEXTSW_MEMORY_MAXIMUM); ! /* textsw seems to require a bout 25 bytes of overhead, ! * we'll allow for 80 ! */ ! if ((int)window_get(mfprint_sw, TEXTSW_LENGTH) + msglen + 80 >= max_mem) { ! Textsw_index first, last_plus_one; ! char *tmpbuf; ! ! first = max_mem/2 + 1; ! if (tmpbuf = malloc(max_mem/2 + 1)) { ! if (textsw_find_bytes(mfprint_sw, &first, &last_plus_one, ! "\n", 1, 0) != -1) { ! window_get(mfprint_sw, TEXTSW_CONTENTS, last_plus_one, ! tmpbuf, max_mem/2 + 1); ! } else { ! free(tmpbuf); ! tmpbuf = NULL; ! } ! } ! textsw_reset(mfprint_sw, 0, 0); ! window_set(mfprint_sw, ! TEXTSW_READ_ONLY, TRUE, ! TEXTSW_BLINK_CARET, FALSE, ! TEXTSW_LINE_BREAK_ACTION, TEXTSW_WRAP_AT_CHAR, ! 0); ! if (tmpbuf) { ! window_set(mfprint_sw, TEXTSW_CONTENTS, tmpbuf, 0); ! free(tmpbuf); ! } ! } ! textsw_insert(mfprint_sw, msgbuf, msglen); } va_end(args); } diff -cN 7.2.6-a2/signals.c 7.2.6-a3/signals.c *** 7.2.6-a2/signals.c Wed Jul 5 20:30:11 1995 --- 7.2.6-a3/signals.c Wed Jul 19 22:27:15 1995 *************** *** 10,16 **** #if !defined(__linux__) && !defined(BSD44) #ifndef SYSV ! #ifndef __STDC__ extern char *sys_siglist[]; #endif #else --- 10,16 ---- #if !defined(__linux__) && !defined(BSD44) #ifndef SYSV ! #if (__STDC__ > 0) extern char *sys_siglist[]; #endif #else *************** *** 359,366 **** return 1; /* Nothing to print */ #ifdef SUNTOOL if (istool) { mail_status(0); ! (void) do_hdrs(0, DUBL_NULL, NULL); if (noisy && !chk_option("quiet", "tool")) bell(); } --- 359,371 ---- return 1; /* Nothing to print */ #ifdef SUNTOOL if (istool) { + char *av[3], buf[8]; mail_status(0); ! /* do_hdrs(0, ...) repositions the display, so pass an arg */ ! av[0] = "h"; ! av[1] = sprintf(buf, "%d", n_array[0] + 1); ! av[2] = NULL; ! (void) do_hdrs(2, av, NULL); if (noisy && !chk_option("quiet", "tool")) bell(); } diff -cN 7.2.6-a2/version.h 7.2.6-a3/version.h *** 7.2.6-a2/version.h Sun Jul 9 12:47:34 1995 --- 7.2.6-a3/version.h Wed Jul 19 22:27:16 1995 *************** *** 1,7 **** /* @(#)version.h (c) Copyright 1989, 1990, 1991 (Dan Heller) */ #define MUSHNAME "Mail User's Shell" ! #define RELEASE_DATE "alpha(2) 7/9/95" #define RELEASE 7 #define REVISION "2" #define PATCHLEVEL 6 --- 1,7 ---- /* @(#)version.h (c) Copyright 1989, 1990, 1991 (Dan Heller) */ #define MUSHNAME "Mail User's Shell" ! #define RELEASE_DATE "alpha(3) 7/19/95" #define RELEASE 7 #define REVISION "2" #define PATCHLEVEL 6