Small updates for mailreading
This commit is contained in:
parent
bce8145f4c
commit
617377f403
@ -142,17 +142,20 @@ void ShowEmailHdr(void)
|
||||
|
||||
/* From : */
|
||||
pout(YELLOW, BLACK, (char *) Language(209));
|
||||
pout(LIGHTGREEN, BLACK, Msg.From);
|
||||
colour(LIGHTGREEN, BLACK);
|
||||
PUTSTR(chartran(Msg.From));
|
||||
Enter(1);
|
||||
|
||||
/* To : */
|
||||
pout(YELLOW, BLACK, (char *) Language(208));
|
||||
pout(LIGHTGREEN, BLACK, Msg.To);
|
||||
colour(LIGHTGREEN, BLACK);
|
||||
PUTSTR(chartran(Msg.To));
|
||||
Enter(1);
|
||||
|
||||
/* Subject : */
|
||||
pout(YELLOW, BLACK, (char *) Language(210));
|
||||
pout(LIGHTGREEN, BLACK, Msg.Subject);
|
||||
colour(LIGHTGREEN, BLACK);
|
||||
PUTSTR(chartran(Msg.Subject));
|
||||
Enter(1);
|
||||
|
||||
if (Msg.Reply)
|
||||
@ -376,7 +379,7 @@ int Save_Email(int IsReply)
|
||||
|
||||
int Read_a_Email(unsigned int Num)
|
||||
{
|
||||
char *p = NULL, *fn;
|
||||
char *p = NULL, *fn, *charset = NULL, *charsin = NULL;
|
||||
lastread LR;
|
||||
|
||||
LastNum = Num;
|
||||
@ -408,7 +411,6 @@ int Read_a_Email(unsigned int Num)
|
||||
sleep(3);
|
||||
return FALSE;
|
||||
}
|
||||
ShowEmailHdr();
|
||||
|
||||
/*
|
||||
* Fill Quote file in case the user wants to reply. Note that line
|
||||
@ -422,6 +424,12 @@ int Read_a_Email(unsigned int Num)
|
||||
if ((p = (char *)MsgText_First()) != NULL)
|
||||
do {
|
||||
if (p[0] == '\001') {
|
||||
/*
|
||||
* Check CHRS kludge
|
||||
*/
|
||||
if (strncmp(p, "\001CHRS: ", 7) == 0) {
|
||||
charset = xstrcpy(p + 7);
|
||||
}
|
||||
/*
|
||||
* While doing this, store the original Message-id in case
|
||||
* a reply will be made.
|
||||
@ -444,6 +452,19 @@ int Read_a_Email(unsigned int Num)
|
||||
}
|
||||
free(fn);
|
||||
|
||||
if (charset == NULL) {
|
||||
charsin = xstrcpy((char *)"CP437");
|
||||
} else {
|
||||
charsin = xstrcpy(get_ic_ftn(find_ftn_charset(charset)));
|
||||
}}
|
||||
|
||||
/*
|
||||
* Setup character translation
|
||||
*/
|
||||
chartran_init(charsin, get_ic_ftn(exitinfo.Charset), 'b');
|
||||
|
||||
ShowEmailHdr();
|
||||
|
||||
/*
|
||||
* Show message text
|
||||
*/
|
||||
@ -453,7 +474,10 @@ int Read_a_Email(unsigned int Num)
|
||||
do {
|
||||
if (p[0] == '\001') {
|
||||
if (Kludges) {
|
||||
pout(LIGHTGRAY, BLACK, p);
|
||||
colour(LIGHTGRAY, BLACK);
|
||||
if (p[0] == '\001')
|
||||
p[0] = 'a';
|
||||
PUTSTR(chartran(p));
|
||||
Enter(1);
|
||||
if (CheckLine(CFG.TextColourF, CFG.TextColourB, TRUE))
|
||||
break;
|
||||
@ -463,7 +487,7 @@ int Read_a_Email(unsigned int Num)
|
||||
if (strchr(p, '>') != NULL)
|
||||
if ((strlen(p) - strlen(strchr(p, '>'))) < 10)
|
||||
colour(CFG.HiliteF, CFG.HiliteB);
|
||||
PUTSTR(p);
|
||||
PUTSTR(chartran(p));
|
||||
Enter(1);
|
||||
if (CheckLine(CFG.TextColourF, CFG.TextColourB, TRUE))
|
||||
break;
|
||||
@ -472,6 +496,12 @@ int Read_a_Email(unsigned int Num)
|
||||
}
|
||||
}
|
||||
|
||||
if (charset)
|
||||
free(charset);
|
||||
if (charsin)
|
||||
free(charsin);
|
||||
chartran_close();
|
||||
|
||||
/*
|
||||
* Set the Received status on this message.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user