recordformat ainff(string (11) name,integer nkb,string (8) date,c string (6) tape,integer chap,flags) externalintegerfunctionspec ddestroy(string (6) user,c string (15) file,c string (8) date,c integer fsys,type) externalintegerfnspec dfilenames(string (6) user,c record (ainff)arrayname inf,c integername fileno,maxrec,nfiles,c integer fsys,type) externalintegerfunctionspec dfinfo(string (6) user,string (11) file,c integer fsys,adr) externalintegerfunctionspec get usnames(integername n,integer adr,c fsys) externalroutinespec get av fsys(integername n,integerarrayname a) systemstringfunctionspec itos(integer n) ! ! routine treat user(stringname user,integer fsys) integer flag,fileno,maxrec,nfiles,dirfound,optfound,i,boxfound,proffound integerarray a(0:20) record (ainff)name f record (ainff)array inf(0:1024) ! dirfound = 0; optfound = 0; boxfound = 0; proffound = 0 flag = dfinfo(user,"SS#DIR",fsys,addr(a(0))) if flag = 0 then dirfound = 1 flag = dfinfo(user,"SS#OPT",fsys,addr(a(0))) if flag = 0 then optfound = 1 ! fileno = 0; maxrec = 1024 flag = dfilenames(user,inf,fileno,maxrec,nfiles,fsys,1) if flag # 0 then monitor and return return if maxrec = 0 for i = 0,1,maxrec-1 cycle f == inf(i) if f_name = "SS#DIR" then start if dirfound = 0 then dirfound = 1 else start printstring(user." SS#DIR ".f_date) write(fsys,1) newline flag = ddestroy(user,"SS#DIR",f_date,fsys,1) finish continue finish if f_name = "SS#OPT" then start if optfound = 0 then optfound = 1 else start flag = ddestroy(user,"SS#OPT",f_date,fsys,1) printstring(user." SS#OPT ".f_date) write(fsys,1) newline finish continue finish if f_name = "M#INBOX" then start if boxfound = 0 then boxfound = 1 else start flag = ddestroy(user,"M#INBOX",f_date,fsys,1) printstring(user." M#INBOX ".f_date) write(fsys,1) newline finish continue finish if f_name = "M#PROFILE" then start if proffound = 0 then proffound = 1 else start flag = ddestroy(user,"M#PROFILE",f_date,fsys,1) printstring(user." M#PROFILE ".f_date) write(fsys,1) newline finish continue finish repeat end ! integerfunction stoi(string (255) s) if s = "-1" then result = -1 if length(s) = 1 then s = "0".s if length(s) # 2 then result = -2 unless '0' <= charno(s,1) <= '9' then result = -2 unless '0' <= charno(s,2) <= '9' then result = -2 result = (charno(s,1) - '0')*10 + charno(s,2) - '0' end ; ! of stoi ! ! externalroutine sspurge(string (255) s) string (6)array u(0:1023) integer nu,nusers integer j,n,fx,fsys integerarray a(0:99) string (63) user ! fsys = -1 if s # "" then start fsys = stoi(s) unless -1 <= fsys <= 99 then -> bp finish if fsys<0 then get av fsys(n,a) else a(0) = fsys and n = 1 fx = 0 while fx<n cycle fsys = a(fx) printstring("+++ Fsys ".itos(fsys)." +++"); newline; newline j = get usnames(nusers,addr(u(0)),fsys) printstring("Get usnames flag ="); write(j,1) printstring(" No of users ="); write(nusers,1); newlines(2) nu = 0 while nu<nusers cycle user<-u(nu) if length(user) = 6 then start treat user(user,fsys) finish nu = nu+1 repeat fx = fx + 1 repeat return bp: printstring("Illegal fsys specification"); newline end ; ! of doall endoffile