, > Mail.Sort - Process downloaded email  -<&2000:&87 = ctrl% 79,name% 63:A$=OS_GetEnv:A$="":"Sort file: "A$ (?mx%=(--3500+4000*(>&7FFF))-16:mem%mx%+84:data%=mem%+80 2debug%=:quit$="" <6hex$="0123456789ABCDEF":in$=ĩ A$," "):F$=80," ") FDArea0$=F$:S$=F$:R$=F$:M$=F$:T$=F$:N$=F$:I$=F$:X%=ctrl%:Y%=X%256 Pzquit$=cl(" -q",1): cl("-?",0):"Syntax: "run$" mailfile -fix -debug -nosave -keep -sd -sr -quit ":exit(0) Z2: .num%=mx%: ptr%+num%>#in%:num%=#in%-ptr% % debug%:"Loading ";~ptr%;"..."; 8ptr0%=ptr%:gbpb(3,in%,data%,num%,ptr%):data%!num%=0  debug%: $ $data%=0 ?data%<>13:LFtoCR iptr%=data%:next%= V: ScanHead: ScanBody:SaveFile:iptr%=iend%:ptr%=ptr0%+(iptr%-data%) next%= next% 5 ptr%=ptr0%:ptr%=ptr%+num%:"***LONG MESSAGE***"  ptr%>=#in% 1CloseIn: missed%=0 keep%:"*Delete "+in$ exit(0): "ݤScanHead: ,>M$=str: M$,8)="::: Area":Area0$=":: Area:"+M$,9):M$="" 6 M$<>"" @CD$=str:F$=str:T$=str:S$=str:I$="":R$="":N$="":iptr%=iptr%+1 Jdata%+num%:= T8 debug%:'"------Mail header:"'Area$'M$'D$'F$'T$'S$ ^/ debug%:'"------Scanning netmail header:" hBA%=F$," of fidonet"): A%:F$=F$,10,A%-9): F$="Email ":F$="" r |8eof%=!iptr%=0:A$=str:H$=A$,A$,":")):H$=H$,H$-1) H H$="From" :F$="From : "+F$+"<",F$<>"")+A$,7)+">",F$<>"") / H$="Date" :D$="Date "+A$,247),5)  H$="Subject" :S$=A$ 2 H$="ReplyTo" : R$="":R$="Reply-To"+A$,8) # H$="Reply-To" : R$="":R$=A$ + H$="List-Post" :R$="Reply-To"+A$,10)  H$="MessageID" :I$=A$ , H$="Message-ID":I$="MessageID"+A$,11)  H$="Newsgroups":N$=A$ ) iptr%>data%+num% ?iptr%=13 eof%  iptr%=iptr%+1: ?iptr%<>13  iptr%>data%+num%:= ) debug%: Area$'M$'D$'F$'S$'R$'I$'N$ = FixHeader * D$,10,2):D$=D$,9)+" , "+D$,10) &H D$,",")=0:D$=D$,12)+", "+D$,18,2)+D$,13,4)+D$,29,5)+D$,20,9) 0* D$,15,1)=" ":D$=D$,14)+"0"+D$,16) :* D$,16,1)=" ":D$=D$,14)+"0"+D$,15) D5:A%=S$,"[RE]"):A%:S$=S$,A%-1)+"Re:"+S$,A%+4) N9A%=0:A%=S$,"[Re]"):A%:S$=S$,A%-1)+"Re:"+S$,A%+4) X;A%=0:A%=S$,"[FWD]"):A%:S$=S$,A%-1)+"Fwd:"+S$,A%+5) b;A%=0:A%=S$,"[Fwd]"):A%:S$=S$,A%-1)+"Fwd:"+S$,A%+5) l A%=0 varea%= Area$,11) ~ area%=0: N$="":A%=S$,"["): A%:I%=S$,"]",A%): I%-A%>4:N$="Newsgroups: "+S$,A%+1,I%-A%-1):S$=S$,A%-1)+S$,A%+N$-9) 5:A%=S$,"RE:"): A%:S$=S$,A%-1)+"Re:"+S$,A%+3) < A%=0:A%=S$,"FWD:"): A%:S$=S$,A%-1)+"Fwd:"+S$,A%+4) 9 A%=0:A%=S$,"Re: Re: "): A%:S$=S$,A%-1)+S$,A%+4) ; A%=0:A%=S$,"Fwd: Fwd: "): A%:S$=S$,A%-1)+A$,A%+5)  A%=0 4R$<>"":R$,11,1)<"A":R$=R$,10)+R$,12,R$-12) 0uc(R$,11,7))="MAILTO:":R$=R$,10)+R$,18) = area%=0:A$=Spam_Hdr:spam%=A$<>"": spam%:N$="SPAM "+A$ 7 area%=0: N$<>"":Area$=Area$,12)+"("+N$,13)+")" ? debug%:'"------Fixed header:"'Area$'M$'D$'F$'S$'R$'I$'N$  ݤScanBody FixHeader  & debug%:'"------Storing header:" >optr%=mem%:str(Area$):str(M$):str(D$):str(F$):str(S$)  R$<>"":str(R$) *I$<>"":str(I$) 4 str("") >- debug%:'"------Scanning through body:" H,iptr%=iptr%-1:iptr%=iptr%+1:?iptr%<>13 R:iend%=iptr%:A$=str \HA%=0:: A$>76:A%=A$," ",A%+65): A%>65:A$=A$,A%-1)+13+A$,A%+1) f A%<65 p/ A$,1)=" ": A$=A$, A$-1): A$,1)<>" " zV A$,7)=" ":A%=6: A%=A%+1: A$,A%,1)<>" ":A$=A%8,9)+A%8," ")+A$,A%) oend%=optr%:str(A$) 8eom%=A$,10)="Message: #" A$,8)="::: Area" eof%  eom% iptr%>data%+num% 9 eom%: ptr%=ptr0%:"+++LONG MESSAGE+++":keep%=:=  eom%: ptr%<>ptr0%:= 8oend%=oend%-1:?oend%<>13:oend%=oend%+2:oend%?-1=13  =eom% SaveFile G F$,10,14)="Email PostMark":"Msg"; M$,11);" acknowledgement": =y%=D$,22,4):m%=Date_FromMonth(D$,18,3)):d%=D$,15,2) 0hr%=D$,27,2):mn%=D$,30,2):sc%=D$,33,2) FMsg$=MsgName:A$="SAVE "+Msg$+" "+~mem%+" "+~oend%+" 0 FFFFFF00"  Msg$;" saving";: A$ ?A%=file(Msg$,5):Date_FromOrd(X%+6,d%,m%,y%,hr%,mn%,sc%,0) CX%!2=X%?10 &FFFFFF00:X%!15=f_date(d%,m%,y%):A%=file(Msg$,1) 6X%!8=f_date(d%,m%,y%):A%=NetFS_OpN(19,5,10,Msg$) $5X%!8=f_date(d%,m%,y%):X%!10=f_time(hr%,mn%,sc%) .6X%!13=f_date(d%,m%,y%):X%!15=f_time(hr%,mn%,sc%) 8 A%=NetFS_OpN(19,64,18,Msg$) B: LݤMsgName: B% VjA$=N$,13):A%=1:B%=A$,A%,1)-1:(B%&DF)>89 B%<47 (B%>56 B%<64):A$=A$,A%-1)+A$,A%+1):A%=A%-1 `2A%=A%+1: A%> A$:A$=A$,10): A$="":A$="MAIL" j area%:A$="NG"+d0(area%,3) t( dfs%: file(A$,5)<>2:"CDIR "+A$ ~ area%:=A$+".Msg"+ûM$,11) -Z$="+0000":"+-",D$,36,1)):Z$=D$,36,5) 9dz%=-Z$:Z$=d0(m%,2)+d0(d%,2)+d0(hr%,2)+d0(mn%,2) ;A$=A$+".M"+d0(Z$+dz%,8): dfs%:A$="M."+d0(Z$+dz%,7) QI%=A$,"."):A%=file(A$,5): A%<>0:A$=A$,I%+1)+d0(1+ A$,I%+2), A$-I%-1)  A%=0:=A$ -CloseIn:in%=in%: in%:A%=in%:in%=0:#A%  )ݤstr:A$=$iptr%:iptr%=iptr%+1+A$:=A$ +str(A$):$optr%=A$:optr%=optr%+1+A$: 3LFtoCR: A%=data%data%+num%-1:?A%=10:?A%=13 : 6ݤSpam_Hdr:A$=F$,10):A%=A$,"@"):A%=0:="NO ADDR" TA%=A%-1:A$,A%,1)<"!"A%<1:A$=A$,A%)+A$,A$+" "," ",A%+1)):A$="":="NO NAME"  A$<4:="SHORT NAME" *A%=Spam_Chars(A$):A%<256:="SBJ CAPS" (A%255)>3:="NAME RUNS" (A$=S$,10):A$="":="NO SBJ" 2*A%=Spam_Chars(A$):A%<256:="SBJ CAPS" <(A%255)>3:="SBJ RUNS" F="" P-ݤSpam_Chars(A$):L%,R%,S%:R%=1:A$="":=0 Z4A%=1A$:A$,A%,1)>="a"A$,A%,1)<="z":L%=L%+1 d)A$,A%,1)=A$,A%+1,1):R%=R%+1 R%=1 nR%>S%:S%=R% x:=L%*256+S% Dݤf_date(d%,m%,y%):y%=y%-1981:=d%+m%*256+(y%15)*4096+(y%16)*32 *ݤf_time(h%,m%,s%):=h%+m%*256+s%*65536 Bݤfile(A$,A%):$name%=A$:?X%=name%:X%?1=name%256:=(&FFDD)&FF Ugbpb(A%,chn%,addr%,num%,ptr%):?X%=chn%:X%!1=addr%:X%!5=num%:X%!9=ptr%: &FFD1: aݤNetFS_OpN(A%,T%,O%,A$):X%!1=O%+1+A$:X%?7=T%:O%=X%+O%:os%=6:T%=X%+4O%:?T%=T%?3::O%=O%-3 4?X%=0:X%?3=A%:$O%=A$:os%<>6:A%=&14:&FFF1:=X%?3 aș "XNetFS_DoFSOp",X%?3,X%+4,X%?1,128 A%:X%?3=0:A%:X%?3=?A%:ș &2002B,A%+4 A$:$(X%+4)=A$  =X%?3 $ݤd0(A%,N%):="00000000"+A%,N%) #ݤDate_FromMonth(A$):A$=uc(A$) 6A%="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC",A$,3)) (A%-1)3=0:=A%3+1 =0 ;Date_FromOrd(mem%,d%,m%,y%,hr%,mn%,sc%,cs%):y%=y%400 qd%=y%*365.25+m%*30+d%+"120112234455",m%,1)+((y%4)=0)-((y%-1)100)-(m%>2((y%4)=0(y%100)<>0y%=0))+36493 d%>146066:d%=d%-146097 =d%=d%*&41EB:mem%!1=d%+d%:d%=((hr%*60+mn%)*60+sc%)*100+cs% "#?mem%=d%:mem%!1=mem%!1+d%256: ,/ݤs(A$):A$,1)=" ":A$=A$,2):A$,1)<>" " 6+A$,1)=" ":A$=A$,A$-1):A$,1)<>" " @=A$ Jݤuc(A$): B$:A$="":="" T5B$=B$+(A$((A$<"@")&DF)):A$=A$,2):A$="":=B$ ^cݤcl(l$,n%):l$="":A$=s(A$):A$=34:A%=A$+" "" ",""" ",2):l$=A$,2,A%-2):A$=s(A$,A%+1)):=l$ h"":A%=A$,l$):A%:A$=s(A$,A%-1)+A$,A$," ",A%)+1)):= |n%=0:l$<>"":= %A%=" ",l$=32)+A$,l$):A%=0:="" 'A$=A$,A%-1)+s(A$,A$," ",A%)+1)) Cl$=32:l$=A$,A%):A$=A$,A%-1):=l$,1-(l$=34),l$+2*(l$=34)) PA$,A%,1)<>34:l$=A$,A%,A$+" "," ",A%)-A%):A$=A$,A%-1)+A$,A%+l$+1):=l$ Jl$=A$,A%+1,A$+""" ",""" ",A%+1)-A%-1):A$=A$,A%-1)+A$,A%+l$+3):=l$ /ݤs(A$):A$,1)=" ":A$=A$,2):A$,1)<>" " +A$,1)=" ":A$=A$,A$-1):A$,1)<>" " =A$ @ݤOS_GetEnv:A$,A%,X%,Y%:X%=1:os%=((&FFF4)&FF00)256:X%-1 Jos%=32:>&FFFF:ș"GetModuleFileName",0,X%,255:A$=$$X%:run$=A$:=@cmd$ os%=32:A$=$&100 {A$=0:>&7FFF:run$=$&8100:ș"OS_GetEnv"A$,,A%:ș"OS_WriteEnv","",A%:A$=A$,1+A$+" "," ",1+A$," "))):A$=0:A$=run$ 2A$=0:?(P-3):A$=$&600 A$=0:A$=$(-&300) 7A%=A$+" "," "):run$=A$,A%-1):run$<>"":=A$,A%+1) bY%=X%256:A%=9:?X%=0:X%!1=X%+16:X%!16=0:&FFD1:A%=X%+16:!A%?A%+A%?2<>8:A%?(A%+1)=13:=$(A%+1) ="" &&os(A$):A$=42:A$ A$<>"":A$ 0 :@exit(A%):"FX1,"+A%:quit$=quit$:A$=quit$:quit$="":os(A$) Dos%=32:Ș A% Nos%<6: *Quit X B(C) {H {h H {h * pqrYs"rpqs {۠{L `{{`{{H Ϋ{ {h`p{{{p`Q%=PAGE OLD RUN BASIC