|
@@ -558,9 +558,7 @@ VAR S : String;
|
|
end;
|
|
end;
|
|
|
|
|
|
BEGIN
|
|
BEGIN
|
|
- { TODO: implement }
|
|
|
|
- runerror(304);
|
|
|
|
-(* if LFNSupport then
|
|
|
|
|
|
+ if LFNSupport then
|
|
begin
|
|
begin
|
|
S:='C:\'#0;
|
|
S:='C:\'#0;
|
|
if Drive=0 then
|
|
if Drive=0 then
|
|
@@ -573,20 +571,17 @@ BEGIN
|
|
S[1]:=chr(Drive+64);
|
|
S[1]:=chr(Drive+64);
|
|
Rec.Strucversion:=0;
|
|
Rec.Strucversion:=0;
|
|
Rec.RetSize := 0;
|
|
Rec.RetSize := 0;
|
|
- dosmemput(tb_segment,tb_offset,Rec,SIZEOF(ExtendedFat32FreeSpaceRec));
|
|
|
|
- dosmemput(tb_segment,tb_offset+Sizeof(ExtendedFat32FreeSpaceRec)+1,S[1],4);
|
|
|
|
- regs.dx:=tb_offset+Sizeof(ExtendedFat32FreeSpaceRec)+1;
|
|
|
|
- regs.ds:=tb_segment;
|
|
|
|
- regs.di:=tb_offset;
|
|
|
|
- regs.es:=tb_segment;
|
|
|
|
|
|
+ regs.dx:=Ofs(S[1]);
|
|
|
|
+ regs.ds:=Seg(S[1]);
|
|
|
|
+ regs.di:=Ofs(Rec);
|
|
|
|
+ regs.es:=Seg(Rec);
|
|
regs.cx:=Sizeof(ExtendedFat32FreeSpaceRec);
|
|
regs.cx:=Sizeof(ExtendedFat32FreeSpaceRec);
|
|
regs.ax:=$7303;
|
|
regs.ax:=$7303;
|
|
msdos(regs);
|
|
msdos(regs);
|
|
if (regs.flags and fcarry) = 0 then {No error clausule in int except cf}
|
|
if (regs.flags and fcarry) = 0 then {No error clausule in int except cf}
|
|
begin
|
|
begin
|
|
- copyfromdos(rec,Sizeof(ExtendedFat32FreeSpaceRec));
|
|
|
|
- if Rec.RetSize = 0 then *)(* Error - "FAT32" function not supported! *)
|
|
|
|
-(* OldDosDiskData
|
|
|
|
|
|
+ if Rec.RetSize = 0 then (* Error - "FAT32" function not supported! *)
|
|
|
|
+ OldDosDiskData
|
|
else
|
|
else
|
|
if Free then
|
|
if Free then
|
|
Do_DiskData:=int64(rec.AvailAllocUnits)*rec.SecPerClus*rec.BytePerSec
|
|
Do_DiskData:=int64(rec.AvailAllocUnits)*rec.SecPerClus*rec.BytePerSec
|
|
@@ -597,7 +592,7 @@ BEGIN
|
|
OldDosDiskData;
|
|
OldDosDiskData;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
- OldDosDiskData;*)
|
|
|
|
|
|
+ OldDosDiskData;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|