1,7 → 1,7 |
(* |
(* |
BSD 2-Clause License |
|
Copyright (c) 2018-2019, Anton Krotov |
Copyright (c) 2018-2020, Anton Krotov |
All rights reserved. |
*) |
|
17,8 → 17,10 |
ptr: INTEGER; |
|
buffer: ARRAY 64*1024 OF BYTE; |
count: INTEGER |
count: INTEGER; |
|
chksum*: INTEGER |
|
END; |
|
VAR |
83,7 → 85,8 |
IF ptr > 0 THEN |
file := NewFile(); |
file.ptr := ptr; |
file.count := 0 |
file.count := 0; |
file.chksum := 0 |
ELSE |
file := NIL |
END |
190,30 → 193,14 |
|
PROCEDURE WriteByte* (file: FILE; byte: BYTE): BOOLEAN; |
VAR |
res: BOOLEAN; |
arr: ARRAY 1 OF BYTE; |
|
BEGIN |
res := TRUE; |
IF (file # NIL) & (file.count >= 0) THEN |
IF file.count = LEN(file.buffer) THEN |
IF flush(file) # LEN(file.buffer) THEN |
res := FALSE |
ELSE |
file.buffer[0] := byte; |
file.count := 1 |
END |
ELSE |
file.buffer[file.count] := byte; |
INC(file.count) |
END |
ELSE |
res := FALSE |
END |
|
RETURN res |
arr[0] := byte |
RETURN write(file, arr, 1) = 1 |
END WriteByte; |
|
|
BEGIN |
files := C.create() |
END FILES. |
END FILES. |