From 6e425a9de8c003b5a733621a6b6730ec3cc902b8 Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Sat, 23 Dec 2006 00:30:12 +0000 Subject: 20061220 --- appl/acme/acme/mail/src/Mailpop3.b | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'appl/acme') 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 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"); -- cgit v1.2.3