Source of S#USERNAME
%systemstring(255)%fn username(%string(255) User,%integer Machine)
*START*!
*END*!
%string (255) line
%integer Lower,Upper,test
length(line)=6
Lower = 1; Upper = max Users
%while Lower<Upper %cycle
Test = (Upper + Lower)//2
%if User<Users(Test) %then %start
Upper=Test
%finishelsestart
Lower=Test+1
%finish
%repeat
%if Users(Lower)->(User).line %start
%if charno(line,length(line))#Machine %start
%if Lower>1 %and Users(Lower-1)->(User).line %then %c
length(line)=length(line)-1 %and %result=line
%if Lower<Max Users %and Users(Lower+1)->(User).line %then %c
length(line)=length(line)-1 %and %result=line
%finish
length(line)=length(line)-1 ; %result=line
%finishelsestart
%result="?"
%finish
%end
%endoffile