mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-17 13:39:36 +02:00
* check added to avoid potential SIGSEGV
git-svn-id: trunk@1261 -
This commit is contained in:
parent
da9ea7ff88
commit
022e3ceef8
@ -1352,31 +1352,34 @@ implementation
|
||||
startpc,pc : pchar;
|
||||
sepch : char;
|
||||
begin
|
||||
FindFilePchar:=false;
|
||||
if Assigned (Path) then
|
||||
begin
|
||||
{$ifdef Unix}
|
||||
sepch:=':';
|
||||
sepch:=':';
|
||||
{$else}
|
||||
{$ifdef macos}
|
||||
sepch:=',';
|
||||
sepch:=',';
|
||||
{$else}
|
||||
sepch:=';';
|
||||
sepch:=';';
|
||||
{$endif macos}
|
||||
{$endif Unix}
|
||||
FindFilePchar:=false;
|
||||
pc:=path;
|
||||
repeat
|
||||
startpc:=pc;
|
||||
while (pc^<>sepch) and (pc^<>';') and (pc^<>#0) do
|
||||
inc(pc);
|
||||
move(startpc^,singlepathstring[1],pc-startpc);
|
||||
singlepathstring[0]:=char(longint(pc-startpc));
|
||||
singlepathstring:=FixPath(singlepathstring,false);
|
||||
result:=FileExistsNonCase(singlepathstring,f,FoundFile);
|
||||
if result then
|
||||
exit;
|
||||
if (pc^=#0) then
|
||||
break;
|
||||
inc(pc);
|
||||
until false;
|
||||
pc:=path;
|
||||
repeat
|
||||
startpc:=pc;
|
||||
while (pc^<>sepch) and (pc^<>';') and (pc^<>#0) do
|
||||
inc(pc);
|
||||
move(startpc^,singlepathstring[1],pc-startpc);
|
||||
singlepathstring[0]:=char(longint(pc-startpc));
|
||||
singlepathstring:=FixPath(singlepathstring,false);
|
||||
result:=FileExistsNonCase(singlepathstring,f,FoundFile);
|
||||
if result then
|
||||
exit;
|
||||
if (pc^=#0) then
|
||||
break;
|
||||
inc(pc);
|
||||
until false;
|
||||
end;
|
||||
foundfile:=f;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user