summaryrefslogtreecommitdiff
path: root/appl/acme
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2006-12-23 00:30:12 +0000
committerCharles.Forsyth <devnull@localhost>2006-12-23 00:30:12 +0000
commit6e425a9de8c003b5a733621a6b6730ec3cc902b8 (patch)
tree314123bcab78ff295f38f85f31dc141e5fe22d15 /appl/acme
parent74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a (diff)
20061220
Diffstat (limited to 'appl/acme')
-rw-r--r--appl/acme/acme/mail/src/Mailpop3.b20
1 files changed, 12 insertions, 8 deletions
diff --git a/appl/acme/acme/mail/src/Mailpop3.b b/appl/acme/acme/mail/src/Mailpop3.b
index f267d737..4189cacf 100644
--- a/appl/acme/acme/mail/src/Mailpop3.b
+++ b/appl/acme/acme/mail/src/Mailpop3.b
@@ -648,7 +648,7 @@ nrunes(s : array of byte, nb : int) : int
n = 0;
for(i=0; i<nb; n++) {
- (r, b, ok) := byte2char(s, i);
+ (nil, b, ok) := byte2char(s, i);
if (!ok)
error("help needed in nrunes()");
i += b;
@@ -869,7 +869,7 @@ Win.wreadall(w : self ref Win) : string
return s;
}
-None,Unknown,Ignore,CC,From,ReplyTo,Sender,Subject,Re,To, Date : con iota;
+None, Unknown, Ignore, CC, From, ReplyTo, Sender, Subject, Re, To, Date, Received : con iota;
NHeaders : con 200;
Hdrs : adt {
@@ -887,6 +887,7 @@ hdrs := array[NHeaders+1] of {
Hdrs ( "Re:", Re ),
Hdrs ( "To:", To ),
Hdrs ( "Date:", Date),
+ Hdrs ( "Received:", Received),
* => Hdrs ( "", 0 ),
};
@@ -967,11 +968,14 @@ Mesg.read(b : ref Box) : ref Mesg
s : string;
n, typex : int;
- s = b.readline();
- n = len s;
- if(n <= 0)
- return nil;
-
+ for(;;){
+ s = b.readline();
+ n = len s;
+ if(n <= 0)
+ return nil;
+ if(n >= 5 && (s[0:5] == "From:" || s[0:5] == "From "))
+ break;
+ }
{
if(n < 5 || (s[0:5] !="From " && s[0:5] != "From:"))
raise("e");
@@ -1262,7 +1266,7 @@ Mesg.command(m : self ref Mesg, s : string) : int
}
if(len s >= 4 && s[0:4] == "Save"){
s = s[4:];
- while(s[0]==' ' || s[0]=='\t' || s[0]=='\n')
+ while(len s > 0 && (s[0]==' ' || s[0]=='\t' || s[0]=='\n'))
s = s[1:];
if(s == nil)
m.save("stored");