Annotation of 43BSDTahoe/usr.lib/libpc/unixio.i, revision 1.1

1.1     ! root        1: (* Copyright (c) 1979 Regents of the University of California *)
        !             2: 
        !             3: const
        !             4: sccsid = '@(#)unixio.i 1.1 6/17/81';
        !             5: 
        !             6: type
        !             7: fileptr = record
        !             8:        cnt :integer
        !             9:        end;
        !            10: 
        !            11: function TELL(
        !            12: var    fptr :text)
        !            13: {returns} :fileptr;
        !            14: 
        !            15: var
        !            16: filesize, headsize, tailsize :integer;
        !            17: result :fileptr;
        !            18: 
        !            19: begin
        !            20: tailsize := 0;
        !            21: while not eof(fptr) do begin
        !            22:        get(fptr);
        !            23:        tailsize := tailsize + 1
        !            24:        end;
        !            25: filesize := 0;
        !            26: reset(fptr);
        !            27: while not eof(fptr) do begin
        !            28:        get(fptr);
        !            29:        filesize := filesize + 1
        !            30:        end;
        !            31: reset(fptr);
        !            32: for headsize := 1 to filesize - tailsize do
        !            33:        get(fptr);
        !            34: result.cnt := headsize;
        !            35: TELL := result
        !            36: end;
        !            37: 
        !            38: procedure SEEK(
        !            39:  var   fptr :text;
        !            40:  var   cnt :fileptr);
        !            41: 
        !            42: var
        !            43: i :integer;
        !            44: 
        !            45: begin
        !            46: reset(fptr);
        !            47: for i := 1 to cnt.cnt do
        !            48:        get(fptr)
        !            49: end;
        !            50: 
        !            51: procedure APPEND(
        !            52:  var   fptr :text);
        !            53: 
        !            54: var
        !            55: tmp :text;
        !            56: 
        !            57: begin
        !            58: rewrite(tmp);
        !            59: reset(fptr);
        !            60: while not eof(fptr) do begin
        !            61:        if eoln(fptr) then
        !            62:                writeln(tmp)
        !            63:        else
        !            64:                write(tmp, fptr^);
        !            65:        get(fptr)
        !            66:        end;
        !            67: reset(tmp);
        !            68: rewrite(fptr);
        !            69: while not eof(tmp) do begin
        !            70:        if eoln(tmp) then
        !            71:                writeln(fptr)
        !            72:        else
        !            73:                write(fptr, tmp^);
        !            74:        get(tmp)
        !            75:        end
        !            76: end;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.