*** imap/ANSI/c-client/Makefile.orig Tue Oct 11 00:13:08 1994 --- imap/ANSI/c-client/Makefile Mon Nov 28 12:50:03 1994 *************** *** 85,90 **** --- 85,96 ---- STDPROTO=bezerkproto \ RSHPATH=/usr/bin/rsh CFLAGS="-g -O -pipe $(EXTRACFLAGS)" + bsf: # FreeBSD + $(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \ + STDPROTO=bezerkproto \ + LDFLAGS=-lcrypt \ + RSHPATH=/usr/bin/rsh CFLAGS="-g -O -pipe $(EXTRACFLAGS)" + cvx: # Convex $(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \ STDPROTO=bezerkproto \ diff -C2 --recursive --new-file imap/ANSI/c-client/bezerk.c imap/ANSI/c-client/bezerk.c *** imap/ANSI/c-client/bezerk.c Tue Aug 16 04:51:04 1994 --- imap/ANSI/c-client/bezerk.c Sat Sep 3 17:05:48 1994 *************** *** 416,420 **** write (fd,tmp,(i = strlen (tmp))+1); } ! ftruncate (fd,i); /* make sure tied off */ fsync (fd); /* make sure it's available */ retry = 0; /* no more need to try */ --- 416,420 ---- write (fd,tmp,(i = strlen (tmp))+1); } ! ftruncate (fd,(off_t)i); /* make sure tied off */ fsync (fd); /* make sure it's available */ retry = 0; /* no more need to try */ *************** *** 1047,1051 **** sprintf (buf,"Message append failed: %s",strerror (errno)); mm_log (buf,ERROR); ! ftruncate (fd,sbuf.st_size); } tp[0] = sbuf.st_atime; /* preserve atime */ --- 1047,1051 ---- sprintf (buf,"Message append failed: %s",strerror (errno)); mm_log (buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); } tp[0] = sbuf.st_atime; /* preserve atime */ *************** *** 1624,1628 **** i = errno; /* note error before doing ftruncate */ /* restore prior file size */ ! ftruncate (fd,LOCAL->filesize); fsync (fd); /* is this necessary? */ fstat (fd,&sbuf); /* now get updated file time */ --- 1624,1628 ---- i = errno; /* note error before doing ftruncate */ /* restore prior file size */ ! ftruncate (fd,(off_t)LOCAL->filesize); fsync (fd); /* is this necessary? */ fstat (fd,&sbuf); /* now get updated file time */ *************** *** 1688,1692 **** } } while (retry); /* repeat if need to try again */ ! ftruncate(fd,LOCAL->filesize);/* nuke any cruft after that */ fsync (fd); /* is this necessary? */ fstat (fd,&sbuf); /* now get updated file time */ --- 1688,1692 ---- } } while (retry); /* repeat if need to try again */ ! ftruncate(fd,(off_t)LOCAL->filesize);/* nuke any cruft after that */ fsync (fd); /* is this necessary? */ fstat (fd,&sbuf); /* now get updated file time */ *************** *** 1716,1729 **** (bezerk_write_message (fd,LOCAL->msgs[i - 1]) < 0)) { sprintf (LOCAL->buf,"Message copy failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,sbuf.st_size); ok = NIL; break; } if (fsync (fd)) { /* force out the update */ sprintf (LOCAL->buf,"Message copy sync failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,sbuf.st_size); ok = NIL; /* oops */ } tp[0] = sbuf.st_atime; /* preserve atime */ --- 1716,1729 ---- (bezerk_write_message (fd,LOCAL->msgs[i - 1]) < 0)) { sprintf (LOCAL->buf,"Message copy failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); ok = NIL; break; } if (fsync (fd)) { /* force out the update */ sprintf (LOCAL->buf,"Message copy sync failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); ok = NIL; /* oops */ } tp[0] = sbuf.st_atime; /* preserve atime */ diff -C2 --recursive --new-file imap/ANSI/c-client/mbox.c imap/ANSI/c-client/mbox.c *** imap/ANSI/c-client/mbox.c Mon Jun 27 02:42:31 1994 --- imap/ANSI/c-client/mbox.c Sat Sep 3 17:06:11 1994 *************** *** 173,181 **** LOCK_EX)) >= 0) { fstat (fd,&sbuf); /* get current file size before write*/ ! if (write (fd,s,size) >= 0) ftruncate (sfd,0); else { /* failed */ sprintf (LOCAL->buf,"New mail copy failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,sbuf.st_size); } fsync (fd); /* force out the update */ --- 173,181 ---- LOCK_EX)) >= 0) { fstat (fd,&sbuf); /* get current file size before write*/ ! if (write (fd,s,size) >= 0) ftruncate (sfd,(off_t)0); else { /* failed */ sprintf (LOCAL->buf,"New mail copy failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); } fsync (fd); /* force out the update */ diff -C2 --recursive --new-file imap/ANSI/c-client/mmdf.c imap/ANSI/c-client/mmdf.c *** imap/ANSI/c-client/mmdf.c Tue Aug 16 04:52:44 1994 --- imap/ANSI/c-client/mmdf.c Sat Sep 3 17:07:05 1994 *************** *** 394,398 **** write (fd,tmp,(i = strlen (tmp))+1); } ! ftruncate (fd,i); /* make sure tied off */ fsync (fd); /* make sure it's available */ retry = 0; /* no more need to try */ --- 394,398 ---- write (fd,tmp,(i = strlen (tmp))+1); } ! ftruncate (fd,(off_t)i); /* make sure tied off */ fsync (fd); /* make sure it's available */ retry = 0; /* no more need to try */ *************** *** 966,970 **** sprintf (buf,"Header write failed: %s",strerror (errno)); mm_log (buf,ERROR); ! ftruncate (fd,sbuf.st_size); ok = NIL; } --- 966,970 ---- sprintf (buf,"Header write failed: %s",strerror (errno)); mm_log (buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); ok = NIL; } *************** *** 976,980 **** sprintf (buf,"Message append failed: %s",strerror (errno)); mm_log (buf,ERROR); ! ftruncate (fd,sbuf.st_size); ok = NIL; } --- 976,980 ---- sprintf (buf,"Message append failed: %s",strerror (errno)); mm_log (buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); ok = NIL; } *************** *** 987,991 **** sprintf (LOCAL->buf,"Unable to sync mailbox: %s",strerror (errno)); mm_log (LOCAL->buf,WARN); ! ftruncate (fd,sbuf.st_size); ok = NIL; } --- 987,991 ---- sprintf (LOCAL->buf,"Unable to sync mailbox: %s",strerror (errno)); mm_log (LOCAL->buf,WARN); ! ftruncate (fd,(off_t)sbuf.st_size); ok = NIL; } *************** *** 1537,1541 **** i = errno; /* note error before doing ftruncate */ /* restore prior file size */ ! ftruncate (fd,LOCAL->filesize); fsync (fd); /* is this necessary? */ fstat (fd,&sbuf); /* now get updated file time */ --- 1537,1541 ---- i = errno; /* note error before doing ftruncate */ /* restore prior file size */ ! ftruncate (fd,(off_t)LOCAL->filesize); fsync (fd); /* is this necessary? */ fstat (fd,&sbuf); /* now get updated file time */ *************** *** 1590,1594 **** } } while (retry); /* repeat if need to try again */ ! ftruncate(fd,LOCAL->filesize);/* nuke any cruft after that */ fsync (fd); /* is this necessary? */ fstat (fd,&sbuf); /* now get updated file time */ --- 1590,1594 ---- } } while (retry); /* repeat if need to try again */ ! ftruncate(fd,(off_t)LOCAL->filesize);/* nuke any cruft after that */ fsync (fd); /* is this necessary? */ fstat (fd,&sbuf); /* now get updated file time */ *************** *** 1716,1729 **** (bezerk_write_message (fd,LOCAL->msgs[i - 1]) < 0)) { sprintf (LOCAL->buf,"Message copy failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,sbuf.st_size); ok = NIL; break; } if (fsync (fd)) { /* force out the update */ sprintf (LOCAL->buf,"Message copy sync failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,sbuf.st_size); ok = NIL; /* oops */ } tp[0] = sbuf.st_atime; /* preserve atime */ --- 1716,1729 ---- (bezerk_write_message (fd,LOCAL->msgs[i - 1]) < 0)) { sprintf (LOCAL->buf,"Message copy failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); ok = NIL; break; } if (fsync (fd)) { /* force out the update */ sprintf (LOCAL->buf,"Message copy sync failed: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); ok = NIL; /* oops */ } tp[0] = sbuf.st_atime; /* preserve atime */ diff -C2 --recursive --new-file imap/ANSI/c-client/mtx.c imap/ANSI/c-client/mtx.c *** imap/ANSI/c-client/mtx.c Tue Aug 16 04:53:03 1994 --- imap/ANSI/c-client/mtx.c Sat Sep 3 17:07:50 1994 *************** *** 914,918 **** sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (LOCAL->fd,sbuf.st_size); r = 0; /* flag that we have lost big */ } --- 914,918 ---- sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (LOCAL->fd,(off_t)sbuf.st_size); r = 0; /* flag that we have lost big */ } *************** *** 1006,1010 **** } if (n) { /* truncate file after last message */ ! ftruncate (LOCAL->fd,LOCAL->filesize -= delta); sprintf (LOCAL->buf,"Expunged %ld messages",n); /* output the news */ --- 1006,1010 ---- } if (n) { /* truncate file after last message */ ! ftruncate (LOCAL->fd,(off_t)LOCAL->filesize -= delta); sprintf (LOCAL->buf,"Expunged %ld messages",n); /* output the news */ *************** *** 1148,1152 **** sprintf (tmp,"Message append failed: %s",strerror (errno)); mm_log (tmp,ERROR); ! ftruncate (fd,sbuf.st_size); ret = NIL; } --- 1148,1152 ---- sprintf (tmp,"Message append failed: %s",strerror (errno)); mm_log (tmp,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); ret = NIL; } *************** *** 1459,1463 **** sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,sbuf.st_size); j = k; ret = NIL; /* note error */ --- 1459,1463 ---- sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); j = k; ret = NIL; /* note error */ diff -C2 --recursive --new-file imap/ANSI/c-client/os_bsf.c imap/ANSI/c-client/os_bsf.c *** imap/ANSI/c-client/os_bsf.c Thu Jan 1 01:00:00 1970 --- imap/ANSI/c-client/os_bsf.c Fri Sep 2 02:35:44 1994 *************** *** 0 **** --- 1,83 ---- + /* + * Program: Operating-system dependent routines -- BSDI BSD/386 version + * + * Author: Mark Crispin + * Networks and Distributed Computing + * Computing & Communications + * University of Washington + * Administration Building, AG-44 + * Seattle, WA 98195 + * Internet: MRC@CAC.Washington.EDU + * + * Date: 1 August 1988 + * Last Edited: 11 July 1994 + * + * Copyright 1994 by the University of Washington + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appears in all copies and that both the + * above copyright notice and this permission notice appear in supporting + * documentation, and that the name of the University of Washington not be + * used in advertising or publicity pertaining to distribution of the software + * without specific, written prior permission. This software is made available + * "as is", and + * THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, + * WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN + * NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT + * (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + + #include "tcp_unix.h" /* must be before osdep includes tcp.h */ + #include "mail.h" + #include "osdep.h" + #include + #include + #include + #include + #include + #include + #include + #include + #include + extern int errno; /* just in case */ + #include + #include "misc.h" + extern char *crypt(); + + + #include "fs_unix.c" + #include "ftl_unix.c" + #include "nl_unix.c" + #define OWN_RFC_DATE + #include "env_unix.c" + #include "tcp_unix.c" + #include "log_std.c" + #include "gr_waitp.c" + #include "tz_bsd.c" + + /* Write current time in RFC 822 format + * Accepts: destination string + */ + + void rfc822_date (char *date) + { + int zone; + char *zonename; + struct tm *t; + struct timeval tv; + struct timezone tz; + gettimeofday (&tv,&tz); /* get time and timezone poop */ + t = localtime (&tv.tv_sec); /* convert to individual items */ + zone = t->tm_gmtoff/60; /* get timezone from TZ environment stuff */ + zonename = t->tm_zone; + /* and output it */ + sprintf (date,"%s, %d %s %d %02d:%02d:%02d %+03d%02d (%s)", + days[t->tm_wday],t->tm_mday,months[t->tm_mon],t->tm_year+1900, + t->tm_hour,t->tm_min,t->tm_sec,zone/60,abs (zone) % 60,zonename); + } diff -C2 --recursive --new-file imap/ANSI/c-client/os_bsf.h imap/ANSI/c-client/os_bsf.h *** imap/ANSI/c-client/os_bsf.h Thu Jan 1 01:00:00 1970 --- imap/ANSI/c-client/os_bsf.h Sat Sep 3 15:33:50 1994 *************** *** 0 **** --- 1,53 ---- + /* + * Program: Operating-system dependent routines -- BSDI BSD/386 version + * + * Author: Mark Crispin + * Networks and Distributed Computing + * Computing & Communications + * University of Washington + * Administration Building, AG-44 + * Seattle, WA 98195 + * Internet: MRC@CAC.Washington.EDU + * + * Date: 5 March 1993 + * Last Edited: 11 July 1994 + * + * Copyright 1994 by the University of Washington + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appears in all copies and that both the + * above copyright notice and this permission notice appear in supporting + * documentation, and that the name of the University of Washington not be + * used in advertising or publicity pertaining to distribution of the software + * without specific, written prior permission. This software is made available + * "as is", and + * THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, + * WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN + * NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT + * (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + + #define MAILFILE "/var/mail/%s" + #define ACTIVEFILE "/usr/local/news/active" + #define NEWSSPOOL "/var/spool/news" + #define NEWSRC strcat (strcpy (tmp,myhomedir ()),"/.newsrc") + + #include + #include + #include + #include + #include /* needed for writev() prototypes */ + #include + #include + + #include "env_unix.h" + #include "fs.h" + #include "ftl.h" + #include "nl.h" + #include "tcp.h" diff -C2 --recursive --new-file imap/ANSI/c-client/sm_unix.c imap/ANSI/c-client/sm_unix.c *** imap/ANSI/c-client/sm_unix.c Mon May 30 03:34:08 1994 --- imap/ANSI/c-client/sm_unix.c Sat Sep 3 17:08:50 1994 *************** *** 135,139 **** lseek (fd,0,L_SET); /* yes, seek to start of file and write new */ if (end != txt) write (fd,txt,end - txt); ! ftruncate (fd,end - txt); /* tie off file */ fsync (fd); /* drop changes */ } --- 135,139 ---- lseek (fd,0,L_SET); /* yes, seek to start of file and write new */ if (end != txt) write (fd,txt,end - txt); ! ftruncate (fd,(off_t)(end - txt)); /* tie off file */ fsync (fd); /* drop changes */ } diff -C2 --recursive --new-file imap/ANSI/c-client/tenex2.c imap/ANSI/c-client/tenex2.c *** imap/ANSI/c-client/tenex2.c Tue Aug 16 04:54:33 1994 --- imap/ANSI/c-client/tenex2.c Sat Sep 3 17:09:55 1994 *************** *** 891,895 **** sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (LOCAL->fd,sbuf.st_size); r = 0; /* flag that we have lost big */ } --- 891,895 ---- sprintf (LOCAL->buf,"Can't copy new mail: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (LOCAL->fd,(off_t)sbuf.st_size); r = 0; /* flag that we have lost big */ } *************** *** 981,985 **** } if (n) { /* truncate file after last message */ ! ftruncate (LOCAL->fd,LOCAL->filesize -= delta); sprintf (LOCAL->buf,"Expunged %ld messages",n); /* output the news */ --- 981,985 ---- } if (n) { /* truncate file after last message */ ! ftruncate (LOCAL->fd,(off_t)LOCAL->filesize -= delta); sprintf (LOCAL->buf,"Expunged %ld messages",n); /* output the news */ *************** *** 1124,1128 **** sprintf (tmp,"Message append failed: %s",strerror (errno)); mm_log (tmp,ERROR); ! ftruncate (fd,sbuf.st_size); ret = NIL; } --- 1124,1128 ---- sprintf (tmp,"Message append failed: %s",strerror (errno)); mm_log (tmp,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); ret = NIL; } *************** *** 1446,1450 **** sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,sbuf.st_size); j = k; ret = NIL; /* note error */ --- 1446,1450 ---- sprintf (LOCAL->buf,"Unable to write message: %s",strerror (errno)); mm_log (LOCAL->buf,ERROR); ! ftruncate (fd,(off_t)sbuf.st_size); j = k; ret = NIL; /* note error */ diff -C2 --recursive --new-file imap/Makefile imap/Makefile *** imap/Makefile Sat Jun 18 04:53:04 1994 --- imap/Makefile Sat Sep 3 17:38:37 1994 *************** *** 46,50 **** @false ! a32 aix bsi d-g lnx mct mnt neb nxt osf sco sgi: $(MAKE) build SYSTYPE=ANSI OS=$@ --- 46,50 ---- @false ! a32 aix bsi bsf d-g lnx mct mnt neb nxt osf sco sgi: $(MAKE) build SYSTYPE=ANSI OS=$@ *************** *** 65,69 **** clean: ! $(RM) systype cd ANSI/imapd;$(MAKE) clean cd ANSI/ipopd;$(MAKE) clean --- 65,69 ---- clean: ! $(RM) systype OSTYPE cd ANSI/imapd;$(MAKE) clean cd ANSI/ipopd;$(MAKE) clean diff -C2 --recursive --new-file pico/makefile.bsf pico/makefile.bsf *** pico/makefile.bsf Thu Jan 1 01:00:00 1970 --- pico/makefile.bsf Sat Sep 3 17:42:12 1994 *************** *** 0 **** --- 1,92 ---- + # $Id: patch-aa,v 1.5 1994/11/28 12:40:52 ats Exp $ + # + # Michael Seibel + # Networks and Distributed Computing + # Computing and Communications + # University of Washington + # Administration Builiding, AG-44 + # Seattle, Washington, 98195, USA + # Internet: mikes@cac.washington.edu + # + # Please address all bugs and comments to "pine-bugs@cac.washington.edu" + # + # Copyright 1991-1994 University of Washington + # + # Permission to use, copy, modify, and distribute this software and its + # documentation for any purpose and without fee to the University of + # Washington is hereby granted, provided that the above copyright notice + # appears in all copies and that both the above copyright notice and this + # permission notice appear in supporting documentation, and that the name + # of the University of Washington not be used in advertising or publicity + # pertaining to distribution of the software without specific, written + # prior permission. This software is made available "as is", and + # THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, + # WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED + # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN + # NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL, + # INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT + # (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION + # WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + # + # Pine and Pico are trademarks of the University of Washington. + # No commercial use of these trademarks may be made without prior + # written permission of the University of Washington. + # + + # + # Makefile for BSD/386 Gamma 4.1 version of the PINE composer library and + # stand-alone editor pico. + # + + #includes symbol info for debugging + DASHO= -g -O -pipe + #for normal build + #DASHO= -O + + CFLAGS= -DJOB_CONTROL -DANSI + + # switches for library building + LIBCMD= ar + LIBARGS= ru + RANLIB= ranlib + + LIBS= -ltermcap + + OFILES= attach.o ansi.o basic.o bind.o browse.o buffer.o \ + composer.o display.o file.o fileio.o line.o osdep.o \ + pico.o random.o region.o search.o spell.o tcap.o window.o word.o + + CFILES= attach.c ansi.c basic.c bind.c browse.c buffer.c \ + composer.c display.c file.c fileio.c line.c osdep.c \ + pico.c random.c region.c search.c spell.c tcap.c window.c word.c + + HFILES= estruct.h edef.h efunc.h ebind.h pico.h osdep.h + + + # + # dependencies for the Unix versions of pico and libpico.a + # + all: pico + + osdep.c: os_unix.c + rm -f osdep.c + cp os_unix.c osdep.c + + osdep.h: os_unix.h + rm -f osdep.h + cp os_unix.h osdep.h + + libpico.a: osdep.c osdep.h $(OFILES) + $(LIBCMD) $(LIBARGS) libpico.a $(OFILES) + $(RANLIB) libpico.a + + pico: main.c libpico.a + $(CC) $(CFLAGS) $(DASHO) main.c libpico.a $(LIBS) -o pico + + .c.o: ; $(CC) -c $(CFLAGS) $(DASHO) $*.c + + $(OFILES): $(HFILES) + + clean: + rm -f pico *.a *.o *~ osdep.c osdep.h diff -C2 --recursive --new-file pico/os_unix.c pico/os_unix.c *** pico/os_unix.c Thu Aug 11 21:13:34 1994 --- pico/os_unix.c Fri Sep 2 02:35:45 1994 *************** *** 952,956 **** --- 952,958 ---- int err; { + #ifndef __FreeBSD__ extern char *sys_errlist[]; + #endif extern int sys_nerr; diff -C2 --recursive --new-file pico/os_unix.h pico/os_unix.h *** pico/os_unix.h Mon Jun 27 18:33:43 1994 --- pico/os_unix.h Fri Sep 2 02:35:45 1994 *************** *** 104,108 **** * type qsort() expects */ ! #if defined(nxt) || defined(neb) #define QSType void #define QcompType const void --- 104,108 ---- * type qsort() expects */ ! #if defined(nxt) || defined(neb) || defined(__FreeBSD__) #define QSType void #define QcompType const void diff -C2 --recursive --new-file pine/date.c pine/date.c *** pine/date.c Thu Jan 1 01:00:00 1970 --- pine/date.c Sat Sep 3 17:23:20 1994 *************** *** 0 **** --- 1 ---- + char datestamp[]="Sat Sep 3 17:23:20 MET DST 1994"; diff -C2 --recursive --new-file pine/makefile.bsf pine/makefile.bsf *** pine/makefile.bsf Thu Jan 1 01:00:00 1970 --- pine/makefile.bsf Sat Sep 3 17:23:38 1994 *************** *** 0 **** --- 1,153 ---- + # $Id: patch-aa,v 1.5 1994/11/28 12:40:52 ats Exp $ + # + # T H E P I N E M A I L S Y S T E M + # + # Laurence Lundblade and Mike Seibel + # Networks and Distributed Computing + # Computing and Communications + # University of Washington + # Administration Building, AG-44 + # Seattle, Washington, 98195, USA + # Internet: lgl@CAC.Washington.EDU + # mikes@CAC.Washington.EDU + # + # Please address all bugs and comments to "pine-bugs@cac.washington.edu" + # + # Copyright 1989-1994 University of Washington + # + # Permission to use, copy, modify, and distribute this software and its + # documentation for any purpose and without fee to the University of + # Washington is hereby granted, provided that the above copyright notice + # appears in all copies and that both the above copyright notice and this + # permission notice appear in supporting documentation, and that the name + # of the University of Washington not be used in advertising or publicity + # pertaining to distribution of the software without specific, written + # prior permission. This software is made available "as is", and + # THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, + # WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED + # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN + # NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL, + # INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT + # (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION + # WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + # + # Pine and Pico are trademarks of the University of Washington. + # No commercial use of these trademarks may be made without prior + # written permission of the University of Washington. + # + # Pine is in part based on The Elm Mail System: + # *********************************************************************** + # * The Elm Mail System - Revision: 2.13 * + # * * + # * Copyright (c) 1986, 1987 Dave Taylor * + # * Copyright (c) 1988, 1989 USENET Community Trust * + # *********************************************************************** + # + # + + + # + # Make file for the Pine mail system for BSD/386 Gamma 4.1 + # + # + # Most commonly fiddled flags for compiler. + # Uncomment the setttings desired here + # + RM= rm -f + LN= ln -s + MAKE= make + OPTIMIZE= -O -pipe + PROFILE= # -pg + DEBUG= -g # -DDEBUG + + IMAPDIR= ../c-client + PICODIR= ../pico + + LIBES= -ltermlib -lcrypt + LOCLIBES= $(PICODIR)/libpico.a $(IMAPDIR)/c-client.a + + CFLAGS= $(OPTIMIZE) $(PROFILE) $(DEBUG) -DSYSTYPE=\"BSF\" + + obj= addrbook.o adrbklib.o args.o context.o filter.o \ + folder.o help.o helptext.o imap.o init.o mailcap.o mailcmd.o \ + mailindx.o mailpart.o mailview.o newmail.o other.o pine.o print.o \ + reply.o screen.o send.o signals.o status.o strings.o ttyin.o \ + ttyout.o os.o + + cfiles= addrbook.c adrbklib.c args.c context.c filter.c \ + folder.c help.c helptext.c imap.c init.c mailcap.c mailcmd.c \ + mailindx.c mailpart.c mailview.c newmail.c other.c pine.c print.c \ + reply.c screen.c send.c signals.c status.c strings.c ttyin.c \ + ttyout.c os.c + + pine: $(obj) $(LOCLIBES) + echo "char datestamp[]="\"`date`\"";" > date.c + $(CC) -c $(CFLAGS) -o date.o date.c + $(CC) $(LDFLAGS) $(CFLAGS) -o pine $(obj) date.o $(LOCLIBES) $(LIBES) + + # this is not part of pine + pine-use: pine-use.c + $(CC) -o pine-use pine-use.c + + clean: + $(RM) *.o os.h os.c helptext.c helptext.h + cd osdep; make clean; cd .. + + + HEADERS= headers.h pine.h os.h helptext.h context.h \ + $(IMAPDIR)/mail.h $(IMAPDIR)/osdep.h + + addrbook.o: addrbook.c $(HEADERS) adrbklib.h + adrbklib.o: adrbklib.c $(HEADERS) adrbklib.h + args.o: args.c $(HEADERS) + context.o: context.c $(HEADERS) $(IMAPDIR)/misc.h + filter.o: filter.c $(HEADERS) $(PICODIR)/pico.h + folder.o: folder.c $(HEADERS) + help.o: help.c $(HEADERS) + helptext.o: helptext.c + imap.o: imap.c $(HEADERS) + init.o: init.c $(HEADERS) + mailcap.o: mailcap.c $(HEADERS) + mailcmd.o: mailcmd.c $(HEADERS) + mailindx.o: mailindx.c $(HEADERS) + mailpart.o: mailpart.c $(HEADERS) + mailview.o: mailview.c $(HEADERS) + newmail.o: newmail.c $(HEADERS) + os.o: os.c $(HEADERS) + other.o: other.c $(HEADERS) + pine.o: pine.c $(HEADERS) + print.o: print.c $(HEADERS) + reply.o: reply.c $(HEADERS) + screen.o: screen.c $(HEADERS) + send.o: send.c $(HEADERS) $(IMAPDIR)/smtp.h $(PICODIR)/pico.h + signals.o: signals.c $(HEADERS) + status.o: status.c $(HEADERS) + strings.o: strings.c $(HEADERS) + ttyin.o: ttyin.c $(HEADERS) + ttyout.o: ttyout.c $(HEADERS) + + os.h: osdep/os-bsf.h + $(RM) os.h + $(LN) osdep/os-bsf.h os.h + + helptext.c: pine.hlp + ./cmplhelp.sh < pine.hlp > helptext.c + + helptext.h: pine.hlp + ./cmplhlp2.sh < pine.hlp > helptext.h + + os.c: osdep/os-bsf.c + $(RM) os.c + $(LN) osdep/os-bsf.c os.c + + osdep/os-bsf.c: osdep/bld_path osdep/canacces osdep/canonicl \ + osdep/chnge_pw osdep/coredump osdep/creatdir \ + osdep/diskquot.non osdep/domnames osdep/err_desc \ + osdep/expnfldr osdep/fgetpos osdep/filesize osdep/fltrname \ + osdep/fnexpand osdep/header osdep/hostname \ + osdep/jobcntrl osdep/lstcmpnt osdep/mimedisp osdep/pipe \ + osdep/pw_stuff osdep/readfile \ + osdep/rename osdep/tempfile osdep/tempnam osdep/writ_dir \ + osdep/sendmail osdep/execview osdep/os-bsf.ic + cd osdep; $(MAKE) includer os-bsf.c; cd .. diff -C2 --recursive --new-file pine/osdep/err_desc pine/osdep/err_desc *** pine/osdep/err_desc Fri Jul 16 01:06:44 1993 --- pine/osdep/err_desc Fri Sep 2 02:35:46 1994 *************** *** 1,3 **** --- 1,5 ---- + #if !defined(__FreeBSD__) extern char *sys_errlist[]; + #endif /*---------------------------------------------------------------------- diff -C2 --recursive --new-file pine/osdep/makefile pine/osdep/makefile *** pine/osdep/makefile Wed Jun 15 19:42:19 1994 --- pine/osdep/makefile Fri Sep 2 02:35:47 1994 *************** *** 7,11 **** os-dyn.c os-gen.c os-hpp.c os-isc.c os-lnx.c os-nxt.c \ os-osf.c os-ptx.c os-s40.c os-sgi.c \ ! os-sun.c os-sv4.c os-ult.c os-aux.c .SUFFIXES: .ic --- 7,12 ---- os-dyn.c os-gen.c os-hpp.c os-isc.c os-lnx.c os-nxt.c \ os-osf.c os-ptx.c os-s40.c os-sgi.c \ ! os-sun.c os-sv4.c os-ult.c os-aux.c \ ! os-bsf.c .SUFFIXES: .ic *************** *** 43,46 **** --- 44,48 ---- os-bsd.c: bld_path canacces canonicl chnge_pw coredump creatdir diskquot domnames err_desc execview expnfldr fgetpos.non filesize fltrname fnexpand header hostname jobcntrl lstcmpnt mimedisp pipe pw_stuff readfile rename sendmail tempfile tempnam writ_dir os-bsd.ic os-bsi.c: bld_path canacces canonicl chnge_pw coredump creatdir diskquot.non domnames err_desc execview expnfldr fgetpos filesize fltrname fnexpand header hostname jobcntrl lstcmpnt mimedisp pipe pw_stuff readfile rename sendmail tempfile tempnam writ_dir os-bsi.ic + os-bsf.c: bld_path canacces canonicl chnge_pw coredump creatdir diskquot.non domnames err_desc execview expnfldr fgetpos filesize fltrname fnexpand header hostname jobcntrl lstcmpnt mimedisp pipe pw_stuff readfile rename sendmail tempfile tempnam writ_dir os-bsf.ic os-cvx.c: bld_path canacces canonicl chnge_pw coredump creatdir diskquot.non domnames err_desc execview expnfldr fgetpos.non filesize fltrname fnexpand header hostname jobcntrl lstcmpnt mimedisp pipe pw_stuff readfile rename sendmail tempfile tempnam writ_dir os-cvx.ic os-dos.c: bld_path.dos canacces canonicl.dos chnge_pw.dos coredump creatdir.dos diskquot.non domnames.dos dosextra err_desc.dos execview.dos expnfldr.dos fgetpos filesize fltrname.dos fnexpand.dos header hostname jobcntrl.dos lstcmpnt.dos mimedisp.dos pipe.dos pw_stuff.dos readfile.dos rename.dos sendmail.dos tempfile tempnam.dos writ_dir os-dos.ic diff -C2 --recursive --new-file pine/osdep/makefile.bas pine/osdep/makefile.bas *** pine/osdep/makefile.bas Fri Feb 11 18:10:32 1994 --- pine/osdep/makefile.bas Fri Sep 2 02:35:47 1994 *************** *** 7,11 **** os-dyn.c os-gen.c os-hpp.c os-isc.c os-lnx.c os-nxt.c \ os-osf.c os-ptx.c os-s40.c os-sgi.c \ ! os-sun.c os-sv4.c os-ult.c os-aux.c .SUFFIXES: .ic --- 7,12 ---- os-dyn.c os-gen.c os-hpp.c os-isc.c os-lnx.c os-nxt.c \ os-osf.c os-ptx.c os-s40.c os-sgi.c \ ! os-sun.c os-sv4.c os-ult.c os-aux.c \ ! os-bsf.c .SUFFIXES: .ic diff -C2 --recursive --new-file pine/osdep/os-bsf.h pine/osdep/os-bsf.h *** pine/osdep/os-bsf.h Thu Jan 1 01:00:00 1970 --- pine/osdep/os-bsf.h Fri Sep 2 02:35:47 1994 *************** *** 0 **** --- 1,354 ---- + /*---------------------------------------------------------------------- + $Id: patch-aa,v 1.5 1994/11/28 12:40:52 ats Exp $ + + T H E P I N E M A I L S Y S T E M + + Laurence Lundblade and Mike Seibel + Networks and Distributed Computing + Computing and Communications + University of Washington + Administration Builiding, AG-44 + Seattle, Washington, 98195, USA + Internet: lgl@CAC.Washington.EDU + mikes@CAC.Washington.EDU + + Please address all bugs and comments to "pine-bugs@cac.washington.edu" + + Copyright 1989-1994 University of Washington + + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee to the University of + Washington is hereby granted, provided that the above copyright notice + appears in all copies and that both the above copyright notice and this + permission notice appear in supporting documentation, and that the name + of the University of Washington not be used in advertising or publicity + pertaining to distribution of the software without specific, written + prior permission. This software is made available "as is", and + THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, + WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN + NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL, + INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT + (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION + WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + Pine and Pico are trademarks of the University of Washington. + No commercial use of these trademarks may be made without prior + written permission of the University of Washington. + + Pine is in part based on The Elm Mail System: + *********************************************************************** + * The Elm Mail System - Revision: 2.13 * + * * + * Copyright (c) 1986, 1987 Dave Taylor * + * Copyright (c) 1988, 1989 USENET Community Trust * + *********************************************************************** + + + ----------------------------------------------------------------------*/ + + #ifndef _OS_INCLUDED + #define _OS_INCLUDED + + + /*---------------------------------------------------------------------- + + This first section has some constants that you may want to change + for your configuration. This is the BSD/386 Gamma 4.1 version of the + os.h file. + Further down in the file are os-dependent things that need to be set up + correctly for each os. They aren't interesting, they just have to be + right. There are also a few constants down there that may be of + interest to some. + + ----*/ + + /*---------------------------------------------------------------------- + Define this if you want the disk quota to be checked on startup. + Of course, this only makes sense if your system has quotas. If it doesn't, + there should be a dummy disk_quota() routine in os-xxx.c so that defining + this won't be harmful anyway. + ----*/ + /* #define USE_QUOTAS /* comment out if you never want quotas checked */ + + + + /*---------------------------------------------------------------------- + Define this if you want to allow the users to change their From header + line when they send out mail. The users will still have to configure + either default-composer-hdrs or custumized-hdrs to get at the From + header, even if this is set. + ----*/ + /* #define ALLOW_CHANGING_FROM /* comment out to not allow changing From */ + + + + /*---------------------------------------------------------------------- + Turn this on if you want to disable the keyboard lock function. + ----*/ + /* #define NO_KEYBOARD_LOCK */ + + + + /*---------------------------------------------------------------------- + Turn this on if it's OK to encode sent message text containing + "From " at the beginning of any line. + ----*/ + /* #define ENCODE_FROMS */ + + + + /*---------------------------------------------------------------------- + Timeouts (seconds) + ----*/ + #define NEW_MAIL_TIME (20) /* How often to check for new mail. There's + some expense in doing this so it shouldn't + be done too frequently. */ + + /*---------------------------------------------------------------------- + Check pointing (seconds) + ----*/ + #define CHECK_POINT_TIME (7*60) /* Check point the mail file (write changes + to disk) if more than CHECK_POINT_TIME + seconds have passed since the first + change was made. Depending on what is + happening, we may wait up to three times + this long, since we don't want to do the + slow check pointing and irritate the user. */ + + #define CHECK_POINT_FREQ (12) /* Check point the mail file if there have been + at least this many (status) changes to the + current mail file. We may wait longer if + it isn't a good time to do the checkpoint. */ + + + + /*---------------------------------------------------------------------- + In scrolling through text, the number of lines from the previous + screen to overlap when showing the next screen. Usually set to two. + ----*/ + #define OVERLAP (1) + + + + /*----- System-wide config file ----------------------------------------*/ + #define SYSTEM_PINERC "/usr/local/lib/pine/pine.conf" + #define SYSTEM_PINERC_FIXED "/usr/local/lib/pine/pine.conf.fixed" + + + + /*---------------------------------------------------------------------- + The default folder names and folder directories (some for backwards + compatibility). Think hard before changing any of these. + ----*/ + #define DF_DEFAULT_FCC "sent-mail" + #define DEFAULT_SAVE "saved-messages" + #define POSTPONED_MAIL "postponed-mail" + #define POSTPONED_MSGS "postponed-msgs" + #define INTERRUPTED_MAIL ".pine-interrupted-mail" + #define DF_MAIL_DIRECTORY "mail" + #define INBOX_NAME "INBOX" + #define DF_SIGNATURE_FILE ".signature" + #define DF_ELM_STYLE_SAVE "no" + #define DF_HEADER_IN_REPLY "no" + #define DF_OLD_STYLE_REPLY "no" + #define DF_USE_ONLY_DOMAIN_NAME "no" + #define DF_FEATURE_LEVEL "sapling" + #define DF_SAVE_BY_SENDER "no" + #define DF_SORT_KEY "arrival" + #define DF_AB_SORT_RULE "fullname-with-lists-last" + #define DF_SAVED_MSG_NAME_RULE "default-folder" + #define DF_FCC_RULE "default-fcc" + #define DF_STANDARD_PRINTER "lpr" + #define ANSI_PRINTER "attached-to-ansi" + #define DF_ADDRESSBOOK ".addressbook" + #define DF_BUGS_FULLNAME "Pine Developers" + #define DF_BUGS_ADDRESS "pine-bugs@cac.washington.edu" + + /*---------------------------------------------------------------------- + The default printer when pine starts up for the first time with no printer + ----*/ + #define DF_DEFAULT_PRINTER ANSI_PRINTER + + + + /*---------------------------------------------------------------------- + + OS dependencies, BSD/386 Gamma 4.1 version. See also the os-bsf.c files. + The following stuff may need to be changed for a new port, but once + the port is done, it won't change. At the bottom of the file are a few + constants that you may want to configure differently than they + are configured, but probably not. + + ----*/ + + + + /*----------------- Are we ANSI? ---------------------------------------*/ + #define ANSI /* this is an ANSI compiler */ + + /*------ If our compiler doesn't understand type void ------------------*/ + /* #define void char /* no void in compiler */ + + /******* These are included in c-client/osdep.h. ************************/ + #ifdef notdef + /*-------- Standard ANSI functions usually defined in stdlib.h ---------*/ + #include /* declarations of many common functions */ + /*---- Declare getenv() if not already declared ------------------------*/ + /* char *getenv(); /* often declared in stdlib.h */ + + + /*------- Standard string functions ------------------------------------*/ + #include + /*---- Declare these if not already declared ---------------------------*/ + /* char *strcpy(), *strncpy(); /* usually in string.h */ + + + /*------- Include types.h if you have it -------------------------------*/ + #include + #endif /*****************************************************************/ + + + /*------- Some more includes that should usually be correct ------------*/ + #include + #include + #include + #include + #include + + + + /*----------------- time.h ---------------------------------------------*/ + #include + /* plain time.h isn't enough on some systems */ + /* #include /* For struct timeval usually in time.h */ + + + + /*--------------- signal.h ---------------------------------------------*/ + /* #include /* sometimes both required, sometimes */ + #include /* only one or the other */ + + #define SigType void /* value returned by signal() is void * */ + /* #define SigType int /* value returned by signal() is int * */ + + /* #define POSIX_SIGNALS /* use POSIX signal semantics (ttyin.c) */ + + /*--- For AT&T-derviced systems ----------------------------------------*/ + /* #define signal(a,b) sigset(a, b) /* sigset is just like signal */ + /* extern void (*sigset())(); /* declare sigset if not declared already */ + + + + /*-------------- qsort argument type -----------------------------------*/ + #define QSType void /* qsort arg is of type void * */ + /* #define QSType char /* qsort arg is of type char * */ + + + + /*------ how help text is referenced (always char ** on Unix) ----------*/ + #define HelpType char ** + #define NO_HELP (char **)NULL + + + + /*--------- System V terminal driver -----------------------------------*/ + /* #define HAVE_TERMIO /* this is for pure System V */ + #define HAVE_TERMIOS /* this is an alternative */ + /* #define USE_POLL /* use the poll() system call instead of select() */ + /* #define USE_TERMINFO /* use terminfo instead of termcap */ + /* #include /* for ptem.h */ + /* #include /* for struct winsize */ + + + + /*-- What argument does wait(2) take? Define this if it is a union -----*/ + #define HAVE_WAIT_UNION /* the arg to wait is a union wait * */ + + + /*-------- Is window resizing available? -------------------------------*/ + #define RESIZING /* SIGWINCH and friends */ + + + + /*-------- If no vfork, use regular fork -------------------------------*/ + /* #define vfork fork /* vfork is just a lightweight fork, so can use fork */ + + + + /*----- The usual sendmail configuration for sending mail on Unix ------*/ + #define SENDMAIL "/usr/sbin/sendmail" + #define SENDMAILFLAGS "-oi -oem -t" /* ignore dots in incoming mail, + mail back errors, and + get recipients from To, cc, + and bcc header lines. */ + + #define PASSWD_PROG "/bin/passwd" + + /*-------------- A couple constants used to size arrays ----------------*/ + #include /* Get it from param.h if available */ + #undef MAXPATH /* Sometimes defined in param.h differently */ + #define MAXPATH MAXPATHLEN /* Longest pathname we ever expect */ + /* #define MAXPATH (512) /* Longest pathname we ever expect */ + #define MAXFOLDER (64) /* Longest foldername we ever expect */ + + + /*-- Max screen pine will display on. Used to define some array sizes --*/ + #define MAX_SCREEN_COLS (170) + #define MAX_SCREEN_ROWS (200) + + + /*---- When no screen size can be discovered this is the size used -----*/ + #define DEFAULT_LINES_ON_TERMINAL (24) + #define DEFAULT_COLUMNS_ON_TERMINAL (80) + + + /*---------------------------------------------------------------------- + Where to put the output of pine in debug mode. Files are created + in the user's home directory and have a number appended to them when + there is more than one. + ----*/ + #define DEBUGFILE ".pine-debug" + + /*---------------------------------------------------------------------- + The number of debug files to save in the user's home diretory. The files + are useful for figuring out what a user did when he complains that something + went wrong. It's important to keep a bunch around, usually 4, so that the + debug file in question will still be around when the problem gets + investigated. Users tend to go in and out of Pine a few times and there + is one file for each pine invocation + ----*/ + #define NUMDEBUGFILES 2 + + /*---------------------------------------------------------------------- + The default debug level to set (approximate meanings): + 1 logs only highest level events and errors + 2 logs events like file writes + 3 + 4 logs each command + 5 + 6 + 7 logs details of command execution (7 is highest to run any production) + 8 + 9 logs gross details of command execution + ----*/ + #define DEFAULT_DEBUG 1 + + + + /*---------------------------------------------------------------------- + Various maximum field lengths, probably shouldn't be changed. + ----*/ + #define MAX_FULLNAME (100) + #define MAX_NICKNAME (40) + #define MAX_ADDRESS (200) + #define MAX_NEW_LIST (500) /* Max addrs to be added when creating list */ + #define MAX_SEARCH (100) /* Longest string to search for */ + #define MAX_ADDR_EXPN (1000) /* Longest expanded addr */ + #define MAX_ADDR_FIELD (10000) /* Longest fully-expanded addr field */ + + + #endif /* _OS_INCLUDED */ + + diff -C2 --recursive --new-file pine/osdep/os-bsf.ic pine/osdep/os-bsf.ic *** pine/osdep/os-bsf.ic Thu Jan 1 01:00:00 1970 --- pine/osdep/os-bsf.ic Fri Sep 2 02:35:48 1994 *************** *** 0 **** --- 1,129 ---- + ; + ; NeXT os-nxt.ic file for building os-nxt.c. + ; + ; Boilerplate header. + include(header) + + ; Can_access function. Just calls access. Only one version available. + include(canacces) + + ; File_size function. Only one version available. + include(filesize) + + ; Is_writable_dir function. Only one version available. + include(writ_dir) + + ; Create_mail_dir function. All Unixes use creatdir and DOS + ; uses creatdir.dos. + include(creatdir) + + ; Rename_file function. All Unixes use rename and DOS uses + ; rename.dos. There is also one called rename.hom which + ; is currently unused. Hom stands for homemade. + include(rename) + + ; Build_path function. All Unixes use bld_path and DOS + ; uses bld_path.dos. + include(bld_path) + + ; Last_cmpnt function. All Unixes use lstcmpnt and DOS + ; uses lstcmpnt.dos. + include(lstcmpnt) + + ; Expand_foldername function. All Unixes use expnfldr and DOS + ; uses expnfldr.dos. + include(expnfldr) + + ; Fnexpand function. All Unixes use fnexpand and DOS + ; uses fnexpand.dos. + include(fnexpand) + + ; Filter_filename function. All Unixes use fltrname and DOS + ; uses fltrname.dos. + include(fltrname) + + ; There are several versions of disk quotas. Standard BSD-style quotas + ; (Australian) include diskquot. Systems which don't have quotas use + ; diskquot.non. Systems which use Sun-style quotas are slightly more + ; complicated. They usually require different include files. They are + ; set up to include the file sunquota and prepend include file info to + ; that. See diskquot.*. + include(diskquot.non) + + ; Read_file function. All Unixes use readfile and DOS + ; uses readfile.dos. + include(readfile) + + ; Create_tmpfile function. This usually just calls the ANSI standard + ; tmpfile function if there is one. That is the version in the file tempfile. + ; There is also a tempfile.non for Unix systems which don't have a tmpfile + ; function already. + include(tempfile) + + ; Temp_nam function. This usually just calls the "standard" + ; tmpnam function if there is one. That is the version in the file tempnam. + include(tempnam) + + ; Coredump function. Version called coredump just calls abort, coredump.fpe + ; uses a floating point exception to cause the coredump on some systems. + include(coredump) + + ; This is usually a call to gethostname. That version is in the file hostname. + ; There is also a version called hostname.una which uses the uname system + ; call commonly found in SysV systems. An unused version called + ; hostname.hom also exists. + include(hostname) + + ; Getdomainnames function. All Unixes use domnames and DOS + ; uses domnames.dos. + include(domnames) + + ; Canonical_name function. All Unixes use canonicl and DOS + ; uses canonicl.dos. + include(canonicl) + + ; This file includes two functions, have_job_control and stop_process. + ; The Unix version is called jobcntrl and the slightly-different DOS + ; version is jobcntrl.dos. + include(jobcntrl) + + ; Error_desciption function. All Unixes use err_desc. The version + ; called err_desc.dos is the same except that it doesn't declare the + ; variable sys_errlist[], which is already declared. There + ; is also a version called err_desc.hom which is unused. + include(err_desc) + + ; There are six functions in this include. They are get_system_login, + ; get_system_fullname, get_system_homedir, get_system_passwd, gcos_name, + ; and local_name_lookup. The Unix version is pw_stuff and the dos version + ; is pw_stuff.dos. There is also a pw_stuff.fun. Fun stands for funny + ; GCOS field. It's currently unused. + include(pw_stuff) + + ; Change_passwd function. Unixes use chnge_pw. + ; There is also a DOS version. + include(chnge_pw) + + ; Mime_can_display function. Most Unixes use mimedisp. Suns can + ; play audio so there is a separate Sun version. DOS also has its own version. + include(mimedisp) + + ; Gf_play_sound function. There is a Sun version and everything else currently + ; uses play_snd_non, which is just an empty function. + ; include(play_snd.sun) + + ; Most systems have the ANSI fgetpos and fsetpos functions. For those, + ; use fgetpos. If a system doesn't have it use fgetpos.non. + include(fgetpos) + + ; These functions are similar to popen(), but allow both an input stream + ; and an output buffer. + include(pipe) + + ; These functions are used to hand messages off to local mail transport + ; and posting agents (typically, "sendmail"). + include(sendmail) + + ; This function is used to actually spawn the given command (usually dredged + ; from mailcap) on the given data file (usually on /tmp). + include(execview) diff -C2 --recursive --new-file pine/osdep/os-bsi.h pine/osdep/os-bsi.h *** pine/osdep/os-bsi.h Tue Aug 23 04:47:03 1994 --- pine/osdep/os-bsi.h Fri Sep 2 02:35:48 1994 *************** *** 103,107 **** Timeouts (seconds) ----*/ ! #define NEW_MAIL_TIME (150) /* How often to check for new mail. There's some expense in doing this so it shouldn't be done too frequently. */ --- 103,107 ---- Timeouts (seconds) ----*/ ! #define NEW_MAIL_TIME (20) /* How often to check for new mail. There's some expense in doing this so it shouldn't be done too frequently. */ *************** *** 129,139 **** screen to overlap when showing the next screen. Usually set to two. ----*/ ! #define OVERLAP (2) /*----- System-wide config file ----------------------------------------*/ ! #define SYSTEM_PINERC "/usr/local/lib/pine.conf" ! #define SYSTEM_PINERC_FIXED "/usr/local/lib/pine.conf.fixed" --- 129,139 ---- screen to overlap when showing the next screen. Usually set to two. ----*/ ! #define OVERLAP (1) /*----- System-wide config file ----------------------------------------*/ ! #define SYSTEM_PINERC "/usr/local/lib/pine/pine.conf" ! #define SYSTEM_PINERC_FIXED "/usr/local/lib/pine/pine.conf.fixed" *************** *** 256,260 **** /*--------- System V terminal driver -----------------------------------*/ /* #define HAVE_TERMIO /* this is for pure System V */ ! /* #define HAVE_TERMIOS /* this is an alternative */ /* #define USE_POLL /* use the poll() system call instead of select() */ /* #define USE_TERMINFO /* use terminfo instead of termcap */ --- 256,260 ---- /*--------- System V terminal driver -----------------------------------*/ /* #define HAVE_TERMIO /* this is for pure System V */ ! #define HAVE_TERMIOS /* this is an alternative */ /* #define USE_POLL /* use the poll() system call instead of select() */ /* #define USE_TERMINFO /* use terminfo instead of termcap */ *************** *** 279,283 **** /*----- The usual sendmail configuration for sending mail on Unix ------*/ ! #define SENDMAIL "/usr/lib/sendmail" #define SENDMAILFLAGS "-oi -oem -t" /* ignore dots in incoming mail, mail back errors, and --- 279,283 ---- /*----- The usual sendmail configuration for sending mail on Unix ------*/ ! #define SENDMAIL "/usr/sbin/sendmail" #define SENDMAILFLAGS "-oi -oem -t" /* ignore dots in incoming mail, mail back errors, and *** imap/ANSI/c-client/env_unix.c.ORIG Fri Sep 16 00:08:40 1994 --- imap/ANSI/c-client/env_unix.c Mon Nov 28 12:13:27 1994 *************** *** 152,161 **** --- 152,163 ---- * Accepts: destination string */ + #ifndef OWN_RFC_DATE void rfc822_date (char *date) { do_date (date,"%s, ","%d %s %d %02d:%02d:%02d %+03d%02d",T); } + #endif /* Write current time in internal format