home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The AGA Experience 2
/
agavol2.iso
/
software
/
utilities
/
comms
/
metamail-2.3a
/
elm113diffs.lha
/
f1.diff
< prev
next >
Wrap
Text File
|
1992-06-14
|
8KB
|
330 lines
*** Elm113/f1.c Sat Apr 18 15:43:36 1992
--- new/f1.c Mon May 04 23:57:08 1992
***************
*** 1,6 ****
--- 1,12 ----
#include "prefs.h"
+ #ifdef LATTICE
#include <proto/dos.h>
#include <proto/exec.h>
+ #endif
+ #ifdef DICE
+ #include <clib/dos_protos.h>
+ #include <clib/exec_protos.h>
+ #endif
Prototype void sendmail(char *, char *);
***************
*** 94,100 ****
sprintf(String,"sendmail <%s -f %s -R \"%s\"",MailTmp,"MAILER-DAEMON","Mail Delivery Subsystem");
else if (SendmailVersion==SM_OTHER)
sprintf(String,"sendmail <%s -f %s",MailTmp,"MAILER-DAEMON");
! Execute(String,NULL,NULL);
}
}
--- 100,106 ----
sprintf(String,"sendmail <%s -f %s -R \"%s\"",MailTmp,"MAILER-DAEMON","Mail Delivery Subsystem");
else if (SendmailVersion==SM_OTHER)
sprintf(String,"sendmail <%s -f %s",MailTmp,"MAILER-DAEMON");
! Execute(String,(BPTR)NULL,(BPTR)NULL);
}
}
***************
*** 123,129 ****
sprintf(String,"sendmail <%s -f %s -R \"%s\"",MailTmp,"MAILER-DAEMON","Mail Delivery Subsystem");
else if (SendmailVersion==SM_OTHER)
sprintf(String,"sendmail <%s -f %s",MailTmp,"MAILER-DAEMON");
! Execute(String,NULL,NULL);
}
}
}
--- 129,135 ----
sprintf(String,"sendmail <%s -f %s -R \"%s\"",MailTmp,"MAILER-DAEMON","Mail Delivery Subsystem");
else if (SendmailVersion==SM_OTHER)
sprintf(String,"sendmail <%s -f %s",MailTmp,"MAILER-DAEMON");
! Execute(String,(BPTR)NULL,(BPTR)NULL);
}
}
}
***************
*** 145,150 ****
--- 151,161 ----
I=*i_th(Number);
+ #ifndef NOMETAMAIL
+ if (!getenv("NOMETAMAIL") && I.NotPlain) {
+ sprintf(TBuffer,"\fExternal pager: %s, message: %d.\n","metamail",Number);
+ } else
+ #endif
sprintf(TBuffer,"\fExternal pager: %s, message: %d.\n",Pager,Number);
outline();
***************
*** 159,164 ****
--- 170,199 ----
return;
}
+ #ifndef NOMETAMAIL
+ if (!getenv("NOMETAMAIL") && I.NotPlain) {
+ j=I.ArtikelStart;
+ l=I.ArtikelEnd;
+
+ fseek(in,j,0);
+
+ while(getline(in,Text,&r) && (r<=l)) {
+ fprintf(out,"%s\n",Text);
+ }
+
+ CloseHomeBox(in);
+ fclose(out);
+
+ sprintf(Text,"metamail <* -m Elm %s",MailTmp);
+ WorkbenchToFront();
+ Execute(Text,(BPTR)NULL,(BPTR)NULL);
+ ElmToFront();
+
+ HandleReturns(I);
+ i_th(Number)->Status |= READ;
+ return;
+ }
+ #endif
sprintf(Text,"Message %d/%d From %.50s",Number,MaxArticle,I.FromName?I.FromName:I.From);
while ((6+strlen(Text))<EXT_PAGER_WIDTH) /* +6 (ctrl-chars, see above) -6 (length of date) */
strcat(Text," ");
***************
*** 197,203 ****
sprintf(Text,"%s %s",Pager,MailTmp);
WorkbenchToFront();
! Execute(Text,NULL,NULL);
ElmToFront();
HandleReturns(I);
--- 232,238 ----
sprintf(Text,"%s %s",Pager,MailTmp);
WorkbenchToFront();
! Execute(Text,(BPTR)NULL,(BPTR)NULL);
ElmToFront();
HandleReturns(I);
***************
*** 229,236 ****
I=*i_th(Number);
! display_page:
if(!(fp=OpenHomeBox())) {
status_msg("error: cannot open folder - mail not read",100L);
return;
--- 264,278 ----
I=*i_th(Number);
! #ifndef NOMETAMAIL
! if (!getenv("NOMETAMAIL") && I.NotPlain) {
! readmail_ext(Number,full_header);
! return;
! }
! #endif
+ display_page:
+
if(!(fp=OpenHomeBox())) {
status_msg("error: cannot open folder - mail not read",100L);
return;
***************
*** 600,610 ****
! void
! forwardmail(int Number,int full_header)
{
FILE *in,*out;
char String[MAX_LINELENGTH];
char *subj;
struct MailItem I;
--- 642,781 ----
! #ifndef NOMETAMAIL
! /*
! * The string 'from' is going to be placed inside quotes ('"') as an
! * argument to the CLI. Quote all characters which can be interpreted by
! * the CLI. We currently quote '*' and '"', should any other characters be
! * quoted?
! */
! quoteQuotedString(char *from,char *to)
{
+ while (*from) {
+ if (*from == '*' || *from == '"') {
+ *to++ = '*';
+ }
+ *to++ = *from++;
+ }
+ *to = 0;
+ }
+
+
+
+ void
+ replyMIMEmail(int Number,BOOL group_reply)
+ {
FILE *in,*out;
char String[MAX_LINELENGTH];
+ struct MailItem I;
+ long r;
+
+ if (Number<1 || Number>MaxArticle)
+ return;
+
+ if (!(out=fopen(MailTmp,"w"))) {
+ status_msg("error: cannot open temporary file - mail not sent",100L);
+ return;
+ }
+
+ I=*i_th(Number);
+
+ if((in=OpenHomeBox())==NULL) {
+ status_msg("error: cannot open folder - mail not sent",100L);
+ fclose(out);
+ return;
+ }
+
+ do_introduction(out,ReplyIntro,&I);
+
+ fseek(in,I.ArtikelStart,0);
+ while(getline(in,String,&r) && (r<=I.ArtikelEnd)) {
+ fprintf(out,"%s\n",String);
+ }
+ CloseHomeBox(in);
+ fclose(out);
+
+ putst(" ");
+ putst(MailTmp);
+
+ strcpy(String, "mailto <* \"");
+
+ if (I.ReplyTo)
+ quoteQuotedString(I.ReplyTo, String + strlen(String));
+ else
+ quoteQuotedString(I.From, String + strlen(String));
+ strcat(String, "\"");
+
+ if (group_reply) {
+ struct AliasItem *cc_list,*to_list,*l;
+ BOOL firstTime = TRUE;
+
+ to_list = list_wo_own(I.To);
+ cc_list = list_wo_own(I.Cc);
+
+ for (l = cc_list; l; l = l->next) {
+ if (l->alias) {
+ if (firstTime) {
+ firstTime = FALSE;
+ strcat(String, " -c \"");
+ }
+ strcat(String, " ");
+ quoteQuotedString(l->alias, String + strlen(String));
+ }
+ }
+
+ for (l = to_list; l; l = l->next) {
+ if (l->alias) {
+ if (firstTime) {
+ firstTime = FALSE;
+ strcat(String, " -c \"");
+ }
+ strcat(String, " ");
+ quoteQuotedString(l->alias, String + strlen(String));
+ }
+ }
+
+ if (!firstTime)
+ strcat(String, "\"");
+
+ FreeAliasList(&cc_list);
+ FreeAliasList(&to_list);
+ }
+
+ strcat(String, " -s ");
+ if (I.Subject==NULL || strlen(I.Subject)<1) {
+ strcat(String, "\"Re: your mail\"");
+ } else if (strnicmp(I.Subject,"Re:",3)==0) {
+ strcat(String, "\"");
+ quoteQuotedString(I.Subject, String + strlen(String));
+ strcat(String, "\"");
+ } else {
+ strcat(String, "\"Re: ");
+ quoteQuotedString(I.Subject, String + strlen(String));
+ strcat(String, "\"");
+ }
+
+ if (I.MessageID != NULL && strlen(I.MessageID) > 0) {
+ strcat(String, " -r \"");
+ quoteQuotedString(I.MessageID, String + strlen(String));
+ strcat(String, "\"");
+ }
+
+ WorkbenchToFront();
+ Execute(String,(BPTR)NULL,(BPTR)NULL);
+ ElmToFront();
+
+ i_th(Number)->Status |= ANSWERED;
+ }
+ #endif
+
+
+
+ void
+ forwardmail(int Number,int full_header)
+ {
+ FILE *in,*out;
+ char String[MAX_LINELENGTH];
char *subj;
struct MailItem I;
***************
*** 869,875 ****
fclose(out);
sprintf(exec,PipeDefault,MailTmp);
! Execute(exec,NULL,NULL);
/*
Delay(100L);
Close(fh);
--- 1040,1046 ----
fclose(out);
sprintf(exec,PipeDefault,MailTmp);
! Execute(exec,(BPTR)NULL,(BPTR)NULL);
/*
Delay(100L);
Close(fh);
***************
*** 902,908 ****
str=malloc(strlen(MailEditor)+strlen(name)+2);
sprintf(str,"%s %s",MailEditor,name);
WorkbenchToFront();
! Execute(str,NULL,NULL);
ElmToFront();
free(str);
}
--- 1073,1079 ----
str=malloc(strlen(MailEditor)+strlen(name)+2);
sprintf(str,"%s %s",MailEditor,name);
WorkbenchToFront();
! Execute(str,(BPTR)NULL,(BPTR)NULL);
ElmToFront();
free(str);
}