Subject: elm 2.4 Patch #24c
Date: Fri Sep 23 21:43:13 EDT 1994
Summary: This is an official patch for elm 2.4 system. Please apply it.
Priority: LOW
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:
rm -f utils/arepdaem* utils/autoreply* hdrs/s_autoreply.h
rm -f nls/C/C/C/s_arepdaem.m nls/C/C/C/s_autoreply.m
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 our:
archive server.
Syd Weinstein
[email protected]
The patches are available from the dsinc archive server
Send the following message to
[email protected] for
a list of available patches:
Subject: patch list
send index elm
Index: src/help.c
Prereq: 5.4
*** ../elm2.4/src/help.c Sun Sep 26 22:14:59 1993
--- src/help.c Mon May 30 12:42:49 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: help.c,v 5.4 1993/08/03 19:28:39 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.4 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: help.c,v 5.6 1994/05/30 16:42:48 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.6 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,27 ----
*
*******************************************************************************
* $Log: help.c,v $
+ * Revision 5.6 1994/05/30 16:42:48 syd
+ * Just a minor fix to an impossible character comparison.
+ * From: Jukka Ukkonen <
[email protected]>
+ *
+ * Revision 5.5 1994/03/11 21:25:24 syd
+ * Fix Elm looping if an EOF is received.
+ * From: Gregory Neil Shapiro <
[email protected]>
+ *
* Revision 5.4 1993/08/03 19:28:39 syd
* Elm tries to replace the system toupper() and tolower() on current
* BSD systems, which is unnecessary. Even worse, the replacements
***************
*** 58,64 ****
if pager_help is FALSE (index screen)
**/
! char ch; /* character buffer for input */
char *s; /* string pointer... */
int prompt_line, info_line;
static char *help_message = NULL;
--- 66,72 ----
if pager_help is FALSE (index screen)
**/
! int ch; /* character buffer for input */
char *s; /* string pointer... */
int prompt_line, info_line;
static char *help_message = NULL;
***************
*** 331,336 ****
--- 339,347 ----
s = catgets(elm_msg_cat, ElmSet, ElmHelpExitQuickly,
"Exit the mail system quickly.");
break;
+
+ case EOF: leave(0);
+ break;
default : if (isdigit(ch) && !pager_help)
s = catgets(elm_msg_cat, ElmSet, ElmHelpMakeMessageCurrent,
Index: src/in_utils.c
Prereq: 5.13
*** ../elm2.4/src/in_utils.c Sun Sep 26 22:15:00 1993
--- src/in_utils.c Thu Sep 1 15:42:41 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: in_utils.c,v 5.13 1993/08/03 19:28:39 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.13 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: in_utils.c,v 5.16 1994/09/01 19:42:39 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.16 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,33 ----
*
*******************************************************************************
* $Log: in_utils.c,v $
+ * Revision 5.16 1994/09/01 19:42:39 syd
+ * Moved #defines for SETJMP & LONGJMP from src/editmsg.c to hdrs/defs.h and
+ * used them instead of (set|long)jmp directly. This makes the usage consistent
+ * and Solaris 2.3 behaves correctly w.r.t stop/continue.
+ * From:
[email protected] (Jan Djarv)
+ *
+ * Revision 5.15 1994/08/30 18:16:05 syd
+ * Fix up Solaris and SVR4 signal handling for timeout
+ * From: Syd
+ *
+ * Revision 5.14 1994/03/11 21:25:24 syd
+ * Fix Elm looping if an EOF is received.
+ * From: Gregory Neil Shapiro <
[email protected]>
+ *
* Revision 5.13 1993/08/03 19:28:39 syd
* Elm tries to replace the system toupper() and tolower() on current
* BSD systems, which is unnecessary. Even worse, the replacements
***************
*** 140,149 ****
--- 154,167 ----
fflush(stdin);
ch = ReadCh();
+ if (ch == EOF)
+ leave(0);
ch = tolower(ch);
while (!( ch == *def_ans_yes || ch == *def_ans_no || ch == '\n' || ch == '\r')) {
ch = ReadCh();
+ if (ch == EOF)
+ leave(0);
ch = tolower(ch);
}
if(ch == '\n' || ch == '\r')
***************
*** 561,571 ****
GetPrompt()
{
/** This routine does a read/timeout for a single character.
! The way that this is determined is that the routine to
read a character is called, then the "errno" is checked
against EINTR (interrupted call). If they match, this
returns NO_OP_COMMAND otherwise it returns the normal
! command. On BSD systems, the EINTR will never be returned
so we instead longjmp from the signal handler.
**/
--- 579,589 ----
GetPrompt()
{
/** This routine does a read/timeout for a single character.
! The way that this was determined is that the routine to
read a character is called, then the "errno" is checked
against EINTR (interrupted call). If they match, this
returns NO_OP_COMMAND otherwise it returns the normal
! command. On many systems, the EINTR will never be returned
so we instead longjmp from the signal handler.
**/
***************
*** 573,580 ****
if (timeout > 0) {
alarm((unsigned) timeout);
! #ifdef BSD
! if (setjmp(GetPromptBuf)) {
InGetPrompt = 0;
ch = NO_OP_COMMAND;
alarm((unsigned) 0);
--- 591,597 ----
if (timeout > 0) {
alarm((unsigned) timeout);
! if (SETJMP(GetPromptBuf)) {
InGetPrompt = 0;
ch = NO_OP_COMMAND;
alarm((unsigned) 0);
***************
*** 587,608 ****
}
}
else {
ch = ReadCh();
if (errno == EINTR) ch = NO_OP_COMMAND;
}
- #else
- errno = 0; /* we actually have to do this. *sigh* */
- ch = ReadCh();
- if (errno == EINTR) ch = NO_OP_COMMAND;
- alarm((unsigned) 0);
- }
- else {
- errno = 0;
- ch = ReadCh();
- if (errno == EINTR) ch = NO_OP_COMMAND;
- }
- #endif
-
return(ch);
}
-
--- 604,612 ----
}
}
else {
+ errno = 0;
ch = ReadCh();
if (errno == EINTR) ch = NO_OP_COMMAND;
}
return(ch);
}
Index: src/init.c
Prereq: 5.19
*** ../elm2.4/src/init.c Sun Sep 26 22:15:00 1993
--- src/init.c Mon May 30 12:31:57 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: init.c,v 5.19 1993/09/27 01:51:38 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.19 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: init.c,v 5.20 1994/05/30 16:31:40 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.20 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: init.c,v $
+ * Revision 5.20 1994/05/30 16:31:40 syd
+ * make getpwuid dependent on ANSI_C not posix flag
+ * From: Syd
+ *
* Revision 5.19 1993/09/27 01:51:38 syd
* Add elm_chown to consolidate for Xenix not allowing -1
* From: Syd
***************
*** 159,169 ****
#ifndef ANSI_C /* items are in unistd.h which is included if __STDC__ */
char *getlogin();
unsigned short getgid(), getuid();
- #endif
-
- #ifndef _POSIX_SOURCE
struct passwd *getpwuid();
#endif
char *get_full_name();
SIGHAND_TYPE
--- 163,171 ----
#ifndef ANSI_C /* items are in unistd.h which is included if __STDC__ */
char *getlogin();
unsigned short getgid(), getuid();
struct passwd *getpwuid();
#endif
+
char *get_full_name();
SIGHAND_TYPE
Index: src/leavembox.c
Prereq: 5.20
*** ../elm2.4/src/leavembox.c Sun Sep 26 22:15:00 1993
--- src/leavembox.c Fri Jun 3 13:12:44 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: leavembox.c,v 5.20 1993/09/27 01:51:38 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.20 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: leavembox.c,v 5.24 1994/06/03 17:05:17 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.24 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,36 ----
*
*******************************************************************************
* $Log: leavembox.c,v $
+ * Revision 5.24 1994/06/03 17:05:17 syd
+ * try and prevent copy from calling elm_chown unless needed
+ * From: Syd
+ *
+ * Revision 5.23 1994/05/14 18:42:57 syd
+ * Here are some more of fixes to correctly call fflush() and unlock() in sequence.
+ * From: Jukka Ukkonen <
[email protected]>
+ *
+ * Revision 5.22 1994/05/14 17:31:56 syd
+ * try and use copying to remove SVR4 inability to chgrp file
+ * properly
+ *
+ * Revision 5.21 1994/03/12 15:20:01 syd
+ * The latest Linux shared library (4.5.8) "catches" a double fclose()
+ * by generating a SIGSEGV. :-/
+ * From:
[email protected] (Chip Salzenberg)
+ *
* Revision 5.20 1993/09/27 01:51:38 syd
* Add elm_chown to consolidate for Xenix not allowing -1
* From: Syd
***************
*** 205,211 ****
register int to_delete = 0, to_store = 0, to_keep = 0, i,
marked_deleted, marked_read, marked_unread,
last_sortby, ask_questions, asked_storage_q,
! num_chgd_status, need_to_copy, no_restore = FALSE;
char answer;
int err;
long bytes();
--- 222,228 ----
register int to_delete = 0, to_store = 0, to_keep = 0, i,
marked_deleted, marked_read, marked_unread,
last_sortby, ask_questions, asked_storage_q,
! num_chgd_status, need_to_copy;
char answer;
int err;
long bytes();
***************
*** 506,516 ****
if (folder_type == SPOOL)
lock(OUTGOING);
if (mailfile_size != bytes(cur_folder)) {
! unlock();
! error(catgets(elm_msg_cat, ElmSet, ElmLeaveNewMailArrived,
! "New mail has just arrived. Resynchronizing..."));
! return(-1);
}
/* Everything's GO - so ouput that user message and go to it. */
--- 523,535 ----
if (folder_type == SPOOL)
lock(OUTGOING);
+ fflush (mailfile);
+
if (mailfile_size != bytes(cur_folder)) {
! unlock();
! error(catgets(elm_msg_cat, ElmSet, ElmLeaveNewMailArrived,
! "New mail has just arrived. Resynchronizing..."));
! return(-1);
}
/* Everything's GO - so ouput that user message and go to it. */
***************
*** 530,542 ****
--- 549,567 ----
"Error: Permission to append to folder %s denied!! (%s)\n",
recvd_mail, "leavembox"));
dprint(1, (debugfile, "** %s **\n", error_description(err)));
+
+ fflush (mailfile);
unlock();
+
unblock_signals();
return(0);
}
if ((temp = fopen(recvd_mail,"a")) == NULL) {
err = errno;
+
+ fflush (mailfile);
unlock();
+
MoveCursor(LINES, 0);
Raw(OFF);
dprint(1, (debugfile, "Error: could not append to file %s\n",
***************
*** 572,584 ****
--- 597,615 ----
"Error: Permission to create temp file %s denied!! (%s)\n",
temp_keep_file, "leavembox"));
dprint(1, (debugfile, "** %s **\n", error_description(err)));
+
+ fflush (mailfile);
unlock();
+
unblock_signals();
return(0);
}
if ((temp = fopen(temp_keep_file,"w")) == NULL) {
err = errno;
+
+ fflush (mailfile);
unlock();
+
MoveCursor(LINES, 0);
Raw(OFF);
dprint(1, (debugfile, "Error: could not create file %s\n",
***************
*** 676,722 ****
*/
fflush(mailfile);
- if(to_keep) {
#ifdef SYSCALL_LOCKING
! need_to_copy = (folder_type == SPOOL ? TRUE : FALSE);
#else
! need_to_copy = FALSE;
#endif /* SYSCALL_LOCKING */
! if (buf.st_nlink > 1)
! need_to_copy = TRUE;
!
! if (buf.st_mode & 0x7000) { /* copy if special modes set */
! need_to_copy = TRUE; /* such as enforcement lock */
! no_restore = TRUE;
! }
#ifdef SYMLINK
#ifdef S_ISLNK
! if (S_ISLNK(lbuf.st_mode))
#else
! if ((lbuf.st_mode & S_IFMT) == S_IFLNK)
#endif
! {
! need_to_copy = TRUE;
! no_restore = TRUE;
! }
#endif
#ifdef _PC_CHOWN_RESTRICTED
! if (!need_to_copy) {
/*
* Chown may or may not be restricted to root in SVR4, if it is,
* then need to copy must be true, and no restore of permissions
* should be performed.
*/
! if (pathconf(cur_folder, _PC_CHOWN_RESTRICTED)) {
! need_to_copy = TRUE;
! no_restore = TRUE;
! }
! }
#endif /* _PC_CHOWN_RESTRICTED */
#ifdef SAVE_GROUP_MAILBOX_ID
if (folder_type == SPOOL)
setgid(mailgroupid);
--- 707,750 ----
*/
fflush(mailfile);
#ifdef SYSCALL_LOCKING
! need_to_copy = (folder_type == SPOOL ? TRUE : FALSE);
#else
! need_to_copy = FALSE;
#endif /* SYSCALL_LOCKING */
+ if (buf.st_nlink > 1)
+ need_to_copy = TRUE;
! if (buf.st_mode & 0x7000) { /* copy if special modes set */
! need_to_copy = TRUE; /* such as enforcement lock */
! }
#ifdef SYMLINK
#ifdef S_ISLNK
! if (S_ISLNK(lbuf.st_mode)) {
#else
! if ((lbuf.st_mode & S_IFMT) == S_IFLNK) {
#endif
! need_to_copy = TRUE;
! }
#endif
#ifdef _PC_CHOWN_RESTRICTED
! if (!need_to_copy) {
/*
* Chown may or may not be restricted to root in SVR4, if it is,
* then need to copy must be true, and no restore of permissions
* should be performed.
*/
! if (pathconf(cur_folder, _PC_CHOWN_RESTRICTED)) {
! need_to_copy = TRUE;
! }
! }
#endif /* _PC_CHOWN_RESTRICTED */
+
+ if(to_keep) {
+
#ifdef SAVE_GROUP_MAILBOX_ID
if (folder_type == SPOOL)
setgid(mailgroupid);
***************
*** 741,746 ****
--- 769,775 ----
if (folder_type == SPOOL)
setgid(groupid);
#endif
+ fflush (mailfile);
unlock();
fclose(mailfile);
emergency_exit();
***************
*** 750,756 ****
if(need_to_copy) {
! if (copy(temp_keep_file, cur_folder) != 0) {
/* copy to cur_folder failed - try to copy to special file */
err = errno;
--- 779,785 ----
if(need_to_copy) {
! if (copy(temp_keep_file, cur_folder, TRUE) != 0) {
/* copy to cur_folder failed - try to copy to special file */
err = errno;
***************
*** 762,768 ****
if (sleepmsg > 0)
sleep((sleepmsg + 1) / 2);
sprintf(cur_folder,"%s/%s", home, unedited_mail);
! if (copy(temp_keep_file, cur_folder) != 0) {
/* couldn't copy to special file either */
err = errno;
--- 791,797 ----
if (sleepmsg > 0)
sleep((sleepmsg + 1) / 2);
sprintf(cur_folder,"%s/%s", home, unedited_mail);
! if (copy(temp_keep_file, cur_folder, FALSE) != 0) {
/* couldn't copy to special file either */
err = errno;
***************
*** 778,783 ****
--- 807,813 ----
if (folder_type == SPOOL)
setgid(groupid);
#endif
+ fflush (mailfile);
unlock();
fclose(mailfile);
emergency_exit();
***************
*** 815,821 ****
* tracking down what it points to.
*/
! if (!no_restore) {
if(restore_file_stats(cur_folder) != 1) {
error1(catgets(elm_msg_cat, ElmSet, ElmLeaveProblemsRestoringPerms,
"Problems restoring permissions of folder %s!"), cur_folder);
--- 845,851 ----
* tracking down what it points to.
*/
! if (!need_to_copy) {
if(restore_file_stats(cur_folder) != 1) {
error1(catgets(elm_msg_cat, ElmSet, ElmLeaveProblemsRestoringPerms,
"Problems restoring permissions of folder %s!"), cur_folder);
***************
*** 851,860 ****
setgid(groupid);
#endif
!
mailfile_size = bytes(cur_folder);
unlock(); /* remove the lock on the file ASAP! */
fclose(mailfile);
unblock_signals();
return(1);
}
--- 881,891 ----
setgid(groupid);
#endif
! fflush (mailfile);
mailfile_size = bytes(cur_folder);
unlock(); /* remove the lock on the file ASAP! */
fclose(mailfile);
+ mailfile = NULL;
unblock_signals();
return(1);
}
Index: src/limit.c
Prereq: 5.3
*** ../elm2.4/src/limit.c Mon May 31 15:17:02 1993
--- src/limit.c Sun May 15 19:10:11 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: limit.c,v 5.3 1993/05/31 19:17:02 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.3 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: limit.c,v 5.4 1994/05/15 23:10:08 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.4 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,24 ----
*
*******************************************************************************
* $Log: limit.c,v $
+ * Revision 5.4 1994/05/15 23:10:08 syd
+ * Below are the changes required to compile/link elm 2.4 pl23 under
+ * QNX 4.2 with the Watcom 9.5 compiler (very picky).
+ * From: "Brian Campbell" <brianc@quantum>
+ *
* Revision 5.3 1993/05/31 19:17:02 syd
* While looking into the feasibility of adding `limit sender' as requested
* on Usenet, I noticed that the limit code was replicated for each of
***************
*** 85,91 ****
}
while(1) {
! PutLine1(LINES-2, 0, prompt);
CleartoEOLN();
criteria[0] = '\0';
--- 90,96 ----
}
while(1) {
! PutLine0(LINES-2, 0, prompt);
CleartoEOLN();
criteria[0] = '\0';
Index: src/lock.c
Prereq: 5.15
*** ../elm2.4/src/lock.c Mon May 31 15:16:24 1993
--- src/lock.c Sun May 15 19:02:12 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: lock.c,v 5.15 1993/05/31 19:16:24 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.15 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: lock.c,v 5.16 1994/05/15 23:02:12 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.16 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: lock.c,v $
+ * Revision 5.16 1994/05/15 23:02:12 syd
+ * Solaris 2.3 can return EACCES or EEXIST for lockfile already existing.
+ * From:
[email protected] (Chad Adams)
+ *
* Revision 5.15 1993/05/31 19:16:24 syd
* It looks like there was some earlier patch that re-introduced
* some lock problems from the past time of 2.4beta.
***************
*** 301,308 ****
if((create_fd=open(lockfile,O_WRONLY | O_CREAT | O_EXCL,0444)) != -1)
break;
else {
! if(errno != EEXIST) {
/* Creation of lock failed NOT because it already exists!!! */
MoveCursor(LINES, 0);
Raw(OFF);
--- 305,314 ----
if((create_fd=open(lockfile,O_WRONLY | O_CREAT | O_EXCL,0444)) != -1)
break;
else {
! if(errno != EEXIST && errno != EACCES) {
/* Creation of lock failed NOT because it already exists!!! */
+ /* If /var/mail nfs mounted on Solaris 2.3 at least you can */
+ /* get EACCES. Treat it like EEXIST. */
MoveCursor(LINES, 0);
Raw(OFF);
Index: src/mailmsg2.c
Prereq: 5.35
*** ../elm2.4/src/mailmsg2.c Sun Sep 26 22:15:01 1993
--- src/mailmsg2.c Mon May 30 13:24:48 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 5.35 1993/09/27 01:51:38 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.35 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 5.39 1994/05/30 17:24:38 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.39 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,43 ----
*
*******************************************************************************
* $Log: mailmsg2.c,v $
+ * Revision 5.39 1994/05/30 17:24:38 syd
+ * use Elm routine instead of strcasecmp for portability
+ * From: Syd
+ *
+ * Revision 5.38 1994/05/30 16:43:14 syd
+ * I found a few months old patch I have not sent you before (I guess).
+ * It avoids unknowingly confusing some too rigidly and simple mindedly
+ * coded mailers with weird settings like
+ *
+ * charset=us-ascii and textencoding=8bit
+ *
+ * This patch will force 7bit encoding with charset=us-ascii.
+ * E.g. older versions of pine will dump core on 8bit & us-ascii.
+ * From: Jukka Ukkonen <
[email protected]>
+ *
+ * Revision 5.37 1994/05/15 23:10:08 syd
+ * Below are the changes required to compile/link elm 2.4 pl23 under
+ * QNX 4.2 with the Watcom 9.5 compiler (very picky).
+ * From: "Brian Campbell" <brianc@quantum>
+ *
+ * Revision 5.36 1994/03/11 21:25:24 syd
+ * Fix Elm looping if an EOF is received.
+ * From: Gregory Neil Shapiro <
[email protected]>
+ *
* Revision 5.35 1993/09/27 01:51:38 syd
* Add elm_chown to consolidate for Xenix not allowing -1
* From: Syd
***************
*** 370,376 ****
dprint(1, (debugfile,
"Can't open included file %s. Failed with error %s (mail)\n",
included_file, error_description(errno)));
! error2(catgets(elm_msg_cat, ElmSet, ElmCouldNotOpenFile,
"Could not open file %s."), included_file);
return(need_redraw);
}
--- 394,400 ----
dprint(1, (debugfile,
"Can't open included file %s. Failed with error %s (mail)\n",
included_file, error_description(errno)));
! error1(catgets(elm_msg_cat, ElmSet, ElmCouldNotOpenFile,
"Could not open file %s."), included_file);
return(need_redraw);
}
***************
*** 845,850 ****
--- 869,876 ----
Raw(ON); /* double check... testing only... */
MoveCursor(x_coord, y_coord);
cmd = ReadCh();
+ if (cmd == EOF)
+ leave(0);
cmd = tolower(cmd);
did_prompt = TRUE;
}
***************
*** 1170,1177 ****
else {
#ifdef MIME
fprintf(filedesc, "%s\n", MIME_HEADER);
! fprintf(filedesc, "%s text/plain; charset=%s\n",MIME_CONTENTTYPE, charset);
! fprintf(filedesc, "Content-Transfer-Encoding: %s\n", text_encoding);
#else
fprintf(filedesc, "Content-Type: text\n");
#endif /* MIME */
--- 1196,1207 ----
else {
#ifdef MIME
fprintf(filedesc, "%s\n", MIME_HEADER);
! fprintf(filedesc, "%s text/plain; charset=%s\n",
! MIME_CONTENTTYPE, charset);
! fprintf(filedesc, "Content-Transfer-Encoding: %s\n",
! (!strincmp ("us-ascii", charset)
! && strincmp ("7bit", text_encoding))
! ? "7bit" : text_encoding);
#else
fprintf(filedesc, "Content-Type: text\n");
#endif /* MIME */
***************
*** 1269,1275 ****
}
fprintf(dest, "%s text/plain; charset=%s\n",
MIME_CONTENTTYPE, charset);
! fprintf(dest, "Content-Transfer-Encoding: %s\n", text_encoding);
fprintf(dest, "Content-Length: ");
C_L_Position[1] = ftell(dest);
fprintf(dest, " \n"); /* Print Placeholders */
--- 1299,1308 ----
}
fprintf(dest, "%s text/plain; charset=%s\n",
MIME_CONTENTTYPE, charset);
! fprintf(dest, "Content-Transfer-Encoding: %s\n",
! (!strincmp ("us-ascii", charset)
! && strincmp ("7bit", text_encoding))
! ? "7bit" : text_encoding);
fprintf(dest, "Content-Length: ");
C_L_Position[1] = ftell(dest);
fprintf(dest, " \n"); /* Print Placeholders */
Index: src/newmbox.c
Prereq: 5.34
*** ../elm2.4/src/newmbox.c Sun Sep 26 22:15:02 1993
--- src/newmbox.c Sat May 14 14:42:59 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: newmbox.c,v 5.34 1993/09/27 01:51:38 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.34 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: newmbox.c,v 5.36 1994/05/14 18:42:57 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.36 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,27 ----
*
*******************************************************************************
* $Log: newmbox.c,v $
+ * Revision 5.36 1994/05/14 18:42:57 syd
+ * Here are some more of fixes to correctly call fflush() and unlock() in sequence.
+ * From: Jukka Ukkonen <
[email protected]>
+ *
+ * Revision 5.35 1994/03/11 21:01:35 syd
+ * detect whether atol() is a macro
+ * From: Mitch DSouza <
[email protected]>
+ *
* Revision 5.34 1993/09/27 01:51:38 syd
* Add elm_chown to consolidate for Xenix not allowing -1
* From: Syd
***************
*** 205,211 ****
char *error_description();
long bytes();
! #ifndef ANSI_C /* avoid problems with systems that declare atol as a macro */
extern void rewind();
extern long atol();
#endif
--- 213,219 ----
char *error_description();
long bytes();
! #if !defined(ANSI_C) && !defined(atol) /* avoid problems with systems that declare atol as a macro */
extern void rewind();
extern long atol();
#endif
***************
*** 421,426 ****
--- 429,437 ----
if (access(cur_tempfolder, ACCESS_EXISTS) != -1) {
/* Hey! What the hell is this? The temp file already exists? */
/* Looks like a potential clash of processes on the same file! */
+
+ fflush (mailfile);
+
unlock(); /* so remove lock file! */
error(catgets(elm_msg_cat, ElmSet, ElmWhatsThisTempExists,
"What's this? The temp folder already exists??"));
***************
*** 431,436 ****
--- 442,450 ----
silently_exit(); /* leave without tampering with it! */
}
if ((temp = fopen(cur_tempfolder,"w")) == NULL) {
+
+ fflush (mailfile);
+
err = errno;
unlock(); /* remove lock file! */
MoveCursor(LINES, 0);
***************
*** 461,466 ****
--- 475,483 ----
*/
if ((temp = fopen(cur_tempfolder,"r+")) == NULL) {
err = errno;
+
+ fflush (mailfile);
+
unlock(); /* remove lock file! */
MoveCursor(LINES,0);
Raw(OFF);
***************
*** 475,480 ****
--- 492,500 ----
}
if (fseek(temp, 0, 2) == -1) {
err = errno;
+
+ fflush (mailfile);
+
unlock(); /* remove lock file! */
fclose(temp);
MoveCursor(LINES,0);
***************
*** 530,535 ****
--- 550,556 ----
/** find the size of the folder then unlock the file **/
+ fflush (mailfile);
mailfile_size = bytes(cur_folder);
unlock();
***************
*** 695,700 ****
--- 716,722 ----
*/
if ((count) && (!add_new_only || count > message_count)) {
headers[count-1]->lines = line;
+
if (headers[count-1]->content_length < 0)
headers[count-1]->content_length = fbytes - content_start;
}
***************
*** 988,1006 ****
}
if (folder_type == SPOOL) {
unlock(); /* remove lock file! */
if ((ferror(mailfile)) || (fclose(mailfile) == EOF)) {
! err = errno;
! MoveCursor(LINES, 0);
! Raw(OFF);
! printf(catgets(elm_msg_cat, ElmSet, ElmCloseOnFolderFailed,
! "\nClose on folder %s failed!!\n"),
! cur_folder);
! printf("** %s. **\n", error_description(err));
! dprint(1, (debugfile, "Can't close on folder %s!!\n",
! cur_folder));
! rm_temps_exit();
}
if ((ferror(temp)) || (fclose(temp) == EOF)) {
err = errno;
MoveCursor(LINES, 0);
--- 1010,1030 ----
}
if (folder_type == SPOOL) {
+ fflush (mailfile);
unlock(); /* remove lock file! */
if ((ferror(mailfile)) || (fclose(mailfile) == EOF)) {
! err = errno;
! MoveCursor(LINES, 0);
! Raw(OFF);
! printf(catgets(elm_msg_cat, ElmSet, ElmCloseOnFolderFailed,
! "\nClose on folder %s failed!!\n"),
! cur_folder);
! printf("** %s. **\n", error_description(err));
! dprint(1, (debugfile, "Can't close on folder %s!!\n",
! cur_folder));
! rm_temps_exit();
}
+
if ((ferror(temp)) || (fclose(temp) == EOF)) {
err = errno;
MoveCursor(LINES, 0);
***************
*** 1013,1018 ****
--- 1037,1043 ----
cur_tempfolder));
rm_temps_exit();
}
+
/* sanity check on append - is resulting temp file longer??? */
if ( bytes(cur_tempfolder) != mailfile_size) {
MoveCursor(LINES, 0);
***************
*** 1022,1027 ****
--- 1047,1053 ----
dprint(1, (debugfile, "newmbox - mbox. != spool mail length"));
rm_temps_exit();
}
+
if ((mailfile = fopen(cur_tempfolder,"r")) == NULL) {
err = errno;
MoveCursor(LINES,0);
Index: src/options.c
Prereq: 5.16
*** ../elm2.4/src/options.c Sun Sep 26 22:15:03 1993
--- src/options.c Mon May 30 12:42:50 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: options.c,v 5.16 1993/08/03 19:28:39 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.16 $ $State: Exp $
*
* Copyright (c) 1986,1987 Dave Taylor
* Copyright (c) 1988-1992 USENET Community Trust
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: options.c,v 5.18 1994/05/30 16:42:48 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.18 $ $State: Exp $
*
* Copyright (c) 1986,1987 Dave Taylor
* Copyright (c) 1988-1992 USENET Community Trust
***************
*** 14,19 ****
--- 14,27 ----
*
*******************************************************************************
* $Log: options.c,v $
+ * Revision 5.18 1994/05/30 16:42:48 syd
+ * Just a minor fix to an impossible character comparison.
+ * From: Jukka Ukkonen <
[email protected]>
+ *
+ * Revision 5.17 1994/03/11 21:25:24 syd
+ * Fix Elm looping if an EOF is received.
+ * From: Gregory Neil Shapiro <
[email protected]>
+ *
* Revision 5.16 1993/08/03 19:28:39 syd
* Elm tries to replace the system toupper() and tolower() on current
* BSD systems, which is unnecessary. Even worse, the replacements
***************
*** 394,400 ****
{
/** help menu for the options screen... **/
! char c, *ptr, *prompt;
ClearLine(LINES-2); /* clear option prompt message */
Centerline(LINES-3, catgets(elm_msg_cat, ElmSet, ElmPressKeyHelp,
--- 402,409 ----
{
/** help menu for the options screen... **/
! char *ptr, *prompt;
! int c;
ClearLine(LINES-2); /* clear option prompt message */
Centerline(LINES-3, catgets(elm_msg_cat, ElmSet, ElmPressKeyHelp,
***************
*** 403,414 ****
--- 412,428 ----
lower_prompt(prompt = catgets(elm_msg_cat, ElmSet, ElmKeyPrompt, "Key : "));
while ((c = ReadCh()) != '.') {
+ if (c == EOF)
+ leave(0);
+
c = tolower(c);
+
if (c == '?') {
display_helpfile(OPTIONS_HELP);
display_options();
return;
}
+
if ((ptr = one_liner_for(c)) != NULL)
error2("%c = %s", c, ptr);
else
***************
*** 499,504 ****
--- 513,520 ----
PutLine0(LINES-2, 0, prompt);
ch = ReadCh();
+ if (ch == EOF)
+ leave(0);
ch = tolower(ch);
clear_error(); /* remove possible "sorting" message etc... */
Index: src/pattern.c
Prereq: 5.10
*** ../elm2.4/src/pattern.c Sun Sep 26 22:15:03 1993
--- src/pattern.c Sun May 15 19:05:20 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: pattern.c,v 5.10 1993/09/19 23:15:28 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.10 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: pattern.c,v 5.11 1994/05/15 23:04:48 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.11 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: pattern.c,v $
+ * Revision 5.11 1994/05/15 23:04:48 syd
+ * Fix segv where in_string didnot like searching NULL
+ * From: Stuart Kemp <
[email protected]> (via syd)
+ *
* Revision 5.10 1993/09/19 23:15:28 syd
* Changed a few buffers from LONG_STRING (512) to VERY_LONG_STRING
* to avoid long header lines overflowing the allocated space. At
***************
*** 381,394 ****
{
char *get_alias_address();
int dummy;
/** Returns true iff the pattern occurs in it's entirety
in the fully expanded address of the indicated alias **/
! return( in_string(shift_lower(
! get_alias_address(aliases[message_number]->alias,TRUE,&dummy)),
! pat) );
}
match_in_message(pat)
--- 385,400 ----
{
char *get_alias_address();
+ char *result;
int dummy;
/** Returns true iff the pattern occurs in it's entirety
in the fully expanded address of the indicated alias **/
! result = get_alias_address(aliases[message_number]->alias,TRUE,&dummy);
! if (result != NULL)
! return(in_string(shift_lower(result), pat) );
! return(NULL);
}
match_in_message(pat)
Index: src/pmalloc.c
Prereq: 5.3
*** ../elm2.4/src/pmalloc.c Sun Dec 6 23:28:14 1992
--- src/pmalloc.c Fri Mar 11 15:59:02 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: pmalloc.c,v 5.3 1992/12/07 04:28:03 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.3 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: pmalloc.c,v 5.4 1994/03/11 20:59:02 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.4 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,28 ----
*
*******************************************************************************
* $Log: pmalloc.c,v $
+ * Revision 5.4 1994/03/11 20:59:02 syd
+ * I made the following changes to elm 2.4pl23 module pmalloc.c after testing on
+ * a DEC Alpha running OSF1 v1.3. The difficulty is that the Alpha hardware
+ * requires certain alignment for some operations which was not supplied by
+ * pmalloc (8 byte for addresses instead of 4 byte). I made a simple minded
+ * change to pmalloc.c to force alignment of the allocated data block to be
+ * adequate on DEC Alpha OSF1.
+ * From:
[email protected] (Jim Brown)
+ *
* Revision 5.3 1992/12/07 04:28:03 syd
* change include from defs to headers as now needs LINES
* From: Syd
***************
*** 44,49 ****
--- 53,60 ----
extern nl_catd elm_msg_cat; /* message catalog */
/*VARARGS0*/
+ #define MIN_BOUNDARY 8 /* power to 2 */
+
char *pmalloc(size)
int size;
{
***************
*** 61,66 ****
--- 72,79 ----
/** if bigger than available space, get more, tossing what's left **/
+ size = ((size+3+4)/4)*4; /* Go to quad byte boundary, fill */
+
if (size > free_mem) {
if ((our_block = (char *) malloc(PMALLOC_BUFFER_SIZE)) == NULL) {
MoveCursor(LINES,0);
***************
*** 73,81 ****
our_block += 4; /* just for safety, don't give back true address */
free_mem = PMALLOC_BUFFER_SIZE-4;
}
!
return_value = our_block; /* get the memory */
- size = ((size+3)/4)*4; /* Go to quad byte boundary */
our_block += size; /* use it up */
free_mem -= size; /* and decrement */
--- 86,101 ----
our_block += 4; /* just for safety, don't give back true address */
free_mem = PMALLOC_BUFFER_SIZE-4;
}
!
! if (((long)our_block&(MIN_BOUNDARY-1)) != 0) {
! int drek;
!
! drek = ((long)our_block&(MIN_BOUNDARY-1)); /* round to minimum */
! our_block += (MIN_BOUNDARY-drek);
! free_mem -= (MIN_BOUNDARY-drek);
! }
!
return_value = our_block; /* get the memory */
our_block += size; /* use it up */
free_mem -= size; /* and decrement */
Index: src/save_opts.c
Prereq: 5.7
*** ../elm2.4/src/save_opts.c Sun Sep 26 22:15:13 1993
--- src/save_opts.c Fri Mar 11 16:19:26 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: save_opts.c,v 5.7 1993/09/27 01:51:38 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.7 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: save_opts.c,v 5.8 1994/03/11 21:19:26 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.8 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,25 ----
*
*******************************************************************************
* $Log: save_opts.c,v $
+ * Revision 5.8 1994/03/11 21:19:26 syd
+ * Recognize the "#$HDR" magic cookie as the header to place in the
+ * user's elmrc file rather than hardwiring a minimally helpful
+ * string into the binary.
+ * From:
[email protected] (Chip Rosenthal)
+ *
* Revision 5.7 1993/09/27 01:51:38 syd
* Add elm_chown to consolidate for Xenix not allowing -1
* From: Syd
***************
*** 233,238 ****
--- 239,245 ----
{
register int x, local_value;
register char *s;
+ char buf[SLEN];
/** save the information in the file. If elminfo_fd == NULL don't look
for comments!
***************
*** 252,262 ****
fprintf(newelmrc, catgets(elm_msg_cat, ElmrcSet, ElmrcSavedAuto,
"# Saved automatically by ELM %s\n#\n\n"), version_buff);
! fprintf(newelmrc, catgets(elm_msg_cat, ElmrcSet, ElmrcYesNoMeans,
! "# For yes/no settings with ?, ON means yes, OFF means no\n"));
for (x = 0; x < NUMBER_OF_SAVEABLE_OPTIONS; x++) {
- char buf[SLEN];
/** skip system-only options **/
if (save_info[x].flags & FL_SYS)
--- 259,279 ----
fprintf(newelmrc, catgets(elm_msg_cat, ElmrcSet, ElmrcSavedAuto,
"# Saved automatically by ELM %s\n#\n\n"), version_buff);
! if (elminfo_fd != NULL) {
! x = FALSE;
! rewind(elminfo_fd);
! while (!x && fgets(buf, sizeof(buf), elminfo_fd) != NULL)
! x = (strncmp(buf, "#$HDR", 5) == 0);
! if (x) {
! while (fgets(buf, sizeof(buf), elminfo_fd) != NULL) {
! if (buf[0] != '#')
! break;
! fputs(buf, newelmrc);
! }
! }
! }
for (x = 0; x < NUMBER_OF_SAVEABLE_OPTIONS; x++) {
/** skip system-only options **/
if (save_info[x].flags & FL_SYS)
Index: src/savecopy.c
Prereq: 5.12
*** ../elm2.4/src/savecopy.c Mon May 31 15:35:25 1993
--- src/savecopy.c Sun May 15 19:10:12 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: savecopy.c,v 5.12 1993/05/31 19:35:24 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.12 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: savecopy.c,v 5.13 1994/05/15 23:10:08 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.13 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,24 ----
*
*******************************************************************************
* $Log: savecopy.c,v $
+ * Revision 5.13 1994/05/15 23:10:08 syd
+ * Below are the changes required to compile/link elm 2.4 pl23 under
+ * QNX 4.2 with the Watcom 9.5 compiler (very picky).
+ * From: "Brian Campbell" <brianc@quantum>
+ *
* Revision 5.12 1993/05/31 19:35:24 syd
* Move the actual file saving code out of "save_copy()" into a seperate
* routine called "append_copy_to_file()" to make it globally available.
***************
*** 342,348 ****
/* else user presumably left our English expansion - no change in fn */
/* display English expansion of new user input a while */
! PutLine1(LINES-2, strlen(ncf_prompt), cf_english(fn));
MoveCursor(LINES, 0);
if (sleepmsg > 0)
sleep((sleepmsg + 1) / 2);
--- 347,353 ----
/* else user presumably left our English expansion - no change in fn */
/* display English expansion of new user input a while */
! PutLine0(LINES-2, strlen(ncf_prompt), cf_english(fn));
MoveCursor(LINES, 0);
if (sleepmsg > 0)
sleep((sleepmsg + 1) / 2);
Index: src/showmsg.c
Prereq: 5.15
*** ../elm2.4/src/showmsg.c Sun Sep 26 22:15:05 1993
--- src/showmsg.c Tue Aug 30 11:09:44 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: showmsg.c,v 5.15 1993/08/23 02:46:07 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.15 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: showmsg.c,v 5.16 1994/08/30 15:09:43 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.16 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: showmsg.c,v $
+ * Revision 5.16 1994/08/30 15:09:43 syd
+ * Block sigwinch when in the external pager.
+ * From:
[email protected] (James W. Adams)
+ *
* Revision 5.15 1993/08/23 02:46:07 syd
* Don't declare _exit() if <unistd.h> already did it.
* From: decwrl!uunet.UU.NET!fin!chip (Chip Salzenberg)
***************
*** 163,168 ****
--- 167,175 ----
#ifdef SIGTSTP
SIGHAND_TYPE (*oldstop)(), (*oldcont)();
#endif
+ #ifdef SIGWINCH
+ SIGHAND_TYPE (*oldwinch)();
+ #endif
lines = current_header->lines;
***************
*** 343,348 ****
--- 350,358 ----
oldstop = signal(SIGTSTP,SIG_DFL);
oldcont = signal(SIGCONT,SIG_DFL);
#endif
+ #ifdef SIGWINCH
+ oldwinch = signal(SIGWINCH,SIG_DFL);
+ #endif
}
ClearScreen();
***************
*** 565,570 ****
--- 575,583 ----
#ifdef SIGTSTP
(void)signal(SIGTSTP,oldstop);
(void)signal(SIGCONT,oldcont);
+ #endif
+ #ifdef SIGWINCH
+ (void)signal(SIGWINCH,oldwinch);
#endif
}
Index: src/showmsg_c.c
Prereq: 5.3
*** ../elm2.4/src/showmsg_c.c Sun Apr 11 23:14:20 1993
--- src/showmsg_c.c Fri Mar 11 16:25:27 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: showmsg_c.c,v 5.3 1992/11/26 00:46:13 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.3 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: showmsg_c.c,v 5.4 1994/03/11 21:25:24 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.4 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: showmsg_c.c,v $
+ * Revision 5.4 1994/03/11 21:25:24 syd
+ * Fix Elm looping if an EOF is received.
+ * From: Gregory Neil Shapiro <
[email protected]>
+ *
* Revision 5.3 1992/11/26 00:46:13 syd
* changes to first change screen back (Raw off) and then issue final
* error message.
***************
*** 221,231 ****
goto next_undel_msg;
break;
- case 'T' :
case 't' : istagged=tag_message(FALSE);
! if (command == 'T')
! goto next_undel_msg;
! else if (istagged)
store_msg(catgets(elm_msg_cat, ElmSet, ElmMessageTagged,
"Message tagged."));
else
--- 225,232 ----
goto next_undel_msg;
break;
case 't' : istagged=tag_message(FALSE);
! if(istagged)
store_msg(catgets(elm_msg_cat, ElmSet, ElmMessageTagged,
"Message tagged."));
else
***************
*** 262,267 ****
--- 263,270 ----
case ctrl('M'): screen_mangled = 0;
return(show_msg(current));
+ case EOF : leave(0);
+ break;
case ESCAPE : if (cursor_control) {
Index: src/signals.c
Prereq: 5.9
*** ../elm2.4/src/signals.c Sun Sep 26 22:15:06 1993
--- src/signals.c Thu Sep 1 15:42:41 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: signals.c,v 5.9 1993/08/03 19:10:50 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.9 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: signals.c,v 5.13 1994/09/01 19:42:39 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.13 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,35 ----
*
*******************************************************************************
* $Log: signals.c,v $
+ * Revision 5.13 1994/09/01 19:42:39 syd
+ * Moved #defines for SETJMP & LONGJMP from src/editmsg.c to hdrs/defs.h and
+ * used them instead of (set|long)jmp directly. This makes the usage consistent
+ * and Solaris 2.3 behaves correctly w.r.t stop/continue.
+ * From:
[email protected] (Jan Djarv)
+ *
+ * Revision 5.12 1994/08/30 18:59:38 syd
+ * add sigcont to release list
+ *
+ * Revision 5.11 1994/08/30 18:27:47 syd
+ * fix typo
+ *
+ * Revision 5.10 1994/08/30 18:16:05 syd
+ * Fix up Solaris and SVR4 signal handling for timeout
+ * From: Syd
+ *
* Revision 5.9 1993/08/03 19:10:50 syd
* Patch for Elm 2.4 PL22 to correct handling of SIGWINCH signals on
* DecStations with Ultrix 4.2.
***************
*** 137,149 ****
SIGHAND_TYPE
alarm_signal(sig)
{
/** silently process alarm signal for timeouts... **/
- #ifdef BSD
if (InGetPrompt)
! longjmp(GetPromptBuf, 1);
! #else
! signal(SIGALRM, alarm_signal);
#endif
}
SIGHAND_TYPE
--- 153,168 ----
SIGHAND_TYPE
alarm_signal(sig)
{
+ signal(SIGALRM, alarm_signal);
+
/** silently process alarm signal for timeouts... **/
if (InGetPrompt)
! {
! #ifdef HASSIGHOLD
! sigrelse(SIGALRM);
#endif
+ LONGJMP(GetPromptBuf, 1);
+ }
}
SIGHAND_TYPE
***************
*** 186,194 ****
/** this is called when returning from a ^Z stop **/
dprint(1, (debugfile,"\n\n** Received SIGCONT **\n\n\n\n", sig));
- #ifndef BSD
signal(SIGCONT, sig_return_from_user_stop);
- #endif
signal(SIGTSTP, sig_user_stop);
printf(catgets(elm_msg_cat, ElmSet, ElmBackInElmRedraw,
--- 205,211 ----
***************
*** 197,206 ****
if (was_in_raw_state)
Raw(ON);
- #ifdef BSD
if (InGetPrompt)
! longjmp(GetPromptBuf, 1);
#endif
}
#endif
--- 214,227 ----
if (was_in_raw_state)
Raw(ON);
if (InGetPrompt)
! {
! #ifdef HASSIGHOLD
! sigrelse(SIGTSTP);
! sigrelse(SIGCONT);
#endif
+ LONGJMP(GetPromptBuf, 1);
+ }
}
#endif
***************
*** 209,220 ****
winch_signal(sig)
{
resize_screen = 1;
- #ifndef BSD
signal(SIGWINCH, winch_signal);
! #else
if (InGetPrompt)
! longjmp(GetPromptBuf, 1);
#endif
}
#endif
--- 230,244 ----
winch_signal(sig)
{
resize_screen = 1;
signal(SIGWINCH, winch_signal);
!
if (InGetPrompt)
! {
! #ifdef HASSIGHOLD
! sigrelse(SIGWINCH);
#endif
+ LONGJMP(GetPromptBuf, 1);
+ }
}
#endif
Index: src/syscall.c
Prereq: 5.8
*** ../elm2.4/src/syscall.c Sun Sep 26 22:15:06 1993
--- src/syscall.c Tue Aug 30 11:09:43 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: syscall.c,v 5.8 1993/08/23 02:46:07 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.8 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: syscall.c,v 5.9 1994/08/30 15:09:43 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.9 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: syscall.c,v $
+ * Revision 5.9 1994/08/30 15:09:43 syd
+ * Block sigwinch when in the external pager.
+ * From:
[email protected] (James W. Adams)
+ *
* Revision 5.8 1993/08/23 02:46:07 syd
* Don't declare _exit() if <unistd.h> already did it.
* From: decwrl!uunet.UU.NET!fin!chip (Chip Salzenberg)
***************
*** 184,190 ****
#else
int status;
#endif
! register SIGHAND_TYPE (*istat)(), (*qstat)();
#ifdef SIGTSTP
register SIGHAND_TYPE (*oldstop)(), (*oldstart)();
#endif
--- 188,194 ----
#else
int status;
#endif
! register SIGHAND_TYPE (*istat)(), (*qstat)(), (*wstat)();
#ifdef SIGTSTP
register SIGHAND_TYPE (*oldstop)(), (*oldstart)();
#endif
***************
*** 224,229 ****
--- 228,236 ----
istat = signal(SIGINT, SIG_IGN);
qstat = signal(SIGQUIT, SIG_IGN);
+ #ifdef SIGWINCH
+ wstat = signal(SIGWINCH, SIG_DFL);
+ #endif
#ifdef SIGTSTP
oldstop = signal(SIGTSTP, SIG_DFL);
oldstart = signal(SIGCONT, SIG_DFL);
***************
*** 323,328 ****
--- 330,338 ----
(void) signal(SIGINT, istat);
(void) signal(SIGQUIT, qstat);
+ #ifdef SIGWINCH
+ (void) signal(SIGWINCH, wstat);
+ #endif
#ifdef SIGTSTP
(void) signal(SIGTSTP, oldstop);
(void) signal(SIGCONT, oldstart);
Index: src/utils.c
Prereq: 5.15
*** ../elm2.4/src/utils.c Sun Sep 26 22:15:07 1993
--- src/utils.c Fri Jun 3 13:05:33 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: utils.c,v 5.15 1993/09/27 01:51:38 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.15 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: utils.c,v 5.17 1994/06/03 17:05:17 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.17 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,27 ----
*
*******************************************************************************
* $Log: utils.c,v $
+ * Revision 5.17 1994/06/03 17:05:17 syd
+ * try and prevent copy from calling elm_chown unless needed
+ * From: Syd
+ *
+ * Revision 5.16 1994/05/14 18:42:57 syd
+ * Here are some more of fixes to correctly call fflush() and unlock() in sequence.
+ * From: Jukka Ukkonen <
[email protected]>
+ *
* Revision 5.15 1993/09/27 01:51:38 syd
* Add elm_chown to consolidate for Xenix not allowing -1
* From: Syd
***************
*** 179,185 ****
MCprintf(catgets(elm_msg_cat, ElmSet, ElmCopyingFromCopyingTo,
"\n\rCopying from: %s\n\rCopying to: %s\n\r"),
source, dest);
! copy(source, dest);
}
sprintf(source, "%s/.elmrc", home);
--- 187,193 ----
MCprintf(catgets(elm_msg_cat, ElmSet, ElmCopyingFromCopyingTo,
"\n\rCopying from: %s\n\rCopying to: %s\n\r"),
source, dest);
! copy(source, dest, FALSE);
}
sprintf(source, "%s/.elmrc", home);
***************
*** 188,194 ****
MCprintf(catgets(elm_msg_cat, ElmSet, ElmCopyingFromCopyingTo,
"\n\rCopying from: %s\n\rCopying to: %s\n\r"),
source, dest);
! copy(source, dest);
}
printf(catgets(elm_msg_cat, ElmSet, ElmWelcomeToNewElm,
--- 196,202 ----
MCprintf(catgets(elm_msg_cat, ElmSet, ElmCopyingFromCopyingTo,
"\n\rCopying from: %s\n\rCopying to: %s\n\r"),
source, dest);
! copy(source, dest, FALSE);
}
printf(catgets(elm_msg_cat, ElmSet, ElmWelcomeToNewElm,
***************
*** 291,296 ****
--- 299,306 ----
(void) unlink(cur_tempfolder);
}
+ if (mailfile)
+ fflush (mailfile);
unlock(); /* remove lock file if any */
if(do_cursor) {
Index: utils/Makefile.SH
Prereq: 5.5
*** ../elm2.4/utils/Makefile.SH Mon May 31 15:17:28 1993
--- utils/Makefile.SH Thu Mar 10 12:20:29 1994
***************
*** 16,22 ****
echo "Extracting utils/Makefile (with variable substitutions)"
cat >Makefile <<!GROK!THIS!
! # @(#)$Id: Makefile.SH,v 5.5 1993/05/31 19:17:28 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 5.6 1994/03/10 17:20:23 syd Exp $
#
# Makefile for the Elm system utilities
#
***************
*** 29,34 ****
--- 29,38 ----
# dsinc!elm
#
# $Log: Makefile.SH,v $
+ # Revision 5.6 1994/03/10 17:20:23 syd
+ # Remove autoreply
+ # From: Syd
+ #
# Revision 5.5 1993/05/31 19:17:28 syd
# In the Makefile listalias was given only a+x permission
# though it should have been a+rx.
***************
*** 88,95 ****
# List of installed programs - excludes wnewmail and nfrm,
# which are handled separately
INSTALL_LIST = $(DEST)/answer \
- $(DEST)/arepdaemon \
- $(DEST)/autoreply \
$(DEST)/checkalias \
$(DEST)/elmalias \
$(DEST)/fastmail \
--- 92,97 ----
***************
*** 104,111 ****
# List of remotely install programs
REMOTE_LIST = $(REMOTE)$(DEST)/answer \
- $(REMOTE)$(DEST)/arepdaemon \
- $(REMOTE)$(DEST)/autoreply \
$(REMOTE)$(DEST)/checkalias \
$(REMOTE)$(DEST)/elmalias \
$(REMOTE)$(DEST)/fastmail \
--- 106,111 ----
***************
*** 119,126 ****
# List of programs in bin directory
BINARY_LIST = $(BIN)/answer \
- $(BIN)/arepdaemon \
- $(BIN)/autoreply \
$(BIN)/checkalias \
$(BIN)/elmalias \
$(BIN)/fastmail \
--- 119,124 ----
***************
*** 135,142 ****
# List of programs to $(LINT) - only C programs
LINT_LIST = answer_lint \
- arepdaemon_lint \
- autoreply_lint \
elmalias_lint \
fastmail_lint \
frm_lint \
--- 133,138 ----
***************
*** 147,154 ****
# List of all object files in all util programs (used in parallel makes)
UTIL_OBJ = answer.o \
- arepdaem.o \
- autoreply.o \
elmalias.o \
fastmail.o \
from.o \
--- 143,148 ----
***************
*** 160,169 ****
# Lists of source and object files for each C program
ANSWER_SRC = answer.c
ANSWER_OBJ = answer.o
- AREPDAEMON_SRC = arepdaem.c
- AREPDAEMON_OBJ = arepdaem.o
- AUTOREPLY_SRC = autoreply.c
- AUTOREPLY_OBJ = autoreply.o
ELMALIAS_SRC = elmalias.c
ELMALIAS_OBJ = elmalias.o
FASTMAIL_SRC = fastmail.c
--- 154,159 ----
***************
*** 195,202 ****
# with respect the files from which it is installed.
rmt-install: rmt-defined
-$(MV) $(DEST)/answer $(DEST)/answer.old
- -$(MV) $(DEST)/arepdaemon $(DEST)/arepdaemon.old
- -$(MV) $(DEST)/autoreply $(DEST)/autoreply.old
-$(MV) $(DEST)/checkalias $(DEST)/checkalias.old
-$(MV) $(DEST)/elmalias $(DEST)/elmalias.old
-$(MV) $(DEST)/fastmail $(DEST)/fastmail.old
--- 185,190 ----
***************
*** 210,217 ****
-$(MV) $(DEST)/readmsg $(DEST)/readmsg.old
-$(MV) $(DEST)/wnewmail $(DEST)/wnewmail.old
-$(RM) $(DEST)/answer.old
- -$(RM) $(DEST)/arepdaemon.old
- -$(RM) $(DEST)/autoreply.old
-$(RM) $(DEST)/checkalias.old
-$(RM) $(DEST)/elmalias.old
-$(RM) $(DEST)/fastmail.old
--- 198,203 ----
***************
*** 266,283 ****
answer_lint: $(ANSWER_SRC)
$(LINT) $(LINTFLAGS) $(ANSWER_SRC) >> LINT.OUT
- $(BIN)/arepdaemon: $(AREPDAEMON_OBJ) ../lib/libutil.a
- $(CC) $(LFLAGS) -o $@ $(AREPDAEMON_OBJ) ../lib/libutil.a $(LIB2)
-
- arepdaemon_lint: $(AREPDAEMON_SRC)
- $(LINT) $(LINTFLAGS) $(AREPDAEMON_SRC) >> LINT.OUT
-
- $(BIN)/autoreply: $(AUTOREPLY_OBJ) ../lib/libutil.a
- $(CC) $(LFLAGS) -o $@ $(AUTOREPLY_OBJ) ../lib/libutil.a $(LIB2)
-
- autoreply_lint: $(AUTOREPLY_SRC)
- $(LINT) $(LINTFLAGS) $(AUTOREPLY_SRC) >> LINT.OUT
-
$(BIN)/elmalias: $(ELMALIAS_OBJ) ../lib/libutil.a
$(CC) $(LFLAGS) -o $@ $(ELMALIAS_OBJ) ../lib/libutil.a $(LIB2)
--- 252,257 ----
***************
*** 353,360 ****
# Dependencies of C object files
answer.o: $(INCLDIR)/ndbz.h $(INCLDIR)/elmutil.h $(INCLDIR)/s_answer.h
- arepdaem.o: $(INCLDIR)/elmutil.h
- autoreply.o: $(INCLDIR)/elmutil.h
elmalias.o: $(INCLDIR)/elmutil.h $(INCLDIR)/s_elmalias.h
fastmail.o: $(INCLDIR)/patchlevel.h $(INCLDIR)/elmutil.h $(INCLDIR)/s_fastmail.h
from.o: $(INCLDIR)/elmutil.h $(INCLDIR)/s_from.h
--- 327,332 ----
***************
*** 369,387 ****
-$(RM)
[email protected]
$(CP) $? $@
$(CHMOD) a+x $@
-
- $(DEST)/arepdaemon: $(BIN)/arepdaemon
- -$(MV) $@
[email protected]
- -$(RM)
[email protected]
- $(CP) $? $@
- $(CHMOD) a+x $@
-
- $(DEST)/autoreply: $(BIN)/autoreply
- -$(MV) $@
[email protected]
- -$(RM)
[email protected]
- $(CP) $? $@
- $(CHMOD) a+x $@
- $(CHMOD) u+s $@
$(DEST)/checkalias: $(BIN)/checkalias
-$(MV) $@
[email protected]
--- 341,346 ----
Index: utils/elmalias.c
Prereq: 5.8
*** ../elm2.4/utils/elmalias.c Sun Sep 26 22:15:08 1993
--- utils/elmalias.c Mon May 30 12:31:58 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: elmalias.c,v 5.8 1993/09/27 01:05:37 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.8 $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: elmalias.c,v 5.9 1994/05/30 16:31:40 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.9 $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: elmalias.c,v $
+ * Revision 5.9 1994/05/30 16:31:40 syd
+ * make getpwuid dependent on ANSI_C not posix flag
+ * From: Syd
+ *
* Revision 5.8 1993/09/27 01:05:37 syd
* Eliminate warning about redeclaring getpwuid().
* From: riacs!rutgers!tscs.tscs.com!fin!chip (Chip Salzenberg)
***************
*** 108,114 ****
#include <pwd.h>
char *getenv();
! #ifndef _POSIX_SOURCE
struct passwd *getpwuid();
#endif
--- 112,118 ----
#include <pwd.h>
char *getenv();
! #ifndef ANSI_C
struct passwd *getpwuid();
#endif
Index: utils/fastmail.c
Prereq: 5.8
*** ../elm2.4/utils/fastmail.c Sun Sep 26 22:15:08 1993
--- utils/fastmail.c Fri Mar 11 15:55:25 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: fastmail.c,v 5.8 1993/07/20 02:46:36 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.8 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: fastmail.c,v 5.9 1994/03/11 20:55:23 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.9 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,33 ----
*
*******************************************************************************
* $Log: fastmail.c,v $
+ * Revision 5.9 1994/03/11 20:55:23 syd
+ * Replaced the get_tz_mins() routine in lib/get_tz.c with a portable
+ * version that requires no configuration. Rewrote the test case in
+ * lib/get_tz.c, and also wrote in support to simplify configuration
+ * tests. Dropped TZMINS_USE_XXXX configuration parameter. Simplified
+ * timezone determination in Configure. The new get_tz_mins() introduces
+ * two side effects. First it steps on the static data returned by
+ * localtime(). Second, it uses a routine in lib/date_util.c, which
+ * requires debug initializations. Rewrote get_arpa_date() to work around
+ * the first issue. Rather than doing the same for lib/strftime.c, just
+ * removed the timezone stuff with a conditional compile. Elm does not
+ * use it. Added debugging initializations to util/fastmail.c.
+ * From:
[email protected] (Chip Rosenthal)
+ *
* Revision 5.8 1993/07/20 02:46:36 syd
* In fastmail, if environment variable $REPLYTO is set, use it as
* default Reply-To. Also, eliminate unnecessary strlen() calls.
***************
*** 90,95 ****
--- 104,112 ----
char *get_arpa_date();
static void usage();
+ int debug = 0;
+ FILE *debugfile = stderr;
+
main(argc, argv)
int argc;
***************
*** 105,111 ****
char from_addr[SLEN], comments[SLEN], inreplyto[NLEN];
char references[SLEN];
char *p;
! int c, sendmail_available, debug = 0;
elm_msg_cat = catopen("elm2.4", 0);
--- 122,128 ----
char from_addr[SLEN], comments[SLEN], inreplyto[NLEN];
char references[SLEN];
char *p;
! int c, sendmail_available;
elm_msg_cat = catopen("elm2.4", 0);
Index: utils/from.c
Prereq: 5.14
*** ../elm2.4/utils/from.c Mon May 31 15:36:09 1993
--- utils/from.c Mon May 30 12:27:00 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: from.c,v 5.14 1993/05/31 19:36:07 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.14 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: from.c,v 5.15 1994/05/30 16:27:00 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.15 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,25 ----
*
*******************************************************************************
* $Log: from.c,v $
+ * Revision 5.15 1994/05/30 16:27:00 syd
+ * In utils/from.c there was a conditionalized declaration of
+ * getpwuid() which was triggered by the environment being non-
+ * POSIX instead of non-STDC.
+ * From: Jukka Antero Ukkonen <
[email protected]>
+ *
* Revision 5.14 1993/05/31 19:36:07 syd
* Dave Thomas forgot to update the NLS message file when he added the tidy
* option to frm. While I was at it, I did a little cleanup to keep things
***************
*** 157,163 ****
int multiple_files = FALSE, output_files = FALSE;
int user_mailbox = FALSE, no_files, c;
struct passwd *pass;
! #ifndef _POSIX_SOURCE
struct passwd *getpwuid();
#endif
int hostlen, domlen;
--- 163,169 ----
int multiple_files = FALSE, output_files = FALSE;
int user_mailbox = FALSE, no_files, c;
struct passwd *pass;
! #ifndef ANSI_C
struct passwd *getpwuid();
#endif
int hostlen, domlen;
Index: utils/newmail.c
Prereq: 5.19
*** ../elm2.4/utils/newmail.c Sun Sep 26 22:15:09 1993
--- utils/newmail.c Mon May 30 12:32:01 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: newmail.c,v 5.19 1993/08/03 19:28:39 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.19 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: newmail.c,v 5.20 1994/05/30 16:31:40 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.20 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: newmail.c,v $
+ * Revision 5.20 1994/05/30 16:31:40 syd
+ * make getpwuid dependent on ANSI_C not posix flag
+ * From: Syd
+ *
* Revision 5.19 1993/08/03 19:28:39 syd
* Elm tries to replace the system toupper() and tolower() on current
* BSD systems, which is unnecessary. Even worse, the replacements
***************
*** 270,276 ****
register struct folder_struct *cur_folder;
int hostlen, domlen;
struct passwd *pass;
! #ifndef _POSIX_SOURCE
struct passwd *getpwuid();
#endif
--- 274,280 ----
register struct folder_struct *cur_folder;
int hostlen, domlen;
struct passwd *pass;
! #ifndef ANSI_C
struct passwd *getpwuid();
#endif
Index: utils/prlong.c
Prereq: 5.3
*** ../elm2.4/utils/prlong.c Sun Sep 26 22:15:09 1993
--- utils/prlong.c Mon May 30 19:59:38 1994
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: prlong.c,v 5.3 1993/08/03 19:28:39 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.3 $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: prlong.c,v 5.4 1994/05/30 23:59:24 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 5.4 $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: prlong.c,v $
+ * Revision 5.4 1994/05/30 23:59:24 syd
+ * fix those that need getopt, getopt calls elm_msg_cat
+ * From: Syd
+ *
* Revision 5.3 1993/08/03 19:28:39 syd
* Elm tries to replace the system toupper() and tolower() on current
* BSD systems, which is unnecessary. Even worse, the replacements
***************
*** 73,79 ****
#include <stdio.h>
! #include "defs.h"
#define MAXWID 78 /* default maximum line width */
#define ONE_LDR "" /* default leader for first line */
--- 77,87 ----
#include <stdio.h>
! #ifndef GETOPT
! # include "elmutil.h"
! #else
! # include "defs.h"
! #endif
#define MAXWID 78 /* default maximum line width */
#define ONE_LDR "" /* default leader for first line */
***************
*** 112,117 ****
--- 120,129 ----
#ifdef I_LOCALE
setlocale(LC_ALL, "");
+ #endif
+
+ #ifndef GETOPT
+ elm_msg_cat = catopen("elm2.4", 0);
#endif
/*