Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!columbia!rutgers!ames!ucbcad!ucbvax!DTUPEV5A.BITNET!zrgc002 From: zrgc002@DTUPEV5A.BITNET (Christoph D. Gatzka) Newsgroups: comp.os.vms Subject: Another version of the bitmap [with fragmentation] Message-ID: <8707310226.AA29741@ucbvax.Berkeley.EDU> Date: Thu, 30-Jul-87 22:26:30 EDT Article-I.D.: ucbvax.8707310226.AA29741 Posted: Thu Jul 30 22:26:30 1987 Date-Received: Sat, 1-Aug-87 12:08:10 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 54 program a(input,output); var ein:text; bitmap:packed record case boolean of false:(a:packed array[0..790000]of char); true:(b:packed array[0..10000]of packed array[1..80]of char);end; zeile:varying[132]of char; zeile2:varying[80]of char; i,j,lbn,count:integer; begin open (ein,'disk.ana',READONLY); reset (ein); while not(eof(ein)) do begin readln (ein,zeile); if zeile.length > 44 then if substr (zeile,9,6) ='Count:' then begin readv (substr(zeile,15,15),count); readv (substr(zeile,38,zeile.length-37),lbn); if count> 0 then BEGIN for i:=lbn to lbn+count-1 do begin bitmap.a[i]:='*'; if (i=632766) or (i=632769) or (i=13463) or (i=42000) OR (I=504025 ) then writeln ('lbn:',lbn,' count: ',count,' i:',i); end; BITMAP.A[LBN]:='['; BITMAP.A[LBN+COUNT-1]:=']'; END; end; end; close(ein); for j:=0 to 790000-1 do if NOT (bitmap.a[j] IN ['*','[',']']) then bitmap.a[j]:='-'; open (ein,'bitmap.karte'); rewrite (ein); for j:=0 to 10000 do begin zeile2.body:=bitmap.b[j]; zeile2.length:=80; writeln (ein,zeile2); end; end. Christoph D. Gatzka zrgc002@dtupev5a.bitnet Student of medicine University of Tuebingen Germany