mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-02 17:19:27 +01:00
* avoid FindFirst failing due to Attribute parameter bigger than $FF
git-svn-id: trunk@33894 -
This commit is contained in:
parent
046614948c
commit
c1afb4b63b
@ -796,7 +796,7 @@ begin
|
||||
if attr=$8 then
|
||||
dosregs.ecx:=8
|
||||
else
|
||||
dosregs.ecx:=attr and (not 8);
|
||||
dosregs.ecx:=attr and (not 8) and $FF; { no required attributes }
|
||||
dosregs.edx:=tb_offset+Sizeof(LFNSearchrec)+1;
|
||||
dosmemput(tb_segment,tb_offset+Sizeof(LFNSearchrec)+1,path^,strlen(path)+1);
|
||||
dosregs.ds:=tb_segment;
|
||||
|
||||
@ -591,7 +591,7 @@ begin
|
||||
if attr=$8 then
|
||||
dosregs.cx:=8
|
||||
else
|
||||
dosregs.cx:=attr and (not 8);
|
||||
dosregs.cx:=attr and (not 8) and $FF; { No required attributes }
|
||||
dosregs.dx:=Ofs(path^);
|
||||
dosregs.ds:=Seg(path^);
|
||||
dosregs.di:=Ofs(w);
|
||||
|
||||
@ -92,8 +92,9 @@ threadvar
|
||||
LastDosErrorModuleName: string;
|
||||
|
||||
|
||||
const FindResvdMask = $00003737; {Allowed bits in attribute
|
||||
specification for DosFindFirst call.}
|
||||
const
|
||||
FindResvdMask = $00003737 {Allowed bits for DosFindFirst parameter Attribute}
|
||||
and $000000FF; {combined with a mask for allowed attributes only}
|
||||
|
||||
|
||||
function GetMsCount: int64;
|
||||
|
||||
@ -72,8 +72,8 @@ const
|
||||
faOpenReplace = $00040000; {Truncate if file exists}
|
||||
faCreate = $00050000; {Create if file does not exist, truncate otherwise}
|
||||
|
||||
FindResvdMask = $00003737; {Allowed bits in attribute
|
||||
specification for DosFindFirst call.}
|
||||
FindResvdMask = $00003737 {Allowed bits for DosFindFirst parameter Attribute}
|
||||
and $000000FF; {combined with a mask for allowed attributes only}
|
||||
|
||||
function FileOpen (const FileName: rawbytestring; Mode: integer): THandle;
|
||||
Var
|
||||
|
||||
@ -464,7 +464,7 @@ begin
|
||||
if attr=$8 then
|
||||
dosregs.ecx:=8
|
||||
else
|
||||
dosregs.ecx:=attr and (not 8);
|
||||
dosregs.ecx:=attr and (not 8) and $FF; { No required attributes }
|
||||
dosregs.edx:=tb_offset+Sizeof(LFNSearchrec)+1;
|
||||
dosmemput(tb_segment,tb_offset+Sizeof(LFNSearchrec)+1,path^,strlen(path)+1);
|
||||
dosregs.ds:=tb_segment;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user