date and time created 81/06/17 00:40:37 by mckusick
[unix-history] / usr / src / usr.bin / pascal / libpc / unixio.i
(* Copyright (c) 1979 Regents of the University of California *)
const
sccsid = '@(#)unixio.i 1.1 %G%';
type
fileptr = record
cnt :integer
end;
function TELL(
var fptr :text)
{returns} :fileptr;
var
filesize, headsize, tailsize :integer;
result :fileptr;
begin
tailsize := 0;
while not eof(fptr) do begin
get(fptr);
tailsize := tailsize + 1
end;
filesize := 0;
reset(fptr);
while not eof(fptr) do begin
get(fptr);
filesize := filesize + 1
end;
reset(fptr);
for headsize := 1 to filesize - tailsize do
get(fptr);
result.cnt := headsize;
TELL := result
end;
procedure SEEK(
var fptr :text;
var cnt :fileptr);
var
i :integer;
begin
reset(fptr);
for i := 1 to cnt.cnt do
get(fptr)
end;
procedure APPEND(
var fptr :text);
var
tmp :text;
begin
rewrite(tmp);
reset(fptr);
while not eof(fptr) do begin
if eoln(fptr) then
writeln(tmp)
else
write(tmp, fptr^);
get(fptr)
end;
reset(tmp);
rewrite(fptr);
while not eof(tmp) do begin
if eoln(tmp) then
writeln(fptr)
else
write(fptr, tmp^);
get(tmp)
end
end;