mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 05:00:12 +02:00
* result buffers must be allocated
This commit is contained in:
parent
da9f5e2319
commit
1bcce4c618
@ -191,24 +191,26 @@ const FindResvdMask = $00003737; {Allowed bits in attribute
|
||||
|
||||
function fsearch(path:pathstr;dirlist:string):pathstr;
|
||||
Var
|
||||
R: PChar;
|
||||
A: array [0..255] of char;
|
||||
D, P: AnsiString;
|
||||
begin
|
||||
P:=Path;
|
||||
D:=DirList;
|
||||
DosError:=DosSearchPath(0, PChar(D), PChar(P), R, 255);
|
||||
fsearch:=R;
|
||||
DosError:=DosSearchPath(0, PChar(D), PChar(P), @A, 255);
|
||||
fsearch := StrPas (@A);
|
||||
end;
|
||||
|
||||
procedure getftime(var f;var time:longint);
|
||||
var
|
||||
FStat: PFileStatus3;
|
||||
begin
|
||||
New (FStat);
|
||||
DosError:=DosQueryFileInfo(FileRec(F).Handle, 1, FStat, SizeOf(FStat^));
|
||||
If DosError=0 then
|
||||
Time:=FStat^.timelastwrite+FStat^.DateLastWrite*256
|
||||
else
|
||||
Time:=0;
|
||||
Dispose (FStat);
|
||||
end;
|
||||
|
||||
procedure SetFTime (var F; Time: longint);
|
||||
@ -216,8 +218,8 @@ var FStat: PFileStatus3;
|
||||
RC: longint;
|
||||
begin
|
||||
New (FStat);
|
||||
RC := DosQueryFileInfo (FileRec (F).Handle, ilStandard, FStat,
|
||||
SizeOf (FStat^));
|
||||
RC := DosQueryFileInfo (FileRec (F).Handle, ilStandard, @FStat,
|
||||
SizeOf (FStat));
|
||||
if RC = 0 then
|
||||
begin
|
||||
FStat^.DateLastAccess := Hi (Time);
|
||||
@ -567,7 +569,7 @@ begin
|
||||
pop eax
|
||||
mov P, edi { place pointer to variable contents in P }
|
||||
@End:
|
||||
end ['eax','ebx','ecx','edx','esi','edi'];
|
||||
end ['eax','ecx','edx','esi','edi'];
|
||||
GetEnvPChar := P;
|
||||
end;
|
||||
{$ASMMODE ATT}
|
||||
@ -577,7 +579,6 @@ function GetEnv (const EnvVar: string): string;
|
||||
begin
|
||||
GetEnv := StrPas (GetEnvPChar (EnvVar));
|
||||
end;
|
||||
{$ASMMODE ATT}
|
||||
|
||||
procedure fsplit(path:pathstr;var dir:dirstr;var name:namestr;
|
||||
var ext:extstr);
|
||||
@ -681,29 +682,36 @@ procedure getfattr(var f;var attr : word);
|
||||
var
|
||||
PathInfo: PFileStatus3;
|
||||
begin
|
||||
New (PathInfo);
|
||||
Attr:=0;
|
||||
DosError:=DosQueryPathInfo(FileRec(F).Name, ilStandard, PathInfo, SizeOf(PathInfo^));
|
||||
if DosError=0 then
|
||||
Attr := PathInfo^.attrFile;
|
||||
Dispose (PathInfo);
|
||||
end;
|
||||
|
||||
procedure setfattr(var f;attr : word);
|
||||
var
|
||||
PathInfo: PFileStatus3;
|
||||
begin
|
||||
New (PathInfo);
|
||||
DosError:=DosQueryPathInfo(FileRec(F).Name, ilStandard, PathInfo, SizeOf(PathInfo^));
|
||||
if DosError=0 then
|
||||
begin
|
||||
PathInfo^.attrFile:=Attr;
|
||||
DosError:=DosSetPathInfo(FileRec(F).Name, ilStandard, PathInfo, SizeOf(PathInfo^), doWriteThru);
|
||||
end;
|
||||
Dispose (PathInfo);
|
||||
end;
|
||||
|
||||
begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.27 2003-10-03 21:46:41 peter
|
||||
Revision 1.28 2003-10-05 22:06:43 hajny
|
||||
* result buffers must be allocated
|
||||
|
||||
Revision 1.27 2003/10/03 21:46:41 peter
|
||||
* stdcall fixes
|
||||
|
||||
Revision 1.26 2003/09/24 08:59:16 yuri
|
||||
|
Loading…
Reference in New Issue
Block a user