Compare commits
2 commits
df46223d88
...
428fc95481
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
428fc95481 | ||
|
|
1ca6c13c4b |
2 changed files with 14 additions and 2 deletions
|
|
@ -135,7 +135,11 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure getScreenSize;
|
procedure getScreenSize;
|
||||||
|
var c:char;
|
||||||
begin
|
begin
|
||||||
|
(* empty keyboard buffer *)
|
||||||
|
while conavail do read(con, c);
|
||||||
|
|
||||||
GetTermSize(screenW, screenH);
|
GetTermSize(screenW, screenH);
|
||||||
pageSize := screenH - vMargins;
|
pageSize := screenH - vMargins;
|
||||||
(* set scrolling region - DECSTBM *)
|
(* set scrolling region - DECSTBM *)
|
||||||
|
|
@ -2463,6 +2467,8 @@ begin
|
||||||
close(infile);
|
close(infile);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
open(con, '%RAW', ModeOverwrite);
|
||||||
|
|
||||||
initScreen;
|
initScreen;
|
||||||
showScreen;
|
showScreen;
|
||||||
|
|
||||||
|
|
@ -2471,7 +2477,6 @@ begin
|
||||||
else
|
else
|
||||||
statusMsg('Successfully read file. Press F1 for help', false, false);
|
statusMsg('Successfully read file. Press F1 for help', false, false);
|
||||||
|
|
||||||
open(con, '%RAW', ModeOverwrite);
|
|
||||||
|
|
||||||
if errorLine > 0 then
|
if errorLine > 0 then
|
||||||
begin
|
begin
|
||||||
|
|
|
||||||
|
|
@ -323,6 +323,7 @@ begin
|
||||||
|
|
||||||
(* find next occupied slot *)
|
(* find next occupied slot *)
|
||||||
occSlotNo := scanDirSlots(volid, freeSlotNo + 1, occSlot, [SlotFirst]);
|
occSlotNo := scanDirSlots(volid, freeSlotNo + 1, occSlot, [SlotFirst]);
|
||||||
|
|
||||||
if occSlotNo <> 0 then
|
if occSlotNo <> 0 then
|
||||||
begin
|
begin
|
||||||
fileExtents := (occSlot.sizeBytes + extentSize - 1) div extentSize;
|
fileExtents := (occSlot.sizeBytes + extentSize - 1) div extentSize;
|
||||||
|
|
@ -379,8 +380,14 @@ begin
|
||||||
i := i + fileExtents;
|
i := i + fileExtents;
|
||||||
end
|
end
|
||||||
else (* no occupied slot found *)
|
else (* no occupied slot found *)
|
||||||
|
begin
|
||||||
done := true;
|
done := true;
|
||||||
(* TODO: mark first free slot of last free region as EndScan *)
|
(* mark first free slot of last free region as EndScan *)
|
||||||
|
freeslot.flags := freeslot.flags + [SlotEndScan];
|
||||||
|
putdirslot(volid, freeSlotNo, freeSlot, error);
|
||||||
|
if error <> IONoError then
|
||||||
|
writeln('Error writing dirslot ', clearSlotNo);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
else (* no free slot found *)
|
else (* no free slot found *)
|
||||||
done := true;
|
done := true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue