From: ctalbot@lucpul.it.luc.edu (Carlos Talbot)
Subject: [386bsd] Patches for Elm 2.4beta pl16
Keywords: 386bsd elm 2.4beta
Organization: Loyola University Chicago
Date: Thu, 1 Oct 1992 18:53:13 GMT


The following are patches for Elm 2.4 beta patch level 16.

The following had to be changed: (some were obtained by Paul Nash
(paul@csir.co.za) from his recent post.)
1. /bin/sh wouldn't work within the Configure program and src/syscall.c
2. removed the -$(MAKEFLAGS) from Makefile.SH
3. tolower and toupper were changed to elm_tolower and elm_toupper.
4. fgetline was changed to elm_fgetline.
5. the declaration for getpwuid within src/init.c was missing the
   uid_t parameter.

Hope this helps! Use at your own risk! Remember, 2.4 is still at a beta
stage.

Carlos

----------------------------------------------------------
diff -r -c ../elm2.4.orig//Configure ./Configure
*** ../elm2.4.orig//Configure	Sun Sep 20 20:04:41 1992
--- ./Configure	Thu Oct  1 13:02:22 1992
***************
*** 1,4 ****
! #! /bin/sh
  #
  # If these # comments don't work, trim them.  Don't worry about any other
  # shell scripts, Configure will trim # comments from them for you.
--- 1,4 ----
! #! /bin/bash
  #
  # If these # comments don't work, trim them.  Don't worry about any other
  # shell scripts, Configure will trim # comments from them for you.
diff -r -c ../elm2.4.orig//Makefile.SH ./Makefile.SH
*** ../elm2.4.orig//Makefile.SH	Fri May 17 18:26:49 1991
--- ./Makefile.SH	Thu Oct  1 12:36:12 1992
***************
*** 66,76 ****
  
  #	Targets that are simply executed in each subordinate makefile as is
  all install uninstall lint clean:
! 		cd lib; $(MAKE) -$(MAKEFLAGS) $@
! 		cd src; $(MAKE) -$(MAKEFLAGS) $@
! 		cd utils; $(MAKE) -$(MAKEFLAGS) $@
! 		cd filter; $(MAKE) -$(MAKEFLAGS) $@
! 		cd doc; $(MAKE) -$(MAKEFLAGS) $@
  
  #	Targets that apply to all elm at once
  listing:
--- 66,76 ----
  
  #	Targets that are simply executed in each subordinate makefile as is
  all install uninstall lint clean:
! 		cd lib; $(MAKE) $@
! 		cd src; $(MAKE) $@
! 		cd utils; $(MAKE) $@
! 		cd filter; $(MAKE) $@
! 		cd doc; $(MAKE) $@
  
  #	Targets that apply to all elm at once
  listing:
***************
*** 84,94 ****
  		  $(ECHO) "ELM on the remote machine <$(REMOTE)>. If this is";\
  		  $(ECHO) "not the case, interrupt this process quickly!";\
  		  $(SLEEP) 10;)
! 		cd lib; $(MAKE) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
! 		cd src; $(MAKE) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
! 		cd filter; $(MAKE) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
! 		cd utils; $(MAKE) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
! 		cd doc; $(MAKE) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
  
  rmt-defined:
  	@(if [ "$(REMOTE)" = "" ];\
--- 84,94 ----
  		  $(ECHO) "ELM on the remote machine <$(REMOTE)>. If this is";\
  		  $(ECHO) "not the case, interrupt this process quickly!";\
  		  $(SLEEP) 10;)
