|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2304 (0x900) Types: TextFile Names: »tosclear«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦0b817e319⟧ »ctramos« └─⟦this⟧
mode list.yes osclear=set 60 global osclear osclear=algol blocks.yes begin <*clear all temporary entries up to permkey within the bases given*> integer segm,i,j,sh,max,curt,permkey,res, entries,segments; long old,time; real r; integer array field rec,srec,re; long array field doc,name; integer array t(1:10); long array sname(1:3); boolean list; algol list.off copy.tmonpr; name:=6; doc:=16; sname(1):=0; permkey:=2; entries:=segments:=0; readbfp(<:list:>,list,false); curt:=systime(7,0,0.0); old:=extend 0 add(curt-24*100); write(out,<:day files cleared at:>,<< dd dd dd.dddd> ,systime(6,curt,r)+r/1000000, "nl",1,<:files older than :>,systime(6,round old,r)+r/1000000); lookup_tail(<:catalog:>,t); segm:=t(1); readifp(<:s:>,segm,segm); begin zone cat(128*segm,1,stderror); open(cat,4,<:catalog:>,0); setposition(cat,0,0); inrec6(cat,512*segm); max:=512*segm-34; srec:=0; repeat for re:=0 step 34 until 512-34 do begin rec:=srec+re; if cat.rec(1)<>-1 then begin if cat.rec(1) extract 3<=permkey then begin if list then write(out,"nl",1,true,11,cat.rec.name, true,12,cat.rec.doc,<< -ddddddd>,cat.rec(2),cat.rec(3)); setcatbase(sname,cat.rec(2),cat.rec(3)); res:=lookupauxentry(cat.rec.name,cat.rec.doc,t); if -,list then else if t(1)>=0 then write(out,<< ddd>,t(1)) else write(out,"sp",4); time:= extend 0 add t(2); sh:=systime(6,round time,r); if t(1)>=0 and list then write(out,<< dd dd dd.dddd>,sh+r/1000000); if time<old or t(1)<0 then begin if -,list then res:=removeentry(cat.rec.name) else write(out,<:**:>); if res=0 then begin entries:=entries+1; if t(1)>0 then segments:=segments+t(1); end entry removed; end old entry; end permkey; end entry; end record; srec:=srec+512; until srec>max; end catzone; write(out,"nl",1,<:entries removed :>,<< dddd>,entries, "nl",1,<:segments removed :>,segments); end; ▶EOF◀