DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦e8208cdae⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »tosclear«

Derivation

└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦0b817e319⟧ »ctramos« 
            └─⟦this⟧ 

TextFile

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◀