soley@moegate.UUCP (Norman S. Soley) (04/28/89)
It seems that Elm 2.2 patches 1 and 2 never made it to Toronto, I've sent mail to Syd asking for them. When I get them I'll announce it here. Rather than have several copies mailed up from the States I'd be willing to re-distribute them from here. Anyone who wants these drop me a line and I'll send them to you when I get them. -- Norman Soley - The Communications Guy - Ontario Ministry of the Environment Until the next maps go out: moegate!soley@ontenv.UUCP if you roll your own: uunet!{attcan!ncrcan|mnetor!ontmoh}!ontenv!moegate!soley I'd like to try golf but I just can't bring myself to buy a pair of plaid pants
chew@ecf.toronto.edu (Ping Chew) (05/03/89)
Here is patch 2 for elm2.2 ----------------------------- Patch 2 ---------------------------------- From wugate!wucs1!uunet!cbmvax!vu-vlsi!dsinc!syd Mon May 1 12:12:55 CDT 1989 Article 652 of comp.mail.elm: Path: wubios!wugate!wucs1!uunet!cbmvax!vu-vlsi!dsinc!syd >From: syd@dsinc.DSI.COM (Syd Weinstein) Newsgroups: comp.sources.bugs,comp.mail.elm Subject: elm 2.2 Patch #2, Repost Keywords: elm patch Message-ID: <120@dsinc.DSI.COM> Date: 27 Apr 89 17:03:33 GMT Followup-To: comp.mail.elm Organization: Datacomp Systems, Inc., Huntingdon Valley, PA Lines: 1745 Xref: wubios comp.sources.bugs:23 comp.mail.elm:652 Summary: This is an official patch for elm 2.2 system. Please apply it. Priority: MEDIUM This is a repost of patch 2, apparently it did not make it far off site. Sorry for the repeat for those of you that already got it. Added missing _utils dependency. When you repeatedly 'c'hange folders and use '?' to display a list of folder names, the list is preceded by a little help message. The first time this occurs, everything is OK but subsequent uses of '?' cause (all but the first line of) the message body to be repeated. The help message grows and grows the more you use this feature. This fixes a wrongly named variable (caused by copying a function and not completing tailoring it to its new role). Found by Rob Healey. >From: Rob Bernardo <clib!rob> This fixes a compiler warning "statement not reached". Found by Steve Simmons. From: Rob Bernardo <clib!rob> When checking to see if an address is in a list of addresses: (1) ignore case, and (2) make sure the comparison is not just a random inclusion of the address in an item of the list - it must match a whole number of "atoms" at the right end of the item in the list. From: Rob Bernardo <clib!rob> Fix typo in newmail.1 Fix bug in resyncing and limit, we loose the Visible attribute, so cancel the limit. ELM did not reset its internal column counter at the ends of lines when the user is composing a mail message with editor = "none". As a result, elm echos a \r\n every 80th character the user types. Called NewLine so the curses module will know to reset the column number. Add some defines for Goulds and SV_INTERRUPT from Andy Linton at Newcastle. On 4.3 BSD machines (this includes > Ultrix 2.0 and GOULD NP1) the refreshing of the index etc. on receipt of new mail does not work on the timeout. Essentially although the read in ReadCh is interrupted by the alarm firing after the timeout the read continues and so the errno is not set to EINTR. Add BSD style USER to LOGNAME for folder lookup in readmsg Enclosed are patches to ELM2.2 to make it usable for sites that use 8-bit character sets like ISO8859. The support for character classification at these sites is usually done by replacing the ctype macros. These changes should be invisible to those using ascii and result in better code (i.e. if(!isprint(c)) ... is better than if ( (c < ' ') || (c > '~')) ... ) >From: Marius Olafsson Internet: marius@rhi.hi.is University of Iceland Non-MX: marius%rhi.hi.is@uunet.uu.net UUCP: {mcvax,enea,uunet}!hafro!rhi!marius Add secondary check for BSD sites on including utsname in gethostname when host name is compiled in. Fix: From rn, say "| patch -p -N -d DIR", where DIR is your elm source directory. Outside of rn, say "cd DIR; patch -p -N <thisarticle". If you don't have the patch program, apply the following by hand, or get patch (version 2.0, latest patchlevel). After patching: sh Configure -d make make install If patch indicates that patchlevel is the wrong version, you may need to apply one or more previous patches, or the patch may already have been applied. See the patchlevel.h file to find out what has or has not been applied. In any event, don't continue with the patch. If you are missing previous patches they can be obtained from me: Syd Weinstein syd@dsinc.UUCP The patches are available from the dsinc archive server Send the following message to archive-server@dsinc.UUCP for a list of available patches: Subject: patch list send index elm Index: hdrs/patchlevel.h Prereq: 1 *** ../elm2.2/hdrs/patchlevel.h Wed Apr 19 11:55:38 1989 --- hdrs/patchlevel.h Wed Apr 19 13:13:12 1989 *************** *** 1 **** ! #define PATCHLEVEL 1 --- 1 ---- ! #define PATCHLEVEL 2 Index: README *** ../elm2.2/README Wed Apr 5 16:14:01 1989 --- README Mon Apr 24 18:51:55 1989 *************** *** 73,78 **** --- 73,93 ---- violations. If this happens, recompile the code without the -O flag. This has been seen with Microport SysV/AT type systems. + GNUmake is slightly incompatible with standard make. If you plan on using + GNUmake instead of standard make, you will need to change instances of: + -$(MAKEFLAGS) + to: + $(MAKEFLAGS) + in all Makefiles that contain that construct. + + >From: sun!mcnc.org!katylied.uucp!kdb (Kevin D. Bond) + There is a problem with Ultrix 2.2 in that it has both sgtty and termio, so + ELM uses termio, but the termio code and ELM don't get along. The easiest + fix is to edit config.sh as a shell escape from Configure and change + d_termio='define' + to: + d_termio='undef' + Syd Weinstein Elm Coordinator elm@dsinc.UUCP Index: Makefile.SH Prereq: 2.22 *** ../elm2.2/Makefile.SH Sat Mar 25 21:44:46 1989 --- Makefile.SH Wed Apr 19 13:10:46 1989 *************** *** 21,27 **** echo "Extracting Makefile (with variable substitutions)" cat >Makefile <<!GROK!THIS! # ! # $Id: Makefile.SH,v 2.22 89/03/25 21:44:45 syd Exp $ # # Makefile for the entire ELM mail system # --- 21,27 ---- echo "Extracting Makefile (with variable substitutions)" cat >Makefile <<!GROK!THIS! # ! # $Id: Makefile.SH,v 2.23 89/04/19 13:10:39 syd Exp $ # # Makefile for the entire ELM mail system # *************** *** 29,34 **** --- 29,37 ---- # (C) Copyright 1988, 1989, USENET Community Trust # # $Log: Makefile.SH,v $ + # Revision 2.23 89/04/19 13:10:39 syd + # added missing dependency + # # Revision 2.22 89/03/25 21:44:45 syd # Initial 2.2 Release checkin # *************** *** 112,118 **** _filter: cd filter; $(MAKE) -$(MAKEFLAGS) all ! utils: cd utils; $(MAKE) -$(MAKEFLAGS) all !NO!SUBS! --- 115,126 ---- _filter: cd filter; $(MAKE) -$(MAKEFLAGS) all ! # The dummy dependency here prevents make from thinking the target is the ! # utils directory that sits in the current directory, rather than ! # an abstract target. ! utils: _utils ! ! _utils: cd utils; $(MAKE) -$(MAKEFLAGS) all !NO!SUBS! Index: doc/newmail.1 *** ../elm2.2/doc/newmail.1 Sun Feb 26 16:38:15 1989 --- doc/newmail.1 Mon Apr 24 18:47:22 1989 *************** *** 118,124 **** .fi will monitor the incoming mailboxes for ``joe'' and ``root'', ! checking eery 15 seconds for new mail. .nf $ \fBnewmail "mary=Mary" +postmaster=POBOX\fR --- 118,124 ---- .fi will monitor the incoming mailboxes for ``joe'' and ``root'', ! checking every 15 seconds for new mail. .nf $ \fBnewmail "mary=Mary" +postmaster=POBOX\fR Index: src/Makefile.SH Prereq: 2.15 *** ../elm2.2/src/Makefile.SH Thu Mar 30 10:34:49 1989 --- src/Makefile.SH Mon Apr 24 18:46:33 1989 *************** *** 15,21 **** echo "Extracting src/Makefile (with variable substitutions)" cat >Makefile <<!GROK!THIS! ! # $Id: Makefile.SH,v 2.15 89/03/25 21:45:38 syd Exp $ # # Makefile for the ELM mail program. # --- 15,21 ---- echo "Extracting src/Makefile (with variable substitutions)" cat >Makefile <<!GROK!THIS! ! # $Id: Makefile.SH,v 2.16 89/04/24 18:46:32 syd Exp $ # # Makefile for the ELM mail program. # *************** *** 28,33 **** --- 28,40 ---- # dsinc!elm # # $Log: Makefile.SH,v $ + # Revision 2.16 89/04/24 18:46:32 syd + # When checking to see if an address is in a list of addresses: (1) ignore + # case, and (2) make sure the comparison is not just a random inclusion + # of the address in an item of the list - it must match a whole number + # of "atoms" at the right end of the item in the list. + # From: Rob Bernardo <clib!rob> + # # Revision 2.15 89/03/25 21:45:38 syd # Initial 2.2 Release checkin # *************** *** 290,295 **** --- 297,303 ---- signals.o: $(INCLDIR)/headers.h softkeys.o: $(INCLDIR)/headers.h sort.o: $(INCLDIR)/headers.h + string2.o: $(INCLDIR)/headers.h strings.o: $(INCLDIR)/headers.h syscall.o: $(INCLDIR)/headers.h utils.o: $(INCLDIR)/headers.h Index: src/addr_util.c Prereq: 2.15 *** ../elm2.2/src/addr_util.c Thu Mar 30 10:34:52 1989 --- src/addr_util.c Mon Apr 24 20:34:51 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: addr_util.c,v 2.15 89/03/25 21:45:40 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.15 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: addr_util.c,v 2.16 89/04/24 20:34:42 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.16 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: addr_util.c,v $ + * Revision 2.16 89/04/24 20:34:42 syd + * Fix month lower case + * * Revision 2.15 89/03/25 21:45:40 syd * Initial 2.2 Release checkin * *************** *** 728,734 **** letter abbreviation, with the first capitalized and the second and third in lowercase... **/ ! shift_lower(entry->month); entry->month[0] = toupper(entry->month[0]); } --- 731,737 ---- letter abbreviation, with the first capitalized and the second and third in lowercase... **/ ! strcpy(entry->month, shift_lower(entry->month)); entry->month[0] = toupper(entry->month[0]); } Index: src/aliasdb.c Prereq: 2.8 *** ../elm2.2/src/aliasdb.c Thu Mar 30 10:34:59 1989 --- src/aliasdb.c Mon Apr 24 18:45:29 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: aliasdb.c,v 2.8 89/03/25 21:45:45 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.8 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: aliasdb.c,v 2.9 89/04/24 18:45:27 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.9 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: aliasdb.c,v $ + * Revision 2.9 89/04/24 18:45:27 syd + * This fixes a compiler warning "statement not reached". Found by Steve Simmons. + * From: Rob Bernardo <clib!rob> + * * Revision 2.8 89/03/25 21:45:45 syd * Initial 2.2 Release checkin * *************** *** 200,206 **** strcat(expanded, " "); /* add a single space... */ strcat(expanded, comment); /* ...and add comment */ return(0); ! #endif #ifndef LOOK_CLOSE_AFTER_SEARCH --- 204,210 ---- strcat(expanded, " "); /* add a single space... */ strcat(expanded, comment); /* ...and add comment */ return(0); ! #else #ifndef LOOK_CLOSE_AFTER_SEARCH *************** *** 239,244 **** --- 243,249 ---- strcat(expanded, comment); /* add comment */ return(0); } + #endif #endif } Index: src/builtin.c Prereq: 2.23 *** ../elm2.2/src/builtin.c Thu Mar 30 10:35:11 1989 --- src/builtin.c Mon Apr 24 19:48:39 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: builtin.c,v 2.23 89/03/25 21:45:51 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.23 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: builtin.c,v 2.24 89/04/24 19:48:20 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.24 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: builtin.c,v $ + * Revision 2.24 89/04/24 19:48:20 syd + * put back in some 8bit support + * From: Marius Olafsson, University of Iceland + * * Revision 2.23 89/03/25 21:45:51 syd * Initial 2.2 Release checkin * *************** *** 111,120 **** break; /* leave rest of screen clear */ } else if(*iptr == '\0') { /* none left in input string */ break; - } else if(!isascii(*iptr)) { - *optr++ = '?'; /* non ascii */ - *iptr++; - chars_output++; } else if(*iptr == '\t') { /* tab stop */ if((nt=next_tab(chars_output+1)) > width) { *optr++ = '\n'; /* won't fit on this line - autowrap */ --- 115,120 ---- *************** *** 134,140 **** } else { /* non-white space control character */ if(chars_output + 2 <= width) { *optr++ = '^'; ! *optr++ = (*iptr == '\177' ? '?' : *iptr + 'A' - 1); iptr++; chars_output += 2; } else { /* no space on line for both chars */ --- 134,140 ---- } else { /* non-white space control character */ if(chars_output + 2 <= width) { *optr++ = '^'; ! *optr++ = (*iptr == '\177' ? '?' : (*iptr&0177) + 'A' - 1); iptr++; chars_output += 2; } else { /* no space on line for both chars */ Index: src/curses.c Prereq: 2.15 *** ../elm2.2/src/curses.c Thu Mar 30 10:35:19 1989 --- src/curses.c Mon Apr 24 20:01:04 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: curses.c,v 2.15 89/03/25 21:45:56 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.15 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: curses.c,v 2.16 89/04/24 20:00:58 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.16 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: curses.c,v $ + * Revision 2.16 89/04/24 20:00:58 syd + * add back some 8bit functions + * * Revision 2.15 89/03/25 21:45:56 syd * Initial 2.2 Release checkin * *************** *** 644,651 **** } else { ! /* if some kind of control or non ascii character change to a '?' */ ! if(iscntrl(ch) || !isascii(ch)) ch = '?'; /* if we have no columns left and this terminal doesn't do --- 647,654 ---- } else { ! /* if some kind of non-printable character change to a '?' */ ! if(!isprint(ch)) ch = '?'; /* if we have no columns left and this terminal doesn't do Index: src/date.c Prereq: 2.6 *** ../elm2.2/src/date.c Thu Mar 30 10:35:22 1989 --- src/date.c Mon Apr 24 19:14:53 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: date.c,v 2.6 89/03/25 21:45:58 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.6 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: date.c,v 2.7 89/04/24 19:14:34 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.7 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: date.c,v $ + * Revision 2.7 89/04/24 19:14:34 syd + * Add gould timezone patches From Andy Linton @ newcastle + * * Revision 2.6 89/03/25 21:45:58 syd * Initial 2.2 Release checkin * *************** *** 113,119 **** --- 116,126 ---- the_time->tm_sec % 61, #ifdef BSD #ifdef TZ_MINUTESWEST + # ifdef GOULD_NP1 + the_time->tm_zone); + # else timezone(time_zone.tz_minuteswest, time_zone.tz_dsttime)); + # endif #else timezone(loc_time.timezone, the_time->tm_isdst)); #endif Index: src/editmsg.c Prereq: 2.12 *** ../elm2.2/src/editmsg.c Thu Mar 30 10:35:33 1989 --- src/editmsg.c Mon Apr 24 19:09:13 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: editmsg.c,v 2.12 89/03/25 21:46:04 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.12 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: editmsg.c,v 2.13 89/04/24 19:08:50 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.13 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: editmsg.c,v $ + * Revision 2.13 89/04/24 19:08:50 syd + * Change direct output of newline to curses call to allow curses to know + * buffer has been reset + * * Revision 2.12 89/03/25 21:46:04 syd * Initial 2.2 Release checkin * *************** *** 294,300 **** else { tilde_input: fprintf(edit_fd, "%s\n", buffer); ! printf("\r\n"); } buffer[0] = '\0'; } --- 298,304 ---- else { tilde_input: fprintf(edit_fd, "%s\n", buffer); ! NewLine(); } buffer[0] = '\0'; } Index: src/in_utils.c Prereq: 2.13 *** ../elm2.2/src/in_utils.c Thu Mar 30 10:36:10 1989 --- src/in_utils.c Mon Apr 24 19:48:42 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: in_utils.c,v 2.13 89/03/25 21:46:28 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.13 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: in_utils.c,v 2.14 89/04/24 19:48:39 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.14 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: in_utils.c,v $ + * Revision 2.14 89/04/24 19:48:39 syd + * put back in some 8bit support + * From: Marius Olafsson, University of Iceland + * * Revision 2.13 89/03/25 21:46:28 syd * Initial 2.2 Release checkin * *************** *** 180,186 **** */ if (ch == backspace && ! (!escaped || (ch < ' ' || ch > '~' && !passwd))) { /* This is tricky. Here we are dealing with all situations * under which a backspace (really whatever erase char is * set to, not necessarily \b) erases the previous character. --- 184,190 ---- */ if (ch == backspace && ! (!escaped || (!isprint(ch) && !passwd))) { /* This is tricky. Here we are dealing with all situations * under which a backspace (really whatever erase char is * set to, not necessarily \b) erases the previous character. *************** *** 261,267 **** string[0] = '\0'; /* clean up string, and... */ return(-1); } ! else if (!passwd && (ch < ' ' || ch > '~')) { /* non-printing character - warn with bell*/ /* don't turn off escaping backslash since current character * doesn't "use it up". --- 265,271 ---- string[0] = '\0'; /* clean up string, and... */ return(-1); } ! else if (!passwd && !isprint(ch)) { /* non-printing character - warn with bell*/ /* don't turn off escaping backslash since current character * doesn't "use it up". *************** *** 371,377 **** */ if (ch == backspace && ! (!escaped || (ch < ' ' || ch > '~'))) { /* This is tricky. Here we are dealing with all situations * under which a backspace (really whatever erase char is * set to, not necessarily \b) erases the previous character. --- 375,381 ---- */ if (ch == backspace && ! (!escaped || !isprint(ch)) ) { /* This is tricky. Here we are dealing with all situations * under which a backspace (really whatever erase char is * set to, not necessarily \b) erases the previous character. *************** *** 441,447 **** string[0] = '\0'; /* clean up string, and... */ return(-1); } ! else if (ch < ' ' || ch > '~') { /* non-printing character - warn with bell*/ /* don't turn off escaping backslash since current character * doesn't "use it up". --- 445,451 ---- string[0] = '\0'; /* clean up string, and... */ return(-1); } ! else if (!isprint(ch)) { /* non-printing character - warn with bell*/ /* don't turn off escaping backslash since current character * doesn't "use it up". Index: src/init.c Prereq: 2.24 *** ../elm2.2/src/init.c Thu Mar 30 10:36:14 1989 --- src/init.c Mon Apr 24 20:47:06 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: init.c,v 2.24 89/03/25 21:46:31 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.24 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: init.c,v 2.26 89/04/24 20:47:04 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.26 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,28 ---- * ******************************************************************************* * $Log: init.c,v $ + * Revision 2.26 89/04/24 20:47:04 syd + * Change includes for consistency + * From: Jim Brown <jim@umigw.miami.edu> + * + * Revision 2.25 89/04/24 19:16:52 syd + * Allow BSD machines to time out the read via signals and not + * restart them to allow for index refreshing. + * From Andy Linton @ newcastle + * * Revision 2.24 89/03/25 21:46:31 syd * Initial 2.2 Release checkin * *************** *** 26,41 **** #include "headers.h" #include "patchlevel.h" ! #ifdef BSD # include <sgtty.h> #else ! # include <termio.h> #endif - #include <pwd.h> - #ifdef BSD ! # include <sys/time.h> #else # include <time.h> #endif --- 35,58 ---- #include "headers.h" #include "patchlevel.h" ! #ifdef TERMIO ! # include <termio.h> ! #else # include <sgtty.h> + #endif + + #ifdef PWDINSYS + # include <sys/pwd.h> #else ! # include <pwd.h> #endif #ifdef BSD ! # ifdef TMINSYS ! # include <sys/time.h> ! # else ! # include <time.h> ! # endif #else # include <time.h> #endif *************** *** 83,88 **** --- 100,109 ---- int sig_user_stop(), sig_return_from_user_stop(); #endif #endif + + #ifdef SV_INTERRUPT + struct sigvec alarm_vec; + #endif char buffer[SLEN], *cp; sprintf(version_buff, "%s PL%d", VERSION, PATCHLEVEL); *************** *** 183,190 **** "\n*** Elm-Internal Signal Handlers Disabled due to debug level %d ***\n\n", debug)); } ! ! signal(SIGALRM, alarm_signal); /* Process Timer Alarm */ signal(SIGPIPE, pipe_signal); /* Illegal Pipe Operation */ #ifdef SIGTSTP signal(SIGTSTP, sig_user_stop); /* Suspend signal from tty */ --- 204,216 ---- "\n*** Elm-Internal Signal Handlers Disabled due to debug level %d ***\n\n", debug)); } ! #ifdef SV_INTERRUPT ! alarm_vec.sv_handler = alarm_signal; ! alarm_vec.sv_flags = SV_INTERRUPT; ! sigvec (SIGALRM, &alarm_vec, 0); /* Process Timer Alarm */ ! #else ! signal(SIGALRM, alarm_signal); /* Process Timer Alarm */ ! #endif signal(SIGPIPE, pipe_signal); /* Illegal Pipe Operation */ #ifdef SIGTSTP signal(SIGTSTP, sig_user_stop); /* Suspend signal from tty */ Index: src/newmbox.c Prereq: 2.35 *** ../elm2.2/src/newmbox.c Thu Mar 30 10:36:39 1989 --- src/newmbox.c Mon Apr 24 19:06:16 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: newmbox.c,v 2.35 89/03/29 09:07:09 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.35 $ $State: Exp $ * * Copyright (c) 1988, USENET Community Trust * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: newmbox.c,v 2.36 89/04/24 19:05:59 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.36 $ $State: Exp $ * * Copyright (c) 1988, USENET Community Trust * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: newmbox.c,v $ + * Revision 2.36 89/04/24 19:05:59 syd + * Fix bug in limit mode when we really cannot keep limit over a resync + * * Revision 2.35 89/03/29 09:07:09 syd * Fix problem with assuming headers start file * From: Rob *************** *** 137,142 **** --- 140,146 ---- if ((mailfile = fopen(cur_folder,"r")) == NULL) { mailfile_size = 0; /* must be empty folder */ message_count = 0; + selected = 0; } else { read_headers(adds_only); } *************** *** 143,148 **** --- 147,154 ---- if(!same_file) /* limit mode off if this is a new file */ selected = 0; + if (!adds_only) /* limit mode off if recreating headers */ + selected = 0; /* because we loose the 'Visible' flag */ dprint(1, (debugfile, "New folder %s type %s temp file %s (%s)\n", cur_folder, Index: src/opt_utils.c Prereq: 2.17 *** ../elm2.2/src/opt_utils.c Wed Apr 19 11:55:44 1989 --- src/opt_utils.c Mon Apr 24 20:47:03 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: opt_utils.c,v 2.17 89/04/19 10:42:42 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.17 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: opt_utils.c,v 2.19 89/04/24 20:46:35 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.19 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,26 ---- * ******************************************************************************* * $Log: opt_utils.c,v $ + * Revision 2.19 89/04/24 20:46:35 syd + * Change includes for consistency + * From: Jim Brown <jim@umigw.miami.edu> + * + * Revision 2.18 89/04/24 19:53:35 syd + * Add secondary check on utsname include for BSD sites + * * Revision 2.17 89/04/19 10:42:42 syd * Make code use proper defines for Xenix and Uname * *************** *** 32,46 **** #include "headers.h" #include <ctype.h> #ifdef BSD - # include <pwd.h> #undef tolower #undef toupper #endif #ifndef GETHOSTNAME # include <sys/types.h> # include <sys/utsname.h> #endif #ifndef GETHOSTNAME --- 39,60 ---- #include "headers.h" #include <ctype.h> + #ifdef PWDINSYS + # include <sys/pwd.h> + #else + # include <pwd.h> + #endif + #ifdef BSD #undef tolower #undef toupper #endif #ifndef GETHOSTNAME + # ifdef DOUNAME # include <sys/types.h> # include <sys/utsname.h> + # endif #endif #ifndef GETHOSTNAME Index: src/quit.c Prereq: 2.15 *** ../elm2.2/src/quit.c Thu Mar 30 10:36:56 1989 --- src/quit.c Wed Apr 19 13:11:48 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: quit.c,v 2.15 89/03/25 21:47:00 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.15 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: quit.c,v 2.16 89/04/19 13:11:41 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.16 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: quit.c,v $ + * Revision 2.16 89/04/19 13:11:41 syd + * Fix help message range + * + * * Revision 2.15 89/03/25 21:47:00 syd * Initial 2.2 Release checkin * *************** *** 99,105 **** } else if (strcmp(newfile, "?") == 0) { /* user wants to list folders */ ! if(!*helpmsg) /* format helpmsg if not yet done */ strcpy(helpmsg, "\n\r\n\rEnter: <nothing> to not change to a new folder,"); --- 103,109 ---- } else if (strcmp(newfile, "?") == 0) { /* user wants to list folders */ ! if(!*helpmsg) { /* format helpmsg if not yet done */ strcpy(helpmsg, "\n\r\n\rEnter: <nothing> to not change to a new folder,"); *************** *** 117,123 **** " (leading '=' denotes your folder directory "); strcat(helpmsg, folders); strcat(helpmsg, ").\n\r"); ! list_folders(4, helpmsg); PutLine0(LINES-2,0,"Name of new folder: "); /* reprompt */ redraw = TRUE; /* we'll need to clean the screen */ --- 121,127 ---- " (leading '=' denotes your folder directory "); strcat(helpmsg, folders); strcat(helpmsg, ").\n\r"); ! } list_folders(4, helpmsg); PutLine0(LINES-2,0,"Name of new folder: "); /* reprompt */ redraw = TRUE; /* we'll need to clean the screen */ Index: src/reply.c Prereq: 2.9 *** ../elm2.2/src/reply.c Thu Mar 30 10:37:08 1989 --- src/reply.c Mon Apr 24 20:47:08 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: reply.c,v 2.9 89/03/25 21:47:06 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.9 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: reply.c,v 2.11 89/04/24 20:47:06 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.11 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,30 ---- * ******************************************************************************* * $Log: reply.c,v $ + * Revision 2.11 89/04/24 20:47:06 syd + * Change includes for consistency + * From: Jim Brown <jim@umigw.miami.edu> + * + * Revision 2.10 89/04/24 18:46:34 syd + * When checking to see if an address is in a list of addresses: (1) ignore + * case, and (2) make sure the comparison is not just a random inclusion + * of the address in an item of the list - it must match a whole number + * of "atoms" at the right end of the item in the list. + * From: Rob Bernardo <clib!rob> + * * Revision 2.9 89/03/25 21:47:06 syd * Initial 2.2 Release checkin * *************** *** 29,35 **** --- 40,48 ---- #ifndef BSD # include <sys/types.h> + # ifndef VMS # include <sys/utsname.h> + # endif #endif /** Note that this routine generates automatic header information *************** *** 261,283 **** char our_address[SLEN]; struct addr_rec *alternatives; ! if (in_string(address, return_address)) return(FALSE); sprintf(our_address, "%s!%s", hostname, username); ! if (in_string(address, our_address)) return(FALSE); sprintf(our_address, "%s@%s", username, hostname); ! ! if (in_string(address, our_address)) return(FALSE); alternatives = alternative_addresses; while (alternatives != NULL) { ! if (in_string(address, alternatives->address)) return(FALSE); alternatives = alternatives->next; } --- 274,305 ---- char our_address[SLEN]; struct addr_rec *alternatives; ! if (in_list(address, return_address)) return(FALSE); + if(in_list(address, username)) + return(FALSE); + sprintf(our_address, "%s!%s", hostname, username); + if (in_list(address, our_address)) + return(FALSE); ! sprintf(our_address, "%s%s!%s", hostname, hostdomain, username); ! if (in_list(address, our_address)) return(FALSE); sprintf(our_address, "%s@%s", username, hostname); ! if (in_list(address, our_address)) return(FALSE); + sprintf(our_address, "%s@%s%s", username, hostname, hostdomain); + if (in_list(address, our_address)) + return(FALSE); + alternatives = alternative_addresses; while (alternatives != NULL) { ! if (in_list(address, alternatives->address)) return(FALSE); alternatives = alternatives->next; } *************** *** 298,304 **** char hosts[MAX_HOPS][SLEN]; /* array of machine names */ char *host, *addrptr; ! if (in_string(full_address, new_address)) return(1); /* duplicate address */ /** optimize **/ --- 320,326 ---- char hosts[MAX_HOPS][SLEN]; /* array of machine names */ char *host, *addrptr; ! if (in_list(full_address, new_address)) return(1); /* duplicate address */ /** optimize **/ Index: src/savecopy.c Prereq: *** ../elm2.2/src/savecopy.c Thu Mar 30 10:37:19 1989 --- src/savecopy.c Mon Apr 24 20:47:10 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: savecopy.c,v 2.16 89/03/25 21:47:11 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.16 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: savecopy.c,v 2.17 89/04/24 20:47:08 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.17 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: savecopy.c,v $ + * Revision 2.17 89/04/24 20:47:08 syd + * Change includes for consistency + * From: Jim Brown <jim@umigw.miami.edu> + * * Revision 2.16 89/03/25 21:47:11 syd * Initial 2.2 Release checkin * *************** *** 25,34 **** **/ #include "headers.h" ! #ifdef TMINSYS ! # include <sys/time.h> #else ! # include <time.h> #endif #include <errno.h> --- 29,42 ---- **/ #include "headers.h" ! #ifdef BSD ! # ifdef TMINSYS ! # include <sys/time.h> ! # else ! # include <time.h> ! # endif #else ! # include <time.h> #endif #include <errno.h> Index: src/string2.c Prereq: 2.3 *** ../elm2.2/src/string2.c Thu Mar 30 10:37:40 1989 --- src/string2.c Mon Apr 24 20:25:34 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: string2.c,v 2.3 89/03/25 21:47:28 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.3 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: string2.c,v 2.5 89/04/24 20:25:30 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.5 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,29 ---- * ******************************************************************************* * $Log: string2.c,v $ + * Revision 2.5 89/04/24 20:25:30 syd + * Move shift_lower + * + * Revision 2.4 89/04/24 18:46:37 syd + * When checking to see if an address is in a list of addresses: (1) ignore + * case, and (2) make sure the comparison is not just a random inclusion + * of the address in an item of the list - it must match a whole number + * of "atoms" at the right end of the item in the list. + * From: Rob Bernardo <clib!rob> + * * Revision 2.3 89/03/25 21:47:28 syd * Initial 2.2 Release checkin * *************** *** 25,36 **** **/ ! #ifndef TRUE ! #define TRUE 1 ! #define FALSE 0 #endif #define whitespace(c) (c == ' ' || c == '\t') int in_string(buffer, pattern) --- 35,133 ---- **/ ! #include "headers.h" ! #include <ctype.h> ! ! #ifdef BSD ! #undef tolower ! #undef toupper #endif + #define whitespace(c) (c == ' ' || c == '\t') + + char *shift_lower(string) + char *string; + { + /** return 'string' shifted to lower case. Do NOT touch the + actual string handed to us! **/ + + static char buffer[VERY_LONG_STRING]; + register int i; + + for (i=0; i < strlen(string); i++) + if (isupper(string[i])) + buffer[i] = tolower(string[i]); + else + buffer[i] = string[i]; + + buffer[strlen(string)] = 0; + + return( (char *) buffer); + } + + + int + in_list(list, target) + char *list, *target; + + { + /* Returns TRUE iff target is an item in the list - case ignored. + * If target is simple (an atom of an address) match must be exact. + * If target is complex (contains a special character that separates + * address atoms), the target need only match a whole number of atoms + * at the right end of an item in the list. E.g. + * target: item: match: + * joe joe yes + * joe jojoe no (wrong logname) + * joe machine!joe no (similar logname on a perhaps + * different machine - to + * test this sort of item the + * passed target must include + * proper machine name, is + * in next two examples) + * machine!joe diffmachine!joe no " + * machine!joe diffmachine!machine!joe yes + * joe@machine jojoe@machine no (wrong logname) + * joe@machine diffmachine!joe@machine yes + */ + + register char *rest_of_list, + *next_item, + ch; + int offset; + char *shift_lower(), + lower_list[VERY_LONG_STRING], + lower_target[SLEN]; + + rest_of_list = strcpy(lower_list, shift_lower(list)); + strcpy(lower_target, shift_lower(target)); + while((next_item = strtok(rest_of_list, ", \t\n")) != NULL) { + /* see if target matches the whole item */ + if(strcmp(next_item, lower_target) == 0) + return(TRUE); + + if(strpbrk(lower_target,"!@%:") != NULL) { + + /* Target is complex */ + + if((offset = strlen(next_item) - strlen(lower_target)) > 0) { + + /* compare target against right end of next item */ + if(strcmp(&next_item[offset], lower_target) == 0) { + + /* make sure we are comparing whole atoms */ + ch=next_item[offset-1]; + if(ch == '!' || ch == '@' || ch == '%' || ch == ':') + return(TRUE); + } + } + } + rest_of_list = NULL; + } + return(FALSE); + } + int in_string(buffer, pattern) Index: src/strings.c Prereq: 2.10 *** ../elm2.2/src/strings.c Thu Mar 30 10:37:43 1989 --- src/strings.c Mon Apr 24 20:25:48 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: strings.c,v 2.10 89/03/25 21:47:29 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.10 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: strings.c,v 2.12 89/04/24 20:25:36 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.12 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,29 ---- * ******************************************************************************* * $Log: strings.c,v $ + * Revision 2.12 89/04/24 20:25:36 syd + * move shift_lower + * + * Revision 2.11 89/04/24 18:46:38 syd + * When checking to see if an address is in a list of addresses: (1) ignore + * case, and (2) make sure the comparison is not just a random inclusion + * of the address in an item of the list - it must match a whole number + * of "atoms" at the right end of the item in the list. + * From: Rob Bernardo <clib!rob> + * * Revision 2.10 89/03/25 21:47:29 syd * Initial 2.2 Release checkin * *************** *** 38,44 **** /** forward declarations **/ ! char *format_long(), *strip_commas(), *tail_of_string(), *shift_lower(), *get_token(), *strip_parens(), *argv_zero(), *strcpy(), *strncpy(); --- 48,54 ---- /** forward declarations **/ ! char *format_long(), *strip_commas(), *tail_of_string(), *get_token(), *strip_parens(), *argv_zero(), *strcpy(), *strncpy(); *************** *** 392,417 **** word[loc] = '\0'; return(start); - } - - char *shift_lower(string) - char *string; - { - /** return 'string' shifted to lower case. Do NOT touch the - actual string handed to us! **/ - - static char buffer[SLEN]; - register int i; - - for (i=0; i < strlen(string); i++) - if (isupper(string[i])) - buffer[i] = tolower(string[i]); - else - buffer[i] = string[i]; - - buffer[strlen(string)] = 0; - - return( (char *) buffer); } Centerline(line, string) --- 402,407 ---- Index: src/utils.c Prereq: 2.22 *** ../elm2.2/src/utils.c Thu Mar 30 10:37:50 1989 --- src/utils.c Mon Apr 24 18:43:23 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: utils.c,v 2.22 89/03/25 21:47:33 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.22 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: utils.c,v 2.23 89/04/24 18:43:21 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.23 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,24 ---- * ******************************************************************************* * $Log: utils.c,v $ + * Revision 2.23 89/04/24 18:43:21 syd + * This fixes a wrongly named variable (caused by copying a function and not + * completing tailoring it to its new role). Found by Rob Healey. + * From: Rob Bernardo <clib!rob> + * * Revision 2.22 89/03/25 21:47:33 syd * Initial 2.2 Release checkin * *************** *** 45,54 **** { /* this creates a new folders directory */ - char source[SLEN]; char com[SLEN]; - /** Some systems don't have a mkdir call - how inconvienient! **/ #ifdef MKDIR --- 50,57 ---- *************** *** 60,66 **** system_call(com, SH, FALSE); #endif /* MKDIR */ ! chown( source, userid, groupid); } create_new_elmdir() --- 63,69 ---- system_call(com, SH, FALSE); #endif /* MKDIR */ ! chown(folders, userid, groupid); } create_new_elmdir() Index: src/validname.c Prereq: *** ../elm2.2/src/validname.c Thu Mar 30 10:37:53 1989 --- src/validname.c Mon Apr 24 20:47:12 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: validname.c,v 2.8 89/03/25 21:47:34 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.8 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: validname.c,v 2.9 89/04/24 20:47:11 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.9 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: validname.c,v $ + * Revision 2.9 89/04/24 20:47:11 syd + * Change includes for consistency + * From: Jim Brown <jim@umigw.miami.edu> + * * Revision 2.8 89/03/25 21:47:34 syd * Initial 2.2 Release checkin * *************** *** 24,33 **** #include <stdio.h> ! #ifdef PWDINSYS # include <sys/pwd.h> ! #else # include <pwd.h> #endif int --- 28,39 ---- #include <stdio.h> ! #ifndef NOCHECK_VALIDNAME /* Force a return of valid */ ! # ifdef PWDINSYS # include <sys/pwd.h> ! # else # include <pwd.h> + # endif #endif int Index: utils/fastmail.c Prereq: 2.6 *** ../elm2.2/utils/fastmail.c Wed Apr 19 11:55:46 1989 --- utils/fastmail.c Mon Apr 24 19:14:56 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: fastmail.c,v 2.6 89/04/19 10:38:11 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.6 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: fastmail.c,v 2.7 89/04/24 19:14:54 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.7 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: fastmail.c,v $ + * Revision 2.7 89/04/24 19:14:54 syd + * Add gould timezone patches From Andy Linton @ newcastle + * * Revision 2.6 89/04/19 10:38:11 syd * Make fastmail silent unless debugging turned on * *************** *** 283,289 **** --- 286,296 ---- # ifndef TMINSYS timezone(loc_time.time_zone, the_time->tz_isdst)); # else + # ifdef GOULD_NP1 + the_time->tm_zone); + # else timezone(time_zone.tz_minuteswest, time_zone.tz_dsttime)); + # endif # endif #else tzname[the_time->tm_isdst]); Index: utils/readmsg.c Prereq: 2.7 *** ../elm2.2/utils/readmsg.c Thu Mar 30 10:38:26 1989 --- utils/readmsg.c Mon Apr 24 19:32:11 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: readmsg.c,v 2.7 89/03/25 21:47:57 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.7 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: readmsg.c,v 2.8 89/04/24 19:31:54 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.8 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: readmsg.c,v $ + * Revision 2.8 89/04/24 19:31:54 syd + * Add BSD USER in addition to LOGNAME + * * Revision 2.7 89/03/25 21:47:57 syd * Initial 2.2 Release checkin * *************** *** 180,187 **** /** Now let's get to the mail file... **/ if (strlen(infile) == 0) { ! if ((cp = getenv("MAIL")) == NULL) ! sprintf(infile, "%s/%s", mailhome, getenv("LOGNAME")); else strcpy(infile, cp); } --- 183,194 ---- /** Now let's get to the mail file... **/ if (strlen(infile) == 0) { ! if ((cp = getenv("MAIL")) == NULL) { ! if ((cp = getenv("LOGNAME")) == NULL) ! sprintf(infile, "%s/%s", mailhome, getenv("USER")); ! else ! sprintf(infile, "%s/%s", mailhome, cp); ! } else strcpy(infile, cp); } Index: utils/Makefile.SH Prereq: *** ../elm2.2/utils/Makefile.SH Thu Mar 30 10:37:56 1989 --- utils/Makefile.SH Mon Apr 24 20:17:21 1989 *************** *** 16,22 **** echo "Extracting utils/Makefile (with variable substitutions)" cat >Makefile <<!GROK!THIS! ! # @(#)$Id: Makefile.SH,v 2.17 89/03/25 21:47:36 syd Exp $ # # Makefile for the Elm system utilities # --- 16,22 ---- echo "Extracting utils/Makefile (with variable substitutions)" cat >Makefile <<!GROK!THIS! ! # @(#)$Id: Makefile.SH,v 2.19 89/04/24 20:17:15 syd Exp $ # # Makefile for the Elm system utilities # *************** *** 29,34 **** --- 29,37 ---- # dsinc!elm # # $Log: Makefile.SH,v $ + # Revision 2.19 89/04/24 20:17:15 syd + # Remove bad include + # # Revision 2.17 89/03/25 21:47:36 syd # Initial 2.2 Release checkin # -- ===================================================================== Sydney S. Weinstein, CDP, CCP Elm Coordinator Datacomp Systems, Inc. Voice: (215) 947-9900 syd@DSI.COM or {bpa,vu-vlsi}!dsinc!syd FAX: (215) 938-0235 --------------------------- End of Patch 2 ----------------------------- In article <272@moegate.UUCP> soley@moegate.UUCP (Norman S. Soley) writes: >It seems that Elm 2.2 patches 1 and 2 never made it to Toronto, I've >sent mail to Syd asking for them. When I get them I'll announce it here. >Rather than have several copies mailed up from the States I'd be willing to >re-distribute them from here. Anyone who wants these drop me a line and I'll >send them to you when I get them. Boon
chew@ecf.toronto.edu (Ping Chew) (05/03/89)
In article <272@moegate.UUCP> soley@moegate.UUCP (Norman S. Soley) writes: >It seems that Elm 2.2 patches 1 and 2 never made it to Toronto, I've >sent mail to Syd asking for them. When I get them I'll announce it here. >Rather than have several copies mailed up from the States I'd be willing to >re-distribute them from here. Anyone who wants these drop me a line and I'll >send them to you when I get them. > I am posting patch 1 and 2 here as Syd has indicated that patches are available only through ftp and archive server. What follows is patch01. The next message would be patch02. ------------------------------ Patch 01 ------------------------------ From ecf!me!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!cbmvax!vu-vlsi!dsinc!syd Wed Apr 19 16:06:31 GMT 1989 Status: RO Article 1074 of comp.mail.elm: Path: ecf!me!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!cbmvax!vu-vlsi!dsinc!syd >From: syd@dsinc.DSI.COM (Syd Weinstein) Newsgroups: comp.mail.elm,comp.sources.bugs Subject: elm 2.2 Patch #1 Summary: This is an official patch for elm 2.2 system. Please apply it. Keywords: elm patch Message-ID: <110@dsinc.DSI.COM> Date: 19 Apr 89 16:06:31 GMT Followup-To: comp.mail.elm Organization: Datacomp Systems, Inc., Huntingdon Valley, PA Lines: 585 Xref: ecf comp.mail.elm:1074 comp.sources.bugs:1326 Priority: LOW-MEDIUM The alias seperator was changed to an equal sign from the colon character. This change, however, wasn't made in the utils/mailrc.awk script. The man page for answer(1l) still refered to '$home/.alias_hash' and '...alias_data'. fastmail had a printf statement which was not controlled by the debug flag. The sympton was that arepdaemon kept echoing messages to the console. removed use of the 'hp' register which is defined by the [nt]roff package as a predefined general register, the current horizontal place on the input line. Fixes the Elm-supplied gethostname() for the Xenix environment when the system has been told to use the uname() call. The Configure script correctly sets the defines, but the code wasn't using it correctly. Fixed scanning for calendar entries with no mail. Another attempt at the stop code, so many systems handle this differently. Some cursor strings on some terminals were longer than SHORT allowed, lengthen SHORT. Fix: From rn, say "| patch -p -N -d DIR", where DIR is your elm source directory. Outside of rn, say "cd DIR; patch -p -N <thisarticle". If you don't have the patch program, apply the following by hand, or get patch (version 2.0, latest patchlevel). After patching: make make install If patch indicates that patchlevel is the wrong version, you may need to apply one or more previous patches, or the patch may already have been applied. See the patchlevel.h file to find out what has or has not been applied. In any event, don't continue with the patch. If you are missing previous patches they can be obtained from me: Syd Weinstein syd@dsinc.UUCP The patches are available from the dsinc archive server Send the following message to archive-server@dsinc.UUCP for a list of available patches: Subject: patch list send index elm Index: hdrs/patchlevel.h Prereq: 0 *** ../elm2.2/hdrs/patchlevel.h Wed Mar 29 10:12:12 1989 --- hdrs/patchlevel.h Wed Apr 19 10:31:23 1989 *************** *** 1 **** ! #define PATCHLEVEL 0 --- 1 ---- ! #define PATCHLEVEL 1 Index: Configure Prereq: 2.37 *** ../elm2.2/Configure Wed Mar 29 09:19:59 1989 --- Configure Wed Apr 19 11:15:49 1989 *************** *** 8,14 **** # and edit it to reflect your system. Some packages may include samples # of config.h for certain machines, so you might look for one of those.) # ! # $Header: /files/home/users/syd/elm/RCS/Configure,v 2.37 89/03/29 09:19:46 syd Exp $ # # Yes, you may rip this off to use in other distribution packages. # (Note: this Configure script was generated automatically. Rather than --- 8,14 ---- # and edit it to reflect your system. Some packages may include samples # of config.h for certain machines, so you might look for one of those.) # ! # $Header: /files/home/users/syd/elm/RCS/Configure,v 2.38 89/04/19 11:15:30 syd Exp $ # # Yes, you may rip this off to use in other distribution packages. # (Note: this Configure script was generated automatically. Rather than *************** *** 1205,1211 **** $echo $n "$rp $c" . myread case "$ans" in ! y*) d_douname="$undef" d_gethname="$undef" d_host_comp="$define" $echo $n "Okay... $c" ;; --- 1205,1212 ---- $echo $n "$rp $c" . myread case "$ans" in ! y*) d_douname="$undef" ! d_gethname="$undef" d_host_comp="$define" $echo $n "Okay... $c" ;; Index: doc/answer.1 *** ../elm2.2/doc/answer.1 Sun Feb 26 16:37:52 1989 --- doc/answer.1 Wed Apr 19 10:34:00 1989 *************** *** 49,57 **** .br newalias(1L), checkalias(1L), mail(1), mailx(1), from(1L), printmail(1L) .SH FILES ! $home/.alias_hash individual alias hash table .br ! $home/.alias_data individual alias data table .br /tmp/snd.$$ edit buffer for outgoing mail .SH BUG REPORTS TO --- 49,57 ---- .br newalias(1L), checkalias(1L), mail(1), mailx(1), from(1L), printmail(1L) .SH FILES ! $home/.elm/aliases.hash individual alias hash table .br ! $home/.elm/aliases.data individual alias data table .br /tmp/snd.$$ edit buffer for outgoing mail .SH BUG REPORTS TO Index: doc/tmac.n Prereq: 2.5 *** ../elm2.2/doc/tmac.n Mon Mar 20 20:17:07 1989 --- doc/tmac.n Wed Apr 19 10:40:21 1989 *************** *** 1,4 **** ! \" @(#)$Id: tmac.n,v 2.5 89/03/20 20:17:04 syd Exp $ .\" The News macro package .\" .\" This is the macro package that is used to format news documents. It --- 1,4 ---- ! \" @(#)$Id: tmac.n,v 2.6 89/04/19 10:39:59 syd Exp $ .\" The News macro package .\" .\" This is the macro package that is used to format news documents. It *************** *** 371,377 **** .if !\\n(it .bt \" end the title and such .br \" force out previous line .b ! .ie \\n(hp .ps \\n(hp .el .ps \\n(ps .ie \\n(hv .vs \\n(hv .el .vs \\n(vs --- 371,377 ---- .if !\\n(it .bt \" end the title and such .br \" force out previous line .b ! .ie \\n(hP .ps \\n(hP .el .ps \\n(ps .ie \\n(hv .vs \\n(hv .el .vs \\n(vs *************** *** 402,408 **** .if !\\n(it .bt \" end the title and such .br \" force out previous line .b ! .ie \\n(hp .ps \\n(hp .el .ps \\n(ps .ie \\n(hv .vs \\n(hv .el .vs \\n(vs --- 402,408 ---- .if !\\n(it .bt \" end the title and such .br \" force out previous line .b ! .ie \\n(hP .ps \\n(hP .el .ps \\n(ps .ie \\n(hv .vs \\n(hv .el .vs \\n(vs Index: hdrs/defs.h Prereq: 2.16 *** ../elm2.2/hdrs/defs.h Thu Mar 30 10:34:27 1989 --- hdrs/defs.h Wed Apr 19 11:02:06 1989 *************** *** 1,8 **** ! /* $Id: defs.h,v 2.16 89/03/25 21:45:23 syd Exp $ */ /******************************************************************************* ! * The Elm Mail System - $Revision: 2.16 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! /* $Id: defs.h,v 2.17 89/04/19 11:01:53 syd Exp $ */ /******************************************************************************* ! * The Elm Mail System - $Revision: 2.17 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: defs.h,v $ + * Revision 2.17 89/04/19 11:01:53 syd + * Some cursor strings were longer than SHORT allowed, make SHORT longer + * * Revision 2.16 89/03/25 21:45:23 syd * Initial 2.2 Release checkin * *************** *** 35,41 **** #define KLICK 25 #define SLEN 256 /* long for ensuring no overwrites... */ ! #define SHORT 5 /* super short strings! */ #define NLEN 48 /* name length for aliases */ #define WLEN 20 #define STRING 128 /* reasonable string length for most.. */ --- 38,44 ---- #define KLICK 25 #define SLEN 256 /* long for ensuring no overwrites... */ ! #define SHORT 10 /* super short strings! */ #define NLEN 48 /* name length for aliases */ #define WLEN 20 #define STRING 128 /* reasonable string length for most.. */ Index: src/elm.c Prereq: 2.33 *** ../elm2.2/src/elm.c Thu Mar 30 10:35:40 1989 --- src/elm.c Wed Apr 19 10:49:29 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: elm.c,v 2.33 89/03/25 21:46:10 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.33 $ $State: Exp $ * * This file and all associated files and documentation: * Copyright (c) 1986, 1987 Dave Taylor --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: elm.c,v 2.34 89/04/19 10:49:18 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.34 $ $State: Exp $ * * This file and all associated files and documentation: * Copyright (c) 1986, 1987 Dave Taylor *************** *** 15,20 **** --- 15,23 ---- * ******************************************************************************* * $Log: elm.c,v $ + * Revision 2.34 89/04/19 10:49:18 syd + * Fix scanning for calendar entries with no mail + * * Revision 2.33 89/03/25 21:46:10 syd * Initial 2.2 Release checkin * *************** *** 228,236 **** case '<' : /* scan current message for calendar information */ #ifdef ENABLE_CALENDAR ! PutLine0(LINES-3, strlen("Command: "), "Scan message for calendar entries..."); ! scan_calendar(); #else error("Sorry. Calendar function disabled."); fflush(stdin); --- 231,245 ---- case '<' : /* scan current message for calendar information */ #ifdef ENABLE_CALENDAR ! if (message_count < 1) { ! error("No mail to scan!"); ! fflush(stdin); ! } ! else { ! PutLine0(LINES-3, strlen("Command: "), "Scan message for calendar entries..."); ! scan_calendar(); ! } #else error("Sorry. Calendar function disabled."); fflush(stdin); Index: src/opt_utils.c Prereq: 2.16 *** ../elm2.2/src/opt_utils.c Thu Mar 30 10:36:43 1989 --- src/opt_utils.c Wed Apr 19 10:42:55 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: opt_utils.c,v 2.16 89/03/25 21:46:52 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.16 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: opt_utils.c,v 2.17 89/04/19 10:42:42 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.17 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: opt_utils.c,v $ + * Revision 2.17 89/04/19 10:42:42 syd + * Make code use proper defines for Xenix and Uname + * * Revision 2.16 89/03/25 21:46:52 syd * Initial 2.2 Release checkin * *************** *** 48,54 **** { /** Return the name of the current host machine. **/ ! #ifdef XENIX char buf[32]; FILE *fp; char *p; --- 51,57 ---- { /** Return the name of the current host machine. **/ ! #if defined(XENIX) & !defined(DOUNAME) char buf[32]; FILE *fp; char *p; Index: src/syscall.c Prereq: 2.14 *** ../elm2.2/src/syscall.c Thu Mar 30 10:37:47 1989 --- src/syscall.c Wed Apr 19 10:56:23 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: syscall.c,v 2.14 89/03/25 21:47:31 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.14 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: syscall.c,v 2.15 89/04/19 10:56:15 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.15 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: syscall.c,v $ + * Revision 2.15 89/04/19 10:56:15 syd + * Better attempt at stop signals + * * Revision 2.14 89/03/25 21:47:31 syd * Initial 2.2 Release checkin * *************** *** 98,113 **** #ifdef VOIDSIG register void (*istat)(), (*qstat)(); # ifdef SIGTSTP - # ifndef BSD register void (*oldstop)(), (*oldstart)(); - # endif # endif #else register int (*istat)(), (*qstat)(); # ifdef SIGTSTP - # ifndef BSD register int (*oldstop)(), (*oldstart)(); - # endif # endif #endif --- 101,112 ---- *************** *** 124,133 **** (void)signal(SIGHUP, SIG_DFL); (void)signal(SIGINT, SIG_DFL); #ifdef SIGTSTP - # ifndef BSD (void)signal(SIGTSTP, SIG_DFL); (void)signal(SIGCONT, SIG_DFL); - # endif #endif } else { /* program to exec should ignore interrupt, accidental hangup, and stop signals */ --- 123,130 ---- *************** *** 134,143 **** (void)signal(SIGHUP, SIG_IGN); (void)signal(SIGINT, SIG_IGN); #ifdef SIGTSTP - # ifndef BSD (void)signal(SIGTSTP, SIG_IGN); (void)signal(SIGCONT, SIG_IGN); - # endif #endif } --- 131,138 ---- *************** *** 152,161 **** istat = signal(SIGINT, SIG_IGN); qstat = signal(SIGQUIT, SIG_IGN); #ifdef SIGTSTP ! # ifndef BSD ! oldstop = signal(SIGTSTP, SIG_IGN); ! oldstart = signal(SIGCONT, SIG_IGN); ! # endif #endif while ((w = wait(&status)) != pid && w != -1) --- 147,154 ---- istat = signal(SIGINT, SIG_IGN); qstat = signal(SIGQUIT, SIG_IGN); #ifdef SIGTSTP ! oldstop = signal(SIGTSTP, SIG_DFL); ! oldstart = signal(SIGCONT, SIG_DFL); #endif while ((w = wait(&status)) != pid && w != -1) *************** *** 170,179 **** (void)signal(SIGINT, istat); (void)signal(SIGQUIT, qstat); #ifdef SIGTSTP - # ifndef BSD (void)signal(SIGTSTP, oldstop); (void)signal(SIGCONT, oldstart); - # endif #endif return(stat); --- 163,170 ---- Index: utils/fastmail.c Prereq: 2.5 *** ../elm2.2/utils/fastmail.c Thu Mar 30 10:38:09 1989 --- utils/fastmail.c Wed Apr 19 10:38:25 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: fastmail.c,v 2.5 89/03/25 21:47:44 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.5 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: fastmail.c,v 2.6 89/04/19 10:38:11 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.6 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: fastmail.c,v $ + * Revision 2.6 89/04/19 10:38:11 syd + * Make fastmail silent unless debugging turned on + * * Revision 2.5 89/03/25 21:47:44 syd * Initial 2.2 Release checkin * *************** *** 213,222 **** sendmail_available = (access(sendmail, EXECUTE_ACCESS) != -1); ! printf("Mailing to %s%s%s%s%s [via %s]\n", to_list, ! (strlen(cc_list) > 0 ? " ":""), cc_list, ! (strlen(bcc_list) > 0 ? " ":""), bcc_list, ! sendmail_available? "sendmail" : "rmail"); sprintf(command_buffer, "cat %s %s | %s %s %s %s", tempfilename, filename, --- 216,226 ---- sendmail_available = (access(sendmail, EXECUTE_ACCESS) != -1); ! if (debug) ! printf("Mailing to %s%s%s%s%s [via %s]\n", to_list, ! (strlen(cc_list) > 0 ? " ":""), cc_list, ! (strlen(bcc_list) > 0 ? " ":""), bcc_list, ! sendmail_available? "sendmail" : "rmail"); sprintf(command_buffer, "cat %s %s | %s %s %s %s", tempfilename, filename, Index: utils/mailrc.awk Prereq: 2.3 *** ../elm2.2/utils/mailrc.awk Thu Mar 30 10:38:16 1989 --- utils/mailrc.awk Wed Apr 19 10:31:13 1989 *************** *** 1,5 **** # ! # @(#)$Id: mailrc.awk,v 2.3 89/03/25 21:47:51 syd Exp $ # Copyright (c) 1986, 1987 Dave Taylor # Copyright (c) 1988, 1989 USENET Community Trust # Bug reports, patches, comments, suggestions should be sent to: --- 1,5 ---- # ! # @(#)$Id: mailrc.awk,v 2.4 89/04/19 10:31:03 syd Exp $ # Copyright (c) 1986, 1987 Dave Taylor # Copyright (c) 1988, 1989 USENET Community Trust # Bug reports, patches, comments, suggestions should be sent to: *************** *** 8,13 **** --- 8,16 ---- # dsinc!elm # # $Log: mailrc.awk,v $ + # Revision 2.4 89/04/19 10:31:03 syd + # Change alias delimiter to ='s + # # Revision 2.3 89/03/25 21:47:51 syd # Initial 2.2 Release checkin # *************** *** 43,49 **** $1 ~ /[Aa]lias|[Gg]roup/ { if ( NF == 3) ! print $2 " : user alias : " $3; else { group = "" for (i = 3; i <= NF; i++) { --- 46,52 ---- $1 ~ /[Aa]lias|[Gg]roup/ { if ( NF == 3) ! print $2 " = user alias = " $3; else { group = "" for (i = 3; i <= NF; i++) { *************** *** 59,64 **** else group = $i; } ! print $2 " : group alias : " group; } } --- 62,67 ---- else group = $i; } ! print $2 " = group alias = " group; } } -- ===================================================================== Sydney S. Weinstein, CDP, CCP Elm Coordinator Datacomp Systems, Inc. Voice: (215) 947-9900 syd@DSI.COM or {bpa,vu-vlsi}!dsinc!syd FAX: (215) 938-0235 ---------------------------- End of Patch 01 -------------------------- > > >-- >Norman Soley - The Communications Guy - Ontario Ministry of the Environment >Until the next maps go out: moegate!soley@ontenv.UUCP >I'd like to try golf but I just can't bring myself to buy a pair of plaid pants Boon Newsgroups: ont.archivesposter Subject: Re: Elm 2.2 patches 1 & 2 Summary: Expires: References: <272@moegate.UUCP> Sender: Reply-To: chew@ecf.UUCP (Boon-Ping Chew) Followup-To: Distribution: ont Organization: Engineering Computing Facility, University of Toronto Keywords: In article <272@moegate.UUCP> soley@moegate.UUCP (Norman S. Soley) writes: >It seems that Elm 2.2 patches 1 and 2 never made it to Toronto, I've >sent mail to Syd asking for them. When I get them I'll announce it here. >Rather than have several copies mailed up from the States I'd be willing to >re-distribute them from here. Anyone who wants these drop me a line and I'll >send them to you when I get them. > I am posting patch 1 and 2 here as Syd has indicated that patches are available only through ftp and archive server. What follows is patch01. The next message would be patch02. ------------------------------ Patch 01 ------------------------------ From ecf!me!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!cbmvax!vu-vlsi!dsinc!syd Wed Apr 19 16:06:31 GMT 1989 Status: RO Article 1074 of comp.mail.elm: Path: ecf!me!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!cbmvax!vu-vlsi!dsinc!syd >From: syd@dsinc.DSI.COM (Syd Weinstein) Newsgroups: comp.mail.elm,comp.sources.bugs Subject: elm 2.2 Patch #1 Summary: This is an official patch for elm 2.2 system. Please apply it. Keywords: elm patch Message-ID: <110@dsinc.DSI.COM> Date: 19 Apr 89 16:06:31 GMT Followup-To: comp.mail.elm Organization: Datacomp Systems, Inc., Huntingdon Valley, PA Lines: 585 Xref: ecf comp.mail.elm:1074 comp.sources.bugs:1326 Priority: LOW-MEDIUM The alias seperator was changed to an equal sign from the colon character. This change, however, wasn't made in the utils/mailrc.awk script. The man page for answer(1l) still refered to '$home/.alias_hash' and '...alias_data'. fastmail had a printf statement which was not controlled by the debug flag. The sympton was that arepdaemon kept echoing messages to the console. removed use of the 'hp' register which is defined by the [nt]roff package as a predefined general register, the current horizontal place on the input line. Fixes the Elm-supplied gethostname() for the Xenix environment when the system has been told to use the uname() call. The Configure script correctly sets the defines, but the code wasn't using it correctly. Fixed scanning for calendar entries with no mail. Another attempt at the stop code, so many systems handle this differently. Some cursor strings on some terminals were longer than SHORT allowed, lengthen SHORT. Fix: From rn, say "| patch -p -N -d DIR", where DIR is your elm source directory. Outside of rn, say "cd DIR; patch -p -N <thisarticle". If you don't have the patch program, apply the following by hand, or get patch (version 2.0, latest patchlevel). After patching: make make install If patch indicates that patchlevel is the wrong version, you may need to apply one or more previous patches, or the patch may already have been applied. See the patchlevel.h file to find out what has or has not been applied. In any event, don't continue with the patch. If you are missing previous patches they can be obtained from me: Syd Weinstein syd@dsinc.UUCP The patches are available from the dsinc archive server Send the following message to archive-server@dsinc.UUCP for a list of available patches: Subject: patch list send index elm Index: hdrs/patchlevel.h Prereq: 0 *** ../elm2.2/hdrs/patchlevel.h Wed Mar 29 10:12:12 1989 --- hdrs/patchlevel.h Wed Apr 19 10:31:23 1989 *************** *** 1 **** ! #define PATCHLEVEL 0 --- 1 ---- ! #define PATCHLEVEL 1 Index: Configure Prereq: 2.37 *** ../elm2.2/Configure Wed Mar 29 09:19:59 1989 --- Configure Wed Apr 19 11:15:49 1989 *************** *** 8,14 **** # and edit it to reflect your system. Some packages may include samples # of config.h for certain machines, so you might look for one of those.) # ! # $Header: /files/home/users/syd/elm/RCS/Configure,v 2.37 89/03/29 09:19:46 syd Exp $ # # Yes, you may rip this off to use in other distribution packages. # (Note: this Configure script was generated automatically. Rather than --- 8,14 ---- # and edit it to reflect your system. Some packages may include samples # of config.h for certain machines, so you might look for one of those.) # ! # $Header: /files/home/users/syd/elm/RCS/Configure,v 2.38 89/04/19 11:15:30 syd Exp $ # # Yes, you may rip this off to use in other distribution packages. # (Note: this Configure script was generated automatically. Rather than *************** *** 1205,1211 **** $echo $n "$rp $c" . myread case "$ans" in ! y*) d_douname="$undef" d_gethname="$undef" d_host_comp="$define" $echo $n "Okay... $c" ;; --- 1205,1212 ---- $echo $n "$rp $c" . myread case "$ans" in ! y*) d_douname="$undef" ! d_gethname="$undef" d_host_comp="$define" $echo $n "Okay... $c" ;; Index: doc/answer.1 *** ../elm2.2/doc/answer.1 Sun Feb 26 16:37:52 1989 --- doc/answer.1 Wed Apr 19 10:34:00 1989 *************** *** 49,57 **** .br newalias(1L), checkalias(1L), mail(1), mailx(1), from(1L), printmail(1L) .SH FILES ! $home/.alias_hash individual alias hash table .br ! $home/.alias_data individual alias data table .br /tmp/snd.$$ edit buffer for outgoing mail .SH BUG REPORTS TO --- 49,57 ---- .br newalias(1L), checkalias(1L), mail(1), mailx(1), from(1L), printmail(1L) .SH FILES ! $home/.elm/aliases.hash individual alias hash table .br ! $home/.elm/aliases.data individual alias data table .br /tmp/snd.$$ edit buffer for outgoing mail .SH BUG REPORTS TO Index: doc/tmac.n Prereq: 2.5 *** ../elm2.2/doc/tmac.n Mon Mar 20 20:17:07 1989 --- doc/tmac.n Wed Apr 19 10:40:21 1989 *************** *** 1,4 **** ! \" @(#)$Id: tmac.n,v 2.5 89/03/20 20:17:04 syd Exp $ .\" The News macro package .\" .\" This is the macro package that is used to format news documents. It --- 1,4 ---- ! \" @(#)$Id: tmac.n,v 2.6 89/04/19 10:39:59 syd Exp $ .\" The News macro package .\" .\" This is the macro package that is used to format news documents. It *************** *** 371,377 **** .if !\\n(it .bt \" end the title and such .br \" force out previous line .b ! .ie \\n(hp .ps \\n(hp .el .ps \\n(ps .ie \\n(hv .vs \\n(hv .el .vs \\n(vs --- 371,377 ---- .if !\\n(it .bt \" end the title and such .br \" force out previous line .b ! .ie \\n(hP .ps \\n(hP .el .ps \\n(ps .ie \\n(hv .vs \\n(hv .el .vs \\n(vs *************** *** 402,408 **** .if !\\n(it .bt \" end the title and such .br \" force out previous line .b ! .ie \\n(hp .ps \\n(hp .el .ps \\n(ps .ie \\n(hv .vs \\n(hv .el .vs \\n(vs --- 402,408 ---- .if !\\n(it .bt \" end the title and such .br \" force out previous line .b ! .ie \\n(hP .ps \\n(hP .el .ps \\n(ps .ie \\n(hv .vs \\n(hv .el .vs \\n(vs Index: hdrs/defs.h Prereq: 2.16 *** ../elm2.2/hdrs/defs.h Thu Mar 30 10:34:27 1989 --- hdrs/defs.h Wed Apr 19 11:02:06 1989 *************** *** 1,8 **** ! /* $Id: defs.h,v 2.16 89/03/25 21:45:23 syd Exp $ */ /******************************************************************************* ! * The Elm Mail System - $Revision: 2.16 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! /* $Id: defs.h,v 2.17 89/04/19 11:01:53 syd Exp $ */ /******************************************************************************* ! * The Elm Mail System - $Revision: 2.17 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: defs.h,v $ + * Revision 2.17 89/04/19 11:01:53 syd + * Some cursor strings were longer than SHORT allowed, make SHORT longer + * * Revision 2.16 89/03/25 21:45:23 syd * Initial 2.2 Release checkin * *************** *** 35,41 **** #define KLICK 25 #define SLEN 256 /* long for ensuring no overwrites... */ ! #define SHORT 5 /* super short strings! */ #define NLEN 48 /* name length for aliases */ #define WLEN 20 #define STRING 128 /* reasonable string length for most.. */ --- 38,44 ---- #define KLICK 25 #define SLEN 256 /* long for ensuring no overwrites... */ ! #define SHORT 10 /* super short strings! */ #define NLEN 48 /* name length for aliases */ #define WLEN 20 #define STRING 128 /* reasonable string length for most.. */ Index: src/elm.c Prereq: 2.33 *** ../elm2.2/src/elm.c Thu Mar 30 10:35:40 1989 --- src/elm.c Wed Apr 19 10:49:29 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: elm.c,v 2.33 89/03/25 21:46:10 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.33 $ $State: Exp $ * * This file and all associated files and documentation: * Copyright (c) 1986, 1987 Dave Taylor --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: elm.c,v 2.34 89/04/19 10:49:18 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.34 $ $State: Exp $ * * This file and all associated files and documentation: * Copyright (c) 1986, 1987 Dave Taylor *************** *** 15,20 **** --- 15,23 ---- * ******************************************************************************* * $Log: elm.c,v $ + * Revision 2.34 89/04/19 10:49:18 syd + * Fix scanning for calendar entries with no mail + * * Revision 2.33 89/03/25 21:46:10 syd * Initial 2.2 Release checkin * *************** *** 228,236 **** case '<' : /* scan current message for calendar information */ #ifdef ENABLE_CALENDAR ! PutLine0(LINES-3, strlen("Command: "), "Scan message for calendar entries..."); ! scan_calendar(); #else error("Sorry. Calendar function disabled."); fflush(stdin); --- 231,245 ---- case '<' : /* scan current message for calendar information */ #ifdef ENABLE_CALENDAR ! if (message_count < 1) { ! error("No mail to scan!"); ! fflush(stdin); ! } ! else { ! PutLine0(LINES-3, strlen("Command: "), "Scan message for calendar entries..."); ! scan_calendar(); ! } #else error("Sorry. Calendar function disabled."); fflush(stdin); Index: src/opt_utils.c Prereq: 2.16 *** ../elm2.2/src/opt_utils.c Thu Mar 30 10:36:43 1989 --- src/opt_utils.c Wed Apr 19 10:42:55 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: opt_utils.c,v 2.16 89/03/25 21:46:52 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.16 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: opt_utils.c,v 2.17 89/04/19 10:42:42 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.17 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: opt_utils.c,v $ + * Revision 2.17 89/04/19 10:42:42 syd + * Make code use proper defines for Xenix and Uname + * * Revision 2.16 89/03/25 21:46:52 syd * Initial 2.2 Release checkin * *************** *** 48,54 **** { /** Return the name of the current host machine. **/ ! #ifdef XENIX char buf[32]; FILE *fp; char *p; --- 51,57 ---- { /** Return the name of the current host machine. **/ ! #if defined(XENIX) & !defined(DOUNAME) char buf[32]; FILE *fp; char *p; Index: src/syscall.c Prereq: 2.14 *** ../elm2.2/src/syscall.c Thu Mar 30 10:37:47 1989 --- src/syscall.c Wed Apr 19 10:56:23 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: syscall.c,v 2.14 89/03/25 21:47:31 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.14 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: syscall.c,v 2.15 89/04/19 10:56:15 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.15 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: syscall.c,v $ + * Revision 2.15 89/04/19 10:56:15 syd + * Better attempt at stop signals + * * Revision 2.14 89/03/25 21:47:31 syd * Initial 2.2 Release checkin * *************** *** 98,113 **** #ifdef VOIDSIG register void (*istat)(), (*qstat)(); # ifdef SIGTSTP - # ifndef BSD register void (*oldstop)(), (*oldstart)(); - # endif # endif #else register int (*istat)(), (*qstat)(); # ifdef SIGTSTP - # ifndef BSD register int (*oldstop)(), (*oldstart)(); - # endif # endif #endif --- 101,112 ---- *************** *** 124,133 **** (void)signal(SIGHUP, SIG_DFL); (void)signal(SIGINT, SIG_DFL); #ifdef SIGTSTP - # ifndef BSD (void)signal(SIGTSTP, SIG_DFL); (void)signal(SIGCONT, SIG_DFL); - # endif #endif } else { /* program to exec should ignore interrupt, accidental hangup, and stop signals */ --- 123,130 ---- *************** *** 134,143 **** (void)signal(SIGHUP, SIG_IGN); (void)signal(SIGINT, SIG_IGN); #ifdef SIGTSTP - # ifndef BSD (void)signal(SIGTSTP, SIG_IGN); (void)signal(SIGCONT, SIG_IGN); - # endif #endif } --- 131,138 ---- *************** *** 152,161 **** istat = signal(SIGINT, SIG_IGN); qstat = signal(SIGQUIT, SIG_IGN); #ifdef SIGTSTP ! # ifndef BSD ! oldstop = signal(SIGTSTP, SIG_IGN); ! oldstart = signal(SIGCONT, SIG_IGN); ! # endif #endif while ((w = wait(&status)) != pid && w != -1) --- 147,154 ---- istat = signal(SIGINT, SIG_IGN); qstat = signal(SIGQUIT, SIG_IGN); #ifdef SIGTSTP ! oldstop = signal(SIGTSTP, SIG_DFL); ! oldstart = signal(SIGCONT, SIG_DFL); #endif while ((w = wait(&status)) != pid && w != -1) *************** *** 170,179 **** (void)signal(SIGINT, istat); (void)signal(SIGQUIT, qstat); #ifdef SIGTSTP - # ifndef BSD (void)signal(SIGTSTP, oldstop); (void)signal(SIGCONT, oldstart); - # endif #endif return(stat); --- 163,170 ---- Index: utils/fastmail.c Prereq: 2.5 *** ../elm2.2/utils/fastmail.c Thu Mar 30 10:38:09 1989 --- utils/fastmail.c Wed Apr 19 10:38:25 1989 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: fastmail.c,v 2.5 89/03/25 21:47:44 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.5 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: fastmail.c,v 2.6 89/04/19 10:38:11 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 2.6 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989 USENET Community Trust *************** *** 14,19 **** --- 14,22 ---- * ******************************************************************************* * $Log: fastmail.c,v $ + * Revision 2.6 89/04/19 10:38:11 syd + * Make fastmail silent unless debugging turned on + * * Revision 2.5 89/03/25 21:47:44 syd * Initial 2.2 Release checkin * *************** *** 213,222 **** sendmail_available = (access(sendmail, EXECUTE_ACCESS) != -1); ! printf("Mailing to %s%s%s%s%s [via %s]\n", to_list, ! (strlen(cc_list) > 0 ? " ":""), cc_list, ! (strlen(bcc_list) > 0 ? " ":""), bcc_list, ! sendmail_available? "sendmail" : "rmail"); sprintf(command_buffer, "cat %s %s | %s %s %s %s", tempfilename, filename, --- 216,226 ---- sendmail_available = (access(sendmail, EXECUTE_ACCESS) != -1); ! if (debug) ! printf("Mailing to %s%s%s%s%s [via %s]\n", to_list, ! (strlen(cc_list) > 0 ? " ":""), cc_list, ! (strlen(bcc_list) > 0 ? " ":""), bcc_list, ! sendmail_available? "sendmail" : "rmail"); sprintf(command_buffer, "cat %s %s | %s %s %s %s", tempfilename, filename, Index: utils/mailrc.awk Prereq: 2.3 *** ../elm2.2/utils/mailrc.awk Thu Mar 30 10:38:16 1989 --- utils/mailrc.awk Wed Apr 19 10:31:13 1989 *************** *** 1,5 **** # ! # @(#)$Id: mailrc.awk,v 2.3 89/03/25 21:47:51 syd Exp $ # Copyright (c) 1986, 1987 Dave Taylor # Copyright (c) 1988, 1989 USENET Community Trust # Bug reports, patches, comments, suggestions should be sent to: --- 1,5 ---- # ! # @(#)$Id: mailrc.awk,v 2.4 89/04/19 10:31:03 syd Exp $ # Copyright (c) 1986, 1987 Dave Taylor # Copyright (c) 1988, 1989 USENET Community Trust # Bug reports, patches, comments, suggestions should be sent to: *************** *** 8,13 **** --- 8,16 ---- # dsinc!elm # # $Log: mailrc.awk,v $ + # Revision 2.4 89/04/19 10:31:03 syd + # Change alias delimiter to ='s + # # Revision 2.3 89/03/25 21:47:51 syd # Initial 2.2 Release checkin # *************** *** 43,49 **** $1 ~ /[Aa]lias|[Gg]roup/ { if ( NF == 3) ! print $2 " : user alias : " $3; else { group = "" for (i = 3; i <= NF; i++) { --- 46,52 ---- $1 ~ /[Aa]lias|[Gg]roup/ { if ( NF == 3) ! print $2 " = user alias = " $3; else { group = "" for (i = 3; i <= NF; i++) { *************** *** 59,64 **** else group = $i; } ! print $2 " : group alias : " group; } } --- 62,67 ---- else group = $i; } ! print $2 " = group alias = " group; } } -- ===================================================================== Sydney S. Weinstein, CDP, CCP Elm Coordinator Datacomp Systems, Inc. Voice: (215) 947-9900 syd@DSI.COM or {bpa,vu-vlsi}!dsinc!syd FAX: (215) 938-0235 ---------------------------- End of Patch 01 -------------------------- > > >-- >Norman Soley - The Communications Guy - Ontario Ministry of the Environment >Until the next maps go out: moegate!soley@ontenv.UUCP >I'd like to try golf but I just can't bring myself to buy a pair of plaid pants Boon