Subject: v24i029: Elm mail system, release 2.3, patches, Part05/11 Newsgroups: comp.sources.unix Approved: rsalz@uunet.UU.NET X-Checksum-Snefru: a7d092d6 9012df97 528fb83f 084cf72d Submitted-by: Syd Weinstein Posting-number: Volume 24, Issue 29 Archive-name: elm2.3patches/part05 Subject: elm 2.3 Patch #5 Summary: This is an official patch for elm 2.3 system. Please apply it. Priority: LOW Be sure that output characters are not negative integers. From: tct!chip@uunet.UU.NET (Chip Salzenberg) patch fixes some minor typing mistakes in error messages From: hz247bi@duc220.uni-duisburg.de (Bieniek) Fix cursor getting lost on some system calls by forcing an absolute move. From: Syd, reported by Douglas Lamb When Elm is compiled with the NO_XHEADER symbol defined, it failed to put a blank line between the message header and message body. From: mca@medicus.medicus.com (Mark Adams) Fix MMDF case, where MSG_SEPERATOR has newline, buffer check didnt, thus it didnt detect the MSG_SEPERATOR. From: jbwaters@bsu-cs.bsu.edu (J. Brian Waters) Make domain name checking case independent From: Syd, reported by Steven Baur 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 Smart mail keith@g4lzv.co.uk | 5b Northgate Rochester Kent UK > Ampanet [44.131.8.1] and [44.131.8.3] | +44 634 811594 Voice > Packet G4LZV @ GB7UWS -- G4LZV USENET BB --| +44 634 401210 Data v22,v22bis + You might have to experiment and try values from 7000 to 8800. Also on Microport SysV/AT Machines, the C compiler produces improper code for one of the arithmetic calls. To fix this problem it Index: Configure Prereq: 4.1.1.7 *** ../elm2.3/Configure Tue Jun 26 21:09:05 1990 --- Configure Thu Jul 12 23:24:58 1990 *************** *** 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.rel/RCS/Configure,v 4.1.1.7 90/06/26 20:57:24 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.rel/RCS/Configure,v 4.1.1.8 90/07/12 23:24:37 syd Exp $ # # Yes, you may rip this off to use in other distribution packages. # (Note: this Configure script was generated automatically. Rather than *************** *** 708,714 **** : make some quick guesses about what we are up against echo " " $echo $n "Hmm... $c" ! if $test -x "$uname"; then uname_os=`uname -s` uname_rel=`uname -r` uname_rel=`expr "$uname" : "\(...\).*"` --- 708,714 ---- : make some quick guesses about what we are up against echo " " $echo $n "Hmm... $c" ! if $test -f "$uname"; then uname_os=`uname -s` uname_rel=`uname -r` uname_rel=`expr "$uname" : "\(...\).*"` Index: filter/utils.c Prereq: 4.1 *** ../elm2.3/filter/utils.c Sat Apr 28 22:42:04 1990 --- filter/utils.c Thu Jul 12 20:23:21 1990 *************** *** 1,8 **** ! static char rcsid[] ="@(#)$Id: utils.c,v 4.1 90/04/28 22:42:03 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] ="@(#)$Id: utils.c,v 4.1.1.1 90/07/12 20:23:19 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: utils.c,v $ + * Revision 4.1.1.1 90/07/12 20:23:19 syd + * patch fixes some minor typing mistakes in error messages + * From: hz247bi@duc220.uni-duisburg.de (Bieniek) + * * Revision 4.1 90/04/28 22:42:03 syd * checkin of Elm 2.3 as of Release PL0 * *************** *** 54,60 **** if ((fd = fopen(filename, "a")) == NULL) { if (outfd != NULL) fprintf(outfd, "filter (%s): Couldn't open log file %s\n", ! filename); fd = stdout; } fprintf(fd, "%d\n", rule_choosen); --- 58,64 ---- if ((fd = fopen(filename, "a")) == NULL) { if (outfd != NULL) fprintf(outfd, "filter (%s): Couldn't open log file %s\n", ! username, filename); fd = stdout; } fprintf(fd, "%d\n", rule_choosen); *************** *** 68,74 **** else if ((fd = fopen(filename, "a")) == NULL) { if (outfd != NULL) fprintf(outfd, "filter (%s): Couldn't open log file %s\n", ! filename); fd = stdout; } --- 72,78 ---- else if ((fd = fopen(filename, "a")) == NULL) { if (outfd != NULL) fprintf(outfd, "filter (%s): Couldn't open log file %s\n", ! username, filename); fd = stdout; } Index: src/aliaslib.c Prereq: 4.1.1.2 *** ../elm2.3/src/aliaslib.c Tue Jun 5 22:02:36 1990 --- src/aliaslib.c Thu Jul 12 23:19:13 1990 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: aliaslib.c,v 4.1.1.2 90/06/05 21:31:34 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.2 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: aliaslib.c,v 4.1.1.3 90/07/12 23:18:17 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.3 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: aliaslib.c,v $ + * Revision 4.1.1.3 90/07/12 23:18:17 syd + * Make domain name checking case independent + * From: Syd, reported by Steven Baur + * * Revision 4.1.1.2 90/06/05 21:31:34 syd * Fix now spurious error message for alias recursive expansion * when alias lookup is on a string over 20 chars long. If that *************** *** 306,311 **** --- 310,333 ---- ++s2; } /*NOTREACHED*/ + } + + int + strincmp(s1,s2,n) + register char *s1, *s2; + register int n; + { + /* case insensitive comparison */ + register int d; + while (--n >= 0) { + d = ( isupper(*s1) ? tolower(*s1) : *s1 ) + - ( isupper(*s2) ? tolower(*s2) : *s2 ) ; + if ( d != 0 || *s1 == '\0' || *s2 == '\0' ) + return d; + ++s1; + ++s2; + } + return(0); } int Index: src/curses.c Prereq: 4.1.1.2 *** ../elm2.3/src/curses.c Tue Jun 26 21:09:08 1990 --- src/curses.c Thu Jul 12 20:18:06 1990 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: curses.c,v 4.1.1.2 90/06/26 20:09:09 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.2 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: curses.c,v 4.1.1.3 90/07/12 20:18:02 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.3 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: curses.c,v $ + * Revision 4.1.1.3 90/07/12 20:18:02 syd + * Be sure that output characters are not negative integers. + * From: tct!chip@uunet.UU.NET (Chip Salzenberg) + * * Revision 4.1.1.2 90/06/26 20:09:09 syd * Add 8 bit support via ascii_ctype * From: Robert Claeson *************** *** 648,653 **** --- 652,658 ---- static int wrappedlastchar = 0; int justwrapped, nt; + ch &= 0xFF; justwrapped = 0; /* if return, just go to left column. */ Index: src/domains.c Prereq: 4.1 *** ../elm2.3/src/domains.c Sat Apr 28 22:42:45 1990 --- src/domains.c Thu Jul 12 23:19:16 1990 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: domains.c,v 4.1 90/04/28 22:42:44 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: domains.c,v 4.1.1.1 90/07/12 23:19:14 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: domains.c,v $ + * Revision 4.1.1.1 90/07/12 23:19:14 syd + * Make domain name checking case independent + * From: Syd, reported by Steven Baur + * * Revision 4.1 90/04/28 22:42:44 syd * checkin of Elm 2.3 as of Release PL0 * *************** *** 184,190 **** while (fgets(buffer, SLEN, domainfd) != NULL) { if (buffer[0] == '#') /* skip comments */ continue; ! if (strncmp(buffer, mydomain, strlen(mydomain)) == 0) { /* match? */ matched++; /* Gotcha! Remember this momentous event! */ break; } --- 188,194 ---- while (fgets(buffer, SLEN, domainfd) != NULL) { if (buffer[0] == '#') /* skip comments */ continue; ! if (strincmp(buffer, mydomain, strlen(mydomain)) == 0) { /* match? */ matched++; /* Gotcha! Remember this momentous event! */ break; } Index: src/edit.c Prereq: 4.1 *** ../elm2.3/src/edit.c Sat Apr 28 22:42:47 1990 --- src/edit.c Thu Jul 12 22:43:08 1990 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: edit.c,v 4.1 90/04/28 22:42:46 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: edit.c,v 4.1.1.1 90/07/12 22:43:05 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,25 ---- * ******************************************************************************* * $Log: edit.c,v $ + * Revision 4.1.1.1 90/07/12 22:43:05 syd + * Make it aware of the fact that we loose the cursor position on + * some system calls, so set it far enough off an absolute move will + * be done on the next cursor address, and then place it where we want it. + * From: Syd, reported by Douglas Lamb + * * Revision 4.1 90/04/28 22:42:46 syd * checkin of Elm 2.3 as of Release PL0 * *************** *** 78,83 **** --- 84,90 ---- } Raw(ON); + SetXYLocation(0, 40); /* a location not near the next request, so an absolute is used */ if (folder_type == SPOOL) { /* uh oh... now the toughie... */ Index: src/editmsg.c Prereq: 4.1.1.2 *** ../elm2.3/src/editmsg.c Fri Jun 22 00:00:01 1990 --- src/editmsg.c Thu Jul 12 22:43:12 1990 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: editmsg.c,v 4.1.1.2 90/06/21 21:14:09 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.2 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: editmsg.c,v 4.1.1.3 90/07/12 22:43:08 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.3 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,25 ---- * ******************************************************************************* * $Log: editmsg.c,v $ + * Revision 4.1.1.3 90/07/12 22:43:08 syd + * Make it aware of the fact that we loose the cursor position on + * some system calls, so set it far enough off an absolute move will + * be done on the next cursor address, and then place it where we want it. + * From: Syd, reported by Douglas Lamb + * * Revision 4.1.1.2 90/06/21 21:14:09 syd * Force Carriage return on return from editor, as column is lost * From: Steve Cambell *************** *** 99,105 **** if (old_raw == ON) Raw(ON); ! CarriageReturn(); /* don't know where we are, force col 0 */ if (cursor_control) transmit_functions(ON); /* function keys are local */ --- 105,112 ---- if (old_raw == ON) Raw(ON); ! SetXYLocation(0, 40); /* a location not near the next request, so an absolute is used */ ! MoveCursor(LINES, 0); /* dont know where we are, force last row, col 0 */ if (cursor_control) transmit_functions(ON); /* function keys are local */ *************** *** 283,288 **** --- 290,297 ---- sprintf(buffer, "~r %s%s.%d", temp_dir, temp_edit, getpid()); read_in_file(edit_fd, (char *) buffer + 3, 0); (void) unlink((char *) buffer+3); + SetXYLocation(0, 40); /* a location not near the next request, so an absolute is used */ + MoveCursor(LINES, 0); /* and go to a known location, last row col 0 */ } goto more_input; *************** *** 295,300 **** --- 304,311 ---- (void) system_call((char *) buffer+2, USER_SHELL, TRUE, TRUE); if (old_raw == ON) Raw(ON); + SetXYLocation(0, 40); /* a location not near the next request, so an absolute is used */ + MoveCursor(LINES, 0); /* and go to a known location, last row col 0 */ Write_to_screen(simple_continue, 0); goto more_input; Index: src/init.c Prereq: 4.1 *** ../elm2.3/src/init.c Sat Apr 28 22:43:17 1990 --- src/init.c Thu Jul 12 23:19:19 1990 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: init.c,v 4.1 90/04/28 22:43:15 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: init.c,v 4.1.1.1 90/07/12 23:19:17 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,23 ---- * ******************************************************************************* * $Log: init.c,v $ + * Revision 4.1.1.1 90/07/12 23:19:17 syd + * Make domain name checking case independent + * From: Syd, reported by Steven Baur + * * Revision 4.1 90/04/28 22:43:15 syd * checkin of Elm 2.3 as of Release PL0 * *************** *** 263,269 **** hostlen = strlen(hostname); domlen = strlen(hostdomain); if (hostlen >= domlen) { ! if (strcmp(&hostname[hostlen - domlen], hostdomain) == 0) strcpy(hostfullname, hostname); else { strcpy(hostfullname, hostname); --- 267,273 ---- hostlen = strlen(hostname); domlen = strlen(hostdomain); if (hostlen >= domlen) { ! if (stricmp(&hostname[hostlen - domlen], hostdomain) == 0) strcpy(hostfullname, hostname); else { strcpy(hostfullname, hostname); *************** *** 270,276 **** strcat(hostfullname, hostdomain); } } else { ! if (strcmp(hostname, hostdomain + 1) == 0) strcpy(hostfullname, hostname); else { strcpy(hostfullname, hostname); --- 274,280 ---- strcat(hostfullname, hostdomain); } } else { ! if (stricmp(hostname, hostdomain + 1) == 0) strcpy(hostfullname, hostname); else { strcpy(hostfullname, hostname); Index: src/mailmsg2.c Prereq: 4.1.1.4 *** ../elm2.3/src/mailmsg2.c Tue Jun 26 21:09:09 1990 --- src/mailmsg2.c Thu Jul 12 23:19:26 1990 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 4.1.1.4 90/06/26 16:18:24 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.4 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 4.1.1.6 90/07/12 23:19:20 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.6 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,28 ---- * ******************************************************************************* * $Log: mailmsg2.c,v $ + * Revision 4.1.1.6 90/07/12 23:19:20 syd + * Make domain name checking case independent + * From: Syd, reported by Steven Baur + * + * Revision 4.1.1.5 90/07/12 22:52:42 syd + * When Elm is compiled with the NO_XHEADER symbol defined, it failed + * to put a blank line between the message header and message body. + * From: mca@medicus.medicus.com (Mark Adams) + * * Revision 4.1.1.4 90/06/26 16:18:24 syd * Make it encode lines that are [...] if not one of the reserved lines. * It was messing up decoding *************** *** 780,788 **** fprintf(filedesc, "Content-Type: mailform\n"); #ifndef NO_XHEADER ! fprintf(filedesc, "X-Mailer: ELM [version %s]\n\n", version_buff); #endif /* !NO_XHEADER */ return((FILE *) filedesc); } --- 789,799 ---- fprintf(filedesc, "Content-Type: mailform\n"); #ifndef NO_XHEADER ! fprintf(filedesc, "X-Mailer: ELM [version %s]\n", version_buff); #endif /* !NO_XHEADER */ + putc('\n', filedesc); + return((FILE *) filedesc); } *************** *** 920,926 **** sig = local_signature; for (ptr = index(expanded_to,'@'); ptr; /* check To: list */ ptr = index(ptr+1,'@')) { ! if (strncmp(ptr,sitename,len) != 0 || (*(ptr+len) != ',' && *(ptr+len) != 0 && *(ptr+len) != ' ')) { sig = remote_signature; --- 931,937 ---- sig = local_signature; for (ptr = index(expanded_to,'@'); ptr; /* check To: list */ ptr = index(ptr+1,'@')) { ! if (strincmp(ptr,sitename,len) != 0 || (*(ptr+len) != ',' && *(ptr+len) != 0 && *(ptr+len) != ' ')) { sig = remote_signature; *************** *** 930,936 **** if (sig == local_signature) /* still local? */ for (ptr = index(expanded_cc,'@'); ptr; /* check Cc: */ ptr = index(ptr+1,'@')) { ! if (strncmp(ptr,sitename,len) != 0 || (*(ptr+len) != ',' && *(ptr+len) != 0 && *(ptr+len) != ' ')) { sig = remote_signature; --- 941,947 ---- if (sig == local_signature) /* still local? */ for (ptr = index(expanded_cc,'@'); ptr; /* check Cc: */ ptr = index(ptr+1,'@')) { ! if (strincmp(ptr,sitename,len) != 0 || (*(ptr+len) != ',' && *(ptr+len) != 0 && *(ptr+len) != ' ')) { sig = remote_signature; Index: src/showmsg.c Prereq: 4.1 *** ../elm2.3/src/showmsg.c Sat Apr 28 22:44:07 1990 --- src/showmsg.c Thu Jul 12 23:04:27 1990 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: showmsg.c,v 4.1 90/04/28 22:44:06 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: showmsg.c,v 4.1.1.1 90/07/12 23:04:26 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,24 ---- * ******************************************************************************* * $Log: showmsg.c,v $ + * Revision 4.1.1.1 90/07/12 23:04:26 syd + * Fix MMDF case, where MSG_SEPERATOR has newline, buffer check + * didnt, thus it didnt detect the MSG_SEPERATOR. + * From: jbwaters@bsu-cs.bsu.edu (J. Brian Waters) + * * Revision 4.1 90/04/28 22:44:06 syd * checkin of Elm 2.3 as of Release PL0 * *************** *** 458,473 **** a command other than continuing with the display (only possible with the builtin pager), otherwise 0. **/ #ifdef MMDF if (strcmp(buffer, MSG_SEPERATOR) == 0) ! strcpy(buffer," "); #endif /* MMDF */ if (builtin) { - strcat(buffer, "\n"); return(display_line(buffer)); } errno = 0; ! fprintf(pipe_wr_fp, "%s\n", buffer); if (errno != 0) dprint(1, (debugfile, "\terror %s hit!\n", error_name(errno))); return(0); --- 463,478 ---- a command other than continuing with the display (only possible with the builtin pager), otherwise 0. **/ + strcat(buffer, "\n"); #ifdef MMDF if (strcmp(buffer, MSG_SEPERATOR) == 0) ! return(0); /* no reason to show the ending terminator */ #endif /* MMDF */ if (builtin) { return(display_line(buffer)); } errno = 0; ! fprintf(pipe_wr_fp, "%s", buffer); if (errno != 0) dprint(1, (debugfile, "\terror %s hit!\n", error_name(errno))); return(0); Index: src/syscall.c Prereq: 4.1.1.3 *** ../elm2.3/src/syscall.c Fri Jun 22 00:00:05 1990 --- src/syscall.c Thu Jul 12 22:43:05 1990 *************** *** 1,8 **** ! static char rcsid[] = "@(#)$Id: syscall.c,v 4.1.1.3 90/06/21 22:48:17 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.3 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust --- 1,8 ---- ! static char rcsid[] = "@(#)$Id: syscall.c,v 4.1.1.4 90/07/12 22:41:55 syd Exp $"; /******************************************************************************* ! * The Elm Mail System - $Revision: 4.1.1.4 $ $State: Exp $ * * Copyright (c) 1986, 1987 Dave Taylor * Copyright (c) 1988, 1989, 1990 USENET Community Trust *************** *** 14,19 **** --- 14,25 ---- * ******************************************************************************* * $Log: syscall.c,v $ + * Revision 4.1.1.4 90/07/12 22:41:55 syd + * Make it aware of the fact that we loose the cursor position on + * some system calls, so set it far enough off an absolute move will + * be done on the next cursor address, and then place it where we want it. + * From: Syd, reported by Douglas Lamb + * * Revision 4.1.1.3 90/06/21 22:48:17 syd * patch to fix up the Log headers. * From: pdc%lunch.wpd@sgi.com (Paul Close) *************** *** 93,98 **** --- 99,105 ---- ret = system_call(command, USER_SHELL, TRUE, TRUE); umask(077); /* now put it back to private for mail files */ + SetXYLocation(0, 40); /* a location not near the next request, so an absolute is used */ PutLine0(LINES, 0, "\n\nPress any key to return to ELM: "); Raw(ON); (void) getchar(); *************** *** 293,298 **** --- 300,306 ---- ret = system_call(buffer, USER_SHELL, TRUE, TRUE); + SetXYLocation(0, 40); /* a location not near the next request, so an absolute is used */ PutLine0(LINES, 0, "\n\nPress any key to return to ELM."); if (old_raw == ON) Raw(ON); exit 0 # Just in case...