! 		cd lib; $(MAKE) REMOTE=$(REMOTE) $@
! 		cd src; $(MAKE) REMOTE=$(REMOTE) $@
! 		cd filter; $(MAKE) REMOTE=$(REMOTE) $@
! 		cd utils; $(MAKE) REMOTE=$(REMOTE) $@
! 		cd doc; $(MAKE) REMOTE=$(REMOTE) $@
  
  rmt-defined:
  	@(if [ "$(REMOTE)" = "" ];\
***************
*** 108,118 ****
  
  #	Targets that are really in subordinate make files
  documentation:
! 	cd doc; $(MAKE) -$(MAKEFLAGS) $@
  
  elm:
! 	cd lib; $(MAKE) -$(MAKEFLAGS) all
! 	cd src; $(MAKE) -$(MAKEFLAGS) all
  
  #	The dummy dependency here prevents make from thinking the target is the
  #	filter directory that sits in the current directory, rather than
--- 108,118 ----
  
  #	Targets that are really in subordinate make files
  documentation:
! 	cd doc; $(MAKE) $@
  
  elm:
! 	cd lib; $(MAKE) all
! 	cd src; $(MAKE) all
  
  #	The dummy dependency here prevents make from thinking the target is the
  #	filter directory that sits in the current directory, rather than
***************
*** 120,126 ****
  filter: _filter
  
  _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
--- 120,126 ----
  filter: _filter
  
  _filter:
! 	cd filter; $(MAKE) all
  
  #	The dummy dependency here prevents make from thinking the target is the
  #	utils directory that sits in the current directory, rather than
***************
*** 128,133 ****
  utils: _utils
  
  _utils:
! 	cd utils; $(MAKE) -$(MAKEFLAGS) all
  
  !NO!SUBS!
--- 128,133 ----
  utils: _utils
  
  _utils:
! 	cd utils; $(MAKE) all
  
  !NO!SUBS!
diff -r -c ../elm2.4.orig//filter/utils.c ./filter/utils.c
*** ../elm2.4.orig//filter/utils.c	Mon Aug 24 20:03:49 1992
--- ./filter/utils.c	Thu Oct  1 12:50:42 1992
***************
*** 226,233 ****
  	register int i = 0, j = 0;
  
  	while (str[i] != '\0') {
! 	  while ((isupper(str[i]) ? tolower(str[i]) : str[i]) ==
! 		 (isupper(pat[j]) ? tolower(pat[j]) : pat[j])) {
  	    i++; j++;
  	    if (pat[j] == '\0') 
  	      return(TRUE);
--- 226,233 ----
  	register int i = 0, j = 0;
  
  	while (str[i] != '\0') {
! 	  while ((isupper(str[i]) ? elm_tolower(str[i]) : str[i]) ==
! 		 (isupper(pat[j]) ? elm_tolower(pat[j]) : pat[j])) {
  	    i++; j++;
  	    if (pat[j] == '\0') 
  	      return(TRUE);
***************
*** 263,269 ****
  
  	for (i= strlen(string); --i >= 0; )
  	  if (isupper(string[i]))
! 	    string[i] = tolower(string[i]);
  }
  
  /* the following code is borrowed from elm src/file.c
--- 263,269 ----
  
  	for (i= strlen(string); --i >= 0; )
  	  if (isupper(string[i]))
! 	    string[i] = elm_tolower(string[i]);
  }
  
  /* the following code is borrowed from elm src/file.c
diff -r -c ../elm2.4.orig//lib/gcos_name.c ./lib/gcos_name.c
*** ../elm2.4.orig//lib/gcos_name.c	Tue Jul 14 22:12:36 1992
--- ./lib/gcos_name.c	Thu Oct  1 12:47:31 1992
***************
*** 57,63 ****
  
  	if(*gcoscp == '&') {
  	    for(lncp = logname; *lncp; fncp++, lncp++)
! 		*fncp = toupper(*lncp);
  	} else {
  	    *fncp++ = *gcoscp;
  	}
--- 57,63 ----
  
  	if(*gcoscp == '&') {
  	    for(lncp = logname; *lncp; fncp++, lncp++)
! 		*fncp = elm_toupper(*lncp);
  	} else {
  	    *fncp++ = *gcoscp;
  	}
diff -r -c ../elm2.4.orig//lib/istrcmp.c ./lib/istrcmp.c
*** ../elm2.4.orig//lib/istrcmp.c	Tue Jul 14 22:12:39 1992
--- ./lib/istrcmp.c	Thu Oct  1 12:48:29 1992
***************
*** 41,48 ****
  	/* case insensitive comparison */
  	register int d;
  	for (;;) {
! 	  d = ( isupper(*s1) ? tolower(*s1) : *s1 )
! 		  - ( isupper(*s2) ? tolower(*s2) : *s2 ) ;
  	  if ( d != 0 || *s1 == '\0' || *s2 == '\0' )
  	    return d;
  	  ++s1;
--- 41,48 ----
  	/* case insensitive comparison */
  	register int d;
  	for (;;) {
! 	  d = ( isupper(*s1) ? elm_tolower(*s1) : *s1 )
! 		  - ( isupper(*s2) ? elm_tolower(*s2) : *s2 ) ;
  	  if ( d != 0 || *s1 == '\0' || *s2 == '\0' )
  	    return d;
  	  ++s1;
diff -r -c ../elm2.4.orig//lib/ldstate.c ./lib/ldstate.c
*** ../elm2.4.orig//lib/ldstate.c	Fri Aug  7 08:48:11 1992
--- ./lib/ldstate.c	Thu Oct  1 13:15:59 1992
***************
*** 51,57 ****
   */
  
  
! static char *fgetline(buf, buflen, fp)
  char *buf;
  unsigned buflen;
  FILE *fp;
--- 51,57 ----
   */
  
  
! static char *elm_fgetline(buf, buflen, fp)
  char *buf;
  unsigned buflen;
  FILE *fp;
***************
*** 88,94 ****
      status = -1;
  
      /* retrieve pathname of the folder */
!     if (fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'F')
  	goto done;
      if ((fst->folder_name = malloc(strlen(buf+1) + 1)) == NULL)
  	goto done;
--- 88,94 ----
      status = -1;
  
      /* retrieve pathname of the folder */
!     if (elm_fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'F')
  	goto done;
      if ((fst->folder_name = malloc(strlen(buf+1) + 1)) == NULL)
  	goto done;
***************
*** 95,101 ****
      (void) strcpy(fst->folder_name, buf+1);
  
      /* retrieve number of messages in the folder */
!     if (fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'N')
  	goto done;
      fst->num_mssgs = atoi(buf+1);
  
--- 95,101 ----
      (void) strcpy(fst->folder_name, buf+1);
  
      /* retrieve number of messages in the folder */
!     if (elm_fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'N')
  	goto done;
      fst->num_mssgs = atoi(buf+1);
  
***************
*** 106,118 ****
  
      /* load in the indices of the messages */
      for (i = 0 ; i < fst->num_mssgs ; ++i) {
! 	if (fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'I')
  	    goto done;
  	fst->idx_list[i] = atol(buf+1);
      }
  
      /* load in the number of messages selected */
!     if (fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'C')
  	goto done;
      fst->num_sel = atoi(buf+1);
  
--- 106,118 ----
  
      /* load in the indices of the messages */
      for (i = 0 ; i < fst->num_mssgs ; ++i) {
! 	if (elm_fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'I')
  	    goto done;
  	fst->idx_list[i] = atol(buf+1);
      }
  
      /* load in the number of messages selected */
!     if (elm_fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'C')
  	goto done;
      fst->num_sel = atoi(buf+1);
  
***************
*** 126,132 ****
  
  	/* load in the list of selected messages */
  	for (i = 0 ; i < fst->num_sel ; ++i) {
! 	    if (fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'S')
  		goto done;
  	    fst->sel_list[i] = atoi(buf+1);
  	}
--- 126,132 ----
  
  	/* load in the list of selected messages */
  	for (i = 0 ; i < fst->num_sel ; ++i) {
! 	    if (elm_fgetline(buf, sizeof(buf), fp) == NULL || buf[0] != 'S')
  		goto done;
  	    fst->sel_list[i] = atoi(buf+1);
  	}
***************
*** 134,140 ****
      }
  
      /* that should be the end of the file */
!     if (fgetline(buf, sizeof(buf), fp) != NULL)
  	goto done;
  
      /* success */
--- 134,140 ----
      }
  
      /* that should be the end of the file */
!     if (elm_fgetline(buf, sizeof(buf), fp) != NULL)
  	goto done;
  
      /* success */
diff -r -c ../elm2.4.orig//lib/opt_utils.c ./lib/opt_utils.c
*** ../elm2.4.orig//lib/opt_utils.c	Sun Jul 26 14:36:39 1992
--- ./lib/opt_utils.c	Thu Oct  1 12:47:42 1992
***************
*** 247,253 ****
  /** some supplementary string functions for Berkeley Unix systems **/
  
  int
! tolower(ch)
  int ch;
  {
  	/** This should be a macro call, but if you use this as a macro
--- 247,253 ----
  /** some supplementary string functions for Berkeley Unix systems **/
  
  int
! elm_tolower(ch)
  int ch;
  {
  	/** This should be a macro call, but if you use this as a macro
***************
*** 262,268 ****
  }
  
  int
! toupper(ch)
  int ch;
  {
  	/** see comment for above routine - tolower() **/
--- 262,268 ----
  }
  
  int
! elm_toupper(ch)
  int ch;
  {
  	/** see comment for above routine - tolower() **/
diff -r -c ../elm2.4.orig//lib/shiftlower.c ./lib/shiftlower.c
*** ../elm2.4.orig//lib/shiftlower.c	Tue Jul 14 22:12:43 1992
--- ./lib/shiftlower.c	Thu Oct  1 12:48:55 1992
***************
*** 46,52 ****
  
  	for (; *string; string++, bufptr++)
  	  if (isupper(*string))
! 	    *bufptr = tolower(*string);
  	  else
  	    *bufptr = *string;
  	
--- 46,52 ----
  
  	for (; *string; string++, bufptr++)
  	  if (isupper(*string))
! 	    *bufptr = elm_tolower(*string);
  	  else
  	    *bufptr = *string;
  	
diff -r -c ../elm2.4.orig//lib/strincmp.c ./lib/strincmp.c
*** ../elm2.4.orig//lib/strincmp.c	Tue Jul 14 22:12:44 1992
--- ./lib/strincmp.c	Thu Oct  1 12:49:04 1992
***************
*** 42,49 ****
  	/* 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;
--- 42,49 ----
  	/* case insensitive comparison */
  	register int d;
  	while (--n >= 0) {
! 	  d = ( isupper(*s1) ? elm_tolower(*s1) : *s1 )
! 		  - ( isupper(*s2) ? elm_tolower(*s2) : *s2 ) ;
  	  if ( d != 0 || *s1 == '\0' || *s2 == '\0' )
  	    return d;
  	  ++s1;
diff -r -c ../elm2.4.orig//src/addr_util.c ./src/addr_util.c
*** ../elm2.4.orig//src/addr_util.c	Sun Jun 21 20:56:46 1992
--- ./src/addr_util.c	Thu Oct  1 12:40:16 1992
***************
*** 762,768 ****
          /* first get time into lower case */
          for (p=mybuf, q=mybuf+sizeof mybuf, t = timebuff; 
  	     *t && p<q; p++, t++) {
! 	  *p = isupper(*t) ? tolower(*t) : *t;
          }
  	*p = 0;
  	p = mybuf;
--- 762,768 ----
          /* first get time into lower case */
          for (p=mybuf, q=mybuf+sizeof mybuf, t = timebuff; 
  	     *t && p<q; p++, t++) {
! 	  *p = isupper(*t) ? elm_tolower(*t) : *t;
          }
  	*p = 0;
  	p = mybuf;
***************
*** 853,859 ****
  
      /* first get everything into lower case */
      for (p=buffer, q=buffer+sizeof buffer; *string && p<q; p++, string++) {
! 	*p = isupper(*string) ? tolower(*string) : *string;
      }
      *p = 0;
      p = buffer;
--- 853,859 ----
  
      /* first get everything into lower case */
      for (p=buffer, q=buffer+sizeof buffer; *string && p<q; p++, string++) {
! 	*p = isupper(*string) ? elm_tolower(*string) : *string;
      }
      *p = 0;
      p = buffer;
diff -r -c ../elm2.4.orig//src/alias.c ./src/alias.c
*** ../elm2.4.orig//src/alias.c	Thu Sep 24 19:06:20 1992
--- ./src/alias.c	Thu Oct  1 12:40:40 1992
***************
*** 1188,1194 ****
  	lower_prompt(alias_prompt);
  
  	while ((ch = ReadCh()) != '.') {
! 	  ch = tolower(ch);
  	  switch(ch) {
  	    case '?' : display_helpfile(ALIAS_HELP);	
  		       redraw++;
--- 1188,1194 ----
  	lower_prompt(alias_prompt);
  
  	while ((ch = ReadCh()) != '.') {
! 	  ch = elm_tolower(ch);
  	  switch(ch) {
  	    case '?' : display_helpfile(ALIAS_HELP);	
  		       redraw++;
diff -r -c ../elm2.4.orig//src/date.c ./src/date.c
*** ../elm2.4.orig//src/date.c	Thu Aug  6 20:06:06 1992
--- ./src/date.c	Thu Oct  1 12:41:06 1992
***************
*** 162,182 ****
  
  	char ch;
  
! 	switch (tolower(name[0])) {
! 	 case 'a' : if ((ch = tolower(name[1])) == 'p')	return(APRIL);
  		    else if (ch == 'u') return(AUGUST);
  		    else return(-1);	/* error! */
  	
  	 case 'd' : return(DECEMBER);
  	 case 'f' : return(FEBRUARY);
! 	 case 'j' : if ((ch = tolower(name[1])) == 'a') return(JANUARY);
  		    else if (ch == 'u') {
! 	              if ((ch = tolower(name[2])) == 'n') return(JUNE);
  		      else if (ch == 'l') return(JULY);
  		      else return(-1);		/* error! */
  	            }
  		    else return(-1);		/* error */
! 	 case 'm' : if ((ch = tolower(name[2])) == 'r') return(MARCH);
  		    else if (ch == 'y') return(MAY);
  		    else return(-1);		/* error! */
  	 case 'n' : return(NOVEMBER);
--- 162,182 ----
  
  	char ch;
  
! 	switch (elm_tolower(name[0])) {
! 	 case 'a' : if ((ch = elm_tolower(name[1])) == 'p')	return(APRIL);
  		    else if (ch == 'u') return(AUGUST);
  		    else return(-1);	/* error! */
  	
  	 case 'd' : return(DECEMBER);
  	 case 'f' : return(FEBRUARY);
! 	 case 'j' : if ((ch = elm_tolower(name[1])) == 'a') return(JANUARY);
  		    else if (ch == 'u') {
! 	              if ((ch = elm_tolower(name[2])) == 'n') return(JUNE);
  		      else if (ch == 'l') return(JULY);
  		      else return(-1);		/* error! */
  	            }
  		    else return(-1);		/* error */
! 	 case 'm' : if ((ch = elm_tolower(name[2])) == 'r') return(MARCH);
  		    else if (ch == 'y') return(MAY);
  		    else return(-1);		/* error! */
  	 case 'n' : return(NOVEMBER);
diff -r -c ../elm2.4.orig//src/editmsg.c ./src/editmsg.c
*** ../elm2.4.orig//src/editmsg.c	Thu Sep 24 19:08:39 1992
--- ./src/editmsg.c	Thu Oct  1 12:41:54 1992
***************
*** 385,391 ****
  	register int n;
  	int lines = 0, nchars = 0;
  
! 	add_prefix = tolower(buffer[0]) == 'm';
  
  	/* strip whitespace to get argument */
  	for(arg = &buffer[1]; whitespace(*arg); arg++)
--- 385,391 ----
  	register int n;
  	int lines = 0, nchars = 0;
  
! 	add_prefix = elm_tolower(buffer[0]) == 'm';
  
  	/* strip whitespace to get argument */
  	for(arg = &buffer[1]; whitespace(*arg); arg++)
***************
*** 690,696 ****
  	  if (strcmp(buffer, ".") == 0)
  	    break;	/* '.' is as good as a ^D to us dumb programs :-) */
  	  if (buffer[0] == escape_char) {
! 	    switch (tolower(buffer[1])) {
  	      case '?' : tilde_help();
  			 goto more_input;
  
--- 690,696 ----
  	  if (strcmp(buffer, ".") == 0)
  	    break;	/* '.' is as good as a ^D to us dumb programs :-) */
  	  if (buffer[0] == escape_char) {
! 	    switch (elm_tolower(buffer[1])) {
  	      case '?' : tilde_help();
  			 goto more_input;
  
diff -r -c ../elm2.4.orig//src/hdrconfg.c ./src/hdrconfg.c
*** ../elm2.4.orig//src/hdrconfg.c	Fri Sep  4 17:15:25 1992
--- ./src/hdrconfg.c	Thu Oct  1 12:42:05 1992
***************
*** 256,262 ****
  	    ElmHdrmenuPrompt, "Choice: "));
  	c = getchar();
  	if (isupper(c))
! 	    c = tolower(c);
  	hdrmenu_clear_promptarea();
  
  	/* execute the command */
--- 256,262 ----
  	    ElmHdrmenuPrompt, "Choice: "));
  	c = getchar();
  	if (isupper(c))
! 	    c = elm_tolower(c);
  	hdrmenu_clear_promptarea();
  
  	/* execute the command */
***************
*** 605,611 ****
  
  	c = getchar();
  
! 	switch ((int)(isupper(c) ? tolower(c) : c)) {
  	case 't':
  	    h = &hmenu_to;
  	    break;
--- 605,611 ----
  
  	c = getchar();
  
! 	switch ((int)(isupper(c) ? elm_tolower(c) : c)) {
  	case 't':
  	    h = &hmenu_to;
  	    break;
diff -r -c ../elm2.4.orig//src/in_utils.c ./src/in_utils.c
*** ../elm2.4.orig//src/in_utils.c	Thu Aug  6 19:53:12 1992
--- ./src/in_utils.c	Thu Oct  1 12:42:20 1992
***************
*** 86,96 ****
  	fflush(stdin);
  
  	ch = ReadCh();
! 	ch = tolower(ch);
  
  	while (!( ch == *def_ans_yes || ch == *def_ans_no || ch == '\n' || ch == '\r')) {
  	  ch = ReadCh();
! 	  ch = tolower(ch);
  	}
  	if(ch == '\n' || ch == '\r')
  	  ch = dflt;
--- 86,96 ----
  	fflush(stdin);
  
  	ch = ReadCh();
! 	ch = elm_tolower(ch);
  
  	while (!( ch == *def_ans_yes || ch == *def_ans_no || ch == '\n' || ch == '\r')) {
  	  ch = ReadCh();
! 	  ch = elm_tolower(ch);
  	}
  	if(ch == '\n' || ch == '\r')
  	  ch = dflt;
diff -r -c ../elm2.4.orig//src/init.c ./src/init.c
*** ../elm2.4.orig//src/init.c	Fri Aug  7 08:42:46 1992
--- ./src/init.c	Thu Oct  1 13:33:05 1992
***************
*** 197,203 ****
  char *getlogin(), *strcpy(), *strcat(), *index();
  unsigned short getgid(), getuid(); 
  #ifndef	_POSIX_SOURCE
! struct passwd *getpwuid();
  #endif
  char *get_full_name();
  
--- 197,203 ----
  char *getlogin(), *strcpy(), *strcat(), *index();
  unsigned short getgid(), getuid(); 
  #ifndef	_POSIX_SOURCE
! struct passwd *getpwuid(uid_t);
  #endif
  char *get_full_name();
  
diff -r -c ../elm2.4.orig//src/limit.c ./src/limit.c
*** ../elm2.4.orig//src/limit.c	Sat Jun  6 20:12:29 1992
--- ./src/limit.c	Thu Oct  1 12:43:18 1992
***************
*** 91,97 ****
  		*def_ans_yes, *def_ans_no, *def_ans_no, BACKSPACE);
  	  PutLine0(LINES-2, 0, msg);
  	  criteria[0] = ReadCh();
! 	  if (tolower(criteria[0]) == *def_ans_yes) {
  	    Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmLimitYes, "Yes."), 0);
  	    PutLine0(LINES-3, COLUMNS-30, catgets(elm_msg_cat, ElmSet, ElmLimitAdding,
  		"Adding criteria..."));
--- 91,97 ----
  		*def_ans_yes, *def_ans_no, *def_ans_no, BACKSPACE);
  	  PutLine0(LINES-2, 0, msg);
  	  criteria[0] = ReadCh();
! 	  if (elm_tolower(criteria[0]) == *def_ans_yes) {
  	    Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmLimitYes, "Yes."), 0);
  	    PutLine0(LINES-3, COLUMNS-30, catgets(elm_msg_cat, ElmSet, ElmLimitAdding,
  		"Adding criteria..."));
diff -r -c ../elm2.4.orig//src/mailmsg1.c ./src/mailmsg1.c
*** ../elm2.4.orig//src/mailmsg1.c	Sun Sep 20 21:10:57 1992
--- ./src/mailmsg1.c	Thu Oct  1 12:43:23 1992
***************
*** 324,330 ****
  	  PutLine0(prompt_line, 0, msgbuf);
  
  	  ch = ReadCh();
! 	  if (tolower(ch) != *def_ans_yes) {	/* user says no! */
  	    Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmNo, "No."), 0);
  	    ClearLine(prompt_line);
  	    error(catgets(elm_msg_cat, ElmSet, ElmMailNotSend, "Mail not sent."));
--- 324,330 ----
  	  PutLine0(prompt_line, 0, msgbuf);
  
  	  ch = ReadCh();
! 	  if (elm_tolower(ch) != *def_ans_yes) {	/* user says no! */
  	    Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmNo, "No."), 0);
  	    ClearLine(prompt_line);
  	    error(catgets(elm_msg_cat, ElmSet, ElmMailNotSend, "Mail not sent."));
diff -r -c ../elm2.4.orig//src/mailmsg2.c ./src/mailmsg2.c
*** ../elm2.4.orig//src/mailmsg2.c	Thu Sep 24 19:04:20 1992
--- ./src/mailmsg2.c	Thu Oct  1 12:43:39 1992
***************
*** 757,763 ****
  	    CleartoEOLN();
  	    fflush(stdout);
  	    ch = ReadCh();
! 	    ch = tolower(ch);
  	    if (ch == *def_ans_yes) {
  	      Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmYes, "Yes."), 0);	
                retransmit++;
--- 757,763 ----
  	    CleartoEOLN();
  	    fflush(stdout);
  	    ch = ReadCh();
! 	    ch = elm_tolower(ch);
  	    if (ch == *def_ans_yes) {
  	      Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmYes, "Yes."), 0);	
                retransmit++;
***************
*** 838,844 ****
  	  Raw(ON);	/* double check... testing only... */
  	  MoveCursor(x_coord, y_coord);
  	  ch = ReadCh();
! 	  ch = tolower(ch);
  
  	  /* process answer */
  	  switch (ch) {
--- 838,844 ----
  	  Raw(ON);	/* double check... testing only... */
  	  MoveCursor(x_coord, y_coord);
  	  ch = ReadCh();
! 	  ch = elm_tolower(ch);
  
  	  /* process answer */
  	  switch (ch) {
***************
*** 1306,1312 ****
  	fflush(stdin);	/* wait for answer! */
  	fflush(stdout);
  	ch = ReadCh();
! 	if (tolower(ch) != *def_ans_yes) { 
  	  Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmNo, "No."), 0);
  	  fflush(stdout);
  	  return(FALSE);
--- 1306,1312 ----
  	fflush(stdin);	/* wait for answer! */
  	fflush(stdout);
  	ch = ReadCh();
! 	if (elm_tolower(ch) != *def_ans_yes) { 
  	  Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmNo, "No."), 0);
  	  fflush(stdout);
  	  return(FALSE);
diff -r -c ../elm2.4.orig//src/options.c ./src/options.c
*** ../elm2.4.orig//src/options.c	Thu Sep 24 19:04:57 1992
--- ./src/options.c	Thu Oct  1 12:44:24 1992
***************
*** 328,334 ****
  	lower_prompt(prompt = catgets(elm_msg_cat, ElmSet, ElmKeyPrompt, "Key : "));
  
  	while ((c = ReadCh()) != '.') {
! 	  c = tolower(c);
  	  if (c == '?') {
  	     display_helpfile(OPTIONS_HELP);
  	     display_options();
--- 328,334 ----
  	lower_prompt(prompt = catgets(elm_msg_cat, ElmSet, ElmKeyPrompt, "Key : "));
  
  	while ((c = ReadCh()) != '.') {
! 	  c = elm_tolower(c);
  	  if (c == '?') {
  	     display_helpfile(OPTIONS_HELP);
  	     display_options();
***************
*** 408,414 ****
  	  PutLine0(LINES-2, 0, prompt);
  
  	  ch = ReadCh();
! 	  ch = tolower(ch);
  
  	  clear_error();	/* remove possible "sorting" message etc... */ 
  
--- 408,414 ----
  	  PutLine0(LINES-2, 0, prompt);
  
  	  ch = ReadCh();
! 	  ch = elm_tolower(ch);
  
  	  clear_error();	/* remove possible "sorting" message etc... */ 
  
***************
*** 512,518 ****
  
  	do {
  	  ch = ReadCh();
! 	  ch = tolower(ch);
  	  switch (ch) {
  	    case SPACE : if (sortby < 0) { 
  	    		   sign = -1; 
--- 512,518 ----
  
  	do {
  	  ch = ReadCh();
! 	  ch = elm_tolower(ch);
  	  switch (ch) {
  	    case SPACE : if (sortby < 0) { 
  	    		   sign = -1; 
***************
*** 650,656 ****
  
  	do {
  	  ch = ReadCh();
! 	  ch = tolower(ch);
  	  switch (ch) {
  	    case SPACE : if (alias_sortby < 0) { 
  	    		   sign = -1; 
--- 650,656 ----
  
  	do {
  	  ch = ReadCh();
! 	  ch = elm_tolower(ch);
  	  switch (ch) {
  	    case SPACE : if (alias_sortby < 0) { 
  	    		   sign = -1; 
diff -r -c ../elm2.4.orig//src/read_rc.c ./src/read_rc.c
*** ../elm2.4.orig//src/read_rc.c	Thu Sep 24 19:04:58 1992
--- ./src/read_rc.c	Thu Oct  1 12:44:42 1992
***************
*** 366,372 ****
  
  	  fflush(stdout);
  	  ch=getchar();
! 	  if (isupper(ch)) ch = tolower(ch);
  	  if (ch == '\n' || ch == '\r') /* they took the default by pressing cr */
  		ch = *def_ans_no;
  
--- 366,372 ----
  
  	  fflush(stdout);
  	  ch=getchar();
! 	  if (isupper(ch)) ch = elm_tolower(ch);
  	  if (ch == '\n' || ch == '\r') /* they took the default by pressing cr */
  		ch = *def_ans_no;
  
***************
*** 520,526 ****
  
  	  fflush(stdout);
  	  ch=getchar();
! 	  if (isupper(ch)) ch = tolower(ch);
  	  if (ch == '\n' || ch == '\r') /* they took the default by pressing cr */
  		ch = *def_ans_yes;
  
--- 520,526 ----
  
  	  fflush(stdout);
  	  ch=getchar();
! 	  if (isupper(ch)) ch = elm_tolower(ch);
  	  if (ch == '\n' || ch == '\r') /* they took the default by pressing cr */
  		ch = *def_ans_yes;
  
***************
*** 917,923 ****
  	  if (buffer[i] == '_')
  	    word1[i] = '-';
  	  else if (isupper(buffer[i]))
! 	    word1[i] = tolower(buffer[i]);
  	  else
  	    word1[i] = buffer[i];
  
--- 917,923 ----
  	  if (buffer[i] == '_')
  	    word1[i] = '-';
  	  else if (isupper(buffer[i]))
! 	    word1[i] = elm_tolower(buffer[i]);
  	  else
  	    word1[i] = buffer[i];
  
***************
*** 1078,1084 ****
  	register int i, j;
  
  	for (i=0, j=0; word[i] != '\0'; i++)
! 	  mybuffer[j++] = isupper(word[i]) ? tolower(word[i]) : word[i];
  	mybuffer[j] = '\0';
  
  	return(  (strncmp(mybuffer, "on",   2) == 0) ||
--- 1078,1084 ----
  	register int i, j;
  
  	for (i=0, j=0; word[i] != '\0'; i++)
! 	  mybuffer[j++] = isupper(word[i]) ? elm_tolower(word[i]) : word[i];
  	mybuffer[j] = '\0';
  
  	return(  (strncmp(mybuffer, "on",   2) == 0) ||
diff -r -c ../elm2.4.orig//src/remail.c ./src/remail.c
*** ../elm2.4.orig//src/remail.c	Tue Jul 14 22:03:27 1992
--- ./src/remail.c	Thu Oct  1 12:44:50 1992
***************
*** 133,139 ****
  	fflush(stdin);
  	fflush(stdout);
  	ch = ReadCh();
! 	if (tolower(ch) == *def_ans_no) { /* another day, another No... */
  	  Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmNo, "No."), 0);
  	  set_error(catgets(elm_msg_cat, ElmSet, ElmBounceCancelled,
  		"Bounce of message cancelled."));
--- 133,139 ----
  	fflush(stdin);
  	fflush(stdout);
  	ch = ReadCh();
! 	if (elm_tolower(ch) == *def_ans_no) { /* another day, another No... */
  	  Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmNo, "No."), 0);
  	  set_error(catgets(elm_msg_cat, ElmSet, ElmBounceCancelled,
  		"Bounce of message cancelled."));
diff -r -c ../elm2.4.orig//src/reply.c ./src/reply.c
*** ../elm2.4.orig//src/reply.c	Sun Sep 20 19:57:37 1992
--- ./src/reply.c	Thu Oct  1 12:45:55 1992
***************
*** 515,521 ****
  		    for (c += 2; *c && (*c++ != '='); );
  		    for ( ;*c && (*c != '/'); c++) {
  			name[iindex++] = trans_to_lowercase
! 					? tolower (*c) : *c;
  		    }
  		    if (iindex > 0) {
  			name[iindex++] = '.';
--- 515,521 ----
  		    for (c += 2; *c && (*c++ != '='); );
  		    for ( ;*c && (*c != '/'); c++) {
  			name[iindex++] = trans_to_lowercase
! 					? elm_tolower (*c) : *c;
  		    }
  		    if (iindex > 0) {
  			name[iindex++] = '.';
***************
*** 527,533 ****
  		    for (c += 2; *c && (*c++ != '='); );
  		    for ( ;*c && (*c != '/'); c++) {
  			name[iindex++] = trans_to_lowercase
! 					? tolower (*c) : *c;
  		    }
  		}
  		name[iindex] = '\0';
--- 527,533 ----
  		    for (c += 2; *c && (*c++ != '='); );
  		    for ( ;*c && (*c != '/'); c++) {
  			name[iindex++] = trans_to_lowercase
! 					? elm_tolower (*c) : *c;
  		    }
  		}
  		name[iindex] = '\0';
***************
*** 569,575 ****
  
  	    for (iindex = 0; iindex < loc - i + 1; iindex++)
  		if (trans_to_lowercase)
! 		    name[iindex] = tolower(single_address[iindex+i]);
  		else
  		    name[iindex] = single_address[iindex+i];
  	    name[iindex] = '\0';
--- 569,575 ----
  
  	    for (iindex = 0; iindex < loc - i + 1; iindex++)
  		if (trans_to_lowercase)
! 		    name[iindex] = elm_tolower(single_address[iindex+i]);
  		else
  		    name[iindex] = single_address[iindex+i];
  	    name[iindex] = '\0';
***************
*** 588,594 ****
  	    for (i = loc; single_address[i] != '!'
  		 && single_address[i] != '.' && i > -1; i--) {
  		if (trans_to_lowercase)
! 		    name[iindex++] = tolower(single_address[i]);
  		else
  		    name[iindex++] = single_address[i];
  	    }
--- 588,594 ----
  	    for (i = loc; single_address[i] != '!'
  		 && single_address[i] != '.' && i > -1; i--) {
  		if (trans_to_lowercase)
! 		    name[iindex++] = elm_tolower(single_address[i]);
  		else
  		    name[iindex++] = single_address[i];
  	    }
diff -r -c ../elm2.4.orig//src/strings.c ./src/strings.c
*** ../elm2.4.orig//src/strings.c	Thu Aug  6 19:53:12 1992
--- ./src/strings.c	Thu Oct  1 12:46:27 1992
***************
*** 233,239 ****
  	    if (islower(*buffer))
  	      *first = *buffer;
  	    else
! 	      *first = tolower(*buffer);
  	    buffer++;
  	    first++;
  	  }
--- 233,239 ----
  	    if (islower(*buffer))
  	      *first = *buffer;
  	    else
! 	      *first = elm_tolower(*buffer);
  	    buffer++;
  	    first++;
  	  }
***************
*** 252,258 ****
  	  if (islower(*buffer))
  	    *rest = *buffer;
  	  else
! 	    *rest = tolower(*buffer);
  
  	*rest = '\0';
  
--- 252,258 ----
  	  if (islower(*buffer))
  	    *rest = *buffer;
  	  else
! 	    *rest = elm_tolower(*buffer);
  
  	*rest = '\0';
  
diff -r -c ../elm2.4.orig//src/syscall.c ./src/syscall.c
*** ../elm2.4.orig//src/syscall.c	Fri Aug  7 08:53:32 1992
--- ./src/syscall.c	Thu Oct  1 12:55:47 1992
***************
*** 217,223 ****
  	extern int errno;
  
  	/* figure out what shell we are using here */
! 	sh = ((options & SY_USER_SHELL) ? shell : "/bin/sh");
  	dprint(2, (debugfile, "System Call: %s\n\t%s\n", sh, string));
  
  	/* if we aren't reading a folder then a state dump is meaningless */
--- 217,223 ----
  	extern int errno;
  
  	/* figure out what shell we are using here */
! 	sh = ((options & SY_USER_SHELL) ? shell : "/bin/bash");
  	dprint(2, (debugfile, "System Call: %s\n\t%s\n", sh, string));
  
  	/* if we aren't reading a folder then a state dump is meaningless */
diff -r -c ../elm2.4.orig//utils/answer.c ./utils/answer.c
*** ../elm2.4.orig//utils/answer.c	Sun Sep 20 19:04:21 1992
--- ./utils/answer.c	Thu Oct  1 12:37:15 1992
***************
*** 309,315 ****
  	for (i=0, len = strlen(fullname); i < len; i++) {
  
  	  if (isupper(fullname[i]))
! 	     fullname[i] = tolower(fullname[i]);
  
  	  if (fullname[i] == ' ') 
  	    if (lastname) {
--- 309,315 ----
  	for (i=0, len = strlen(fullname); i < len; i++) {
  
  	  if (isupper(fullname[i]))
! 	     fullname[i] = elm_tolower(fullname[i]);
  
  	  if (fullname[i] == ' ') 
  	    if (lastname) {
------------------------------------------------
-- 
Carlos Talbot                     | E-Mail: ctalbot@lucpul.it.luc.edu
Medical Informatics, Med. Center  |         cgt@gargoyle.uchicago.edu
Loyola University Chicago         | Tel. 708-216-6347