|
|
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«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦this⟧ »tosclear«
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◀