mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-08 07:37:02 +02:00
codetools: FilenameIsMatching: fixed asterisk in brackets
git-svn-id: trunk@24966 -
This commit is contained in:
parent
a66aa3f7cb
commit
4db8628bf5
@ -605,22 +605,22 @@ function GatherFiles(Directory, ExcludeDirMask, IncludeFileMask: string): TStrin
|
||||
ShortFilename: String;
|
||||
Filename: String;
|
||||
begin
|
||||
DebugLn(['Search CurDir=',CurDir]);
|
||||
//DebugLn(['Search CurDir=',CurDir]);
|
||||
if FindFirstUTF8(CurDir+FileMask,faAnyFile,FileInfo)=0 then begin
|
||||
repeat
|
||||
ShortFilename:=FileInfo.Name;
|
||||
if (ShortFilename='') or (ShortFilename='.') or (ShortFilename='..') then
|
||||
continue;
|
||||
debugln(['Search ShortFilename=',ShortFilename,' IsDir=',(FileInfo.Attr and faDirectory)>0]);
|
||||
//debugln(['Search ShortFilename=',ShortFilename,' IsDir=',(FileInfo.Attr and faDirectory)>0]);
|
||||
Filename:=CurDir+ShortFilename;
|
||||
if (FileInfo.Attr and faDirectory)>0 then begin
|
||||
// directory
|
||||
if (ExcludeDirMask='')
|
||||
or (FilenameIsMatching(ExcludeDirMask,ShortFilename,true))
|
||||
or (not FilenameIsMatching(ExcludeDirMask,ShortFilename,true))
|
||||
then begin
|
||||
Search(Filename+PathDelim);
|
||||
end else begin
|
||||
DebugLn(['Search DIR MISMATCH ',Filename]);
|
||||
//DebugLn(['Search DIR MISMATCH ',Filename]);
|
||||
end;
|
||||
end else begin
|
||||
// file
|
||||
@ -629,7 +629,7 @@ function GatherFiles(Directory, ExcludeDirMask, IncludeFileMask: string): TStrin
|
||||
DebugLn(['Search ADD ',Filename]);
|
||||
GatherFiles.Add(Filename);
|
||||
end else begin
|
||||
DebugLn(['Search MISMATCH ',Filename]);
|
||||
//DebugLn(['Search MISMATCH ',Filename]);
|
||||
end;
|
||||
end;
|
||||
until FindNextUTF8(FileInfo)<>0;
|
||||
|
@ -2101,7 +2101,7 @@ begin
|
||||
DirEndMask:=FindDirectoryEnd(Mask,DirStartMask);
|
||||
DirEndFile:=FindDirectoryEnd(Filename,DirStartFile);
|
||||
//debugln(' Compare "',copy(Mask,DirStartMask,DirEndMask-DirStartMask),'"',
|
||||
// ' "',copy(Filename,DirStartFile,DirEndFile-DirStartFile),'"');
|
||||
// ' "',copy(Filename,DirStartFile,DirEndFile-DirStartFile),'"');
|
||||
// compare directories
|
||||
BracketMaskPos:=0;
|
||||
while (DirStartMask<DirEndMask) do begin
|
||||
@ -2123,16 +2123,16 @@ begin
|
||||
Fits:=true;
|
||||
end else begin
|
||||
StopChar:=DirStartMask;
|
||||
if (BracketMaskPos>0) then begin
|
||||
if (BracketMaskPos>0) and (Mask[StopChar] in [',','}']) then begin
|
||||
while (StopChar<DirEndMask) and (Mask[StopChar]<>'}') do
|
||||
inc(StopChar);
|
||||
inc(StopChar);
|
||||
end;
|
||||
if StopChar>=DirEndMask then
|
||||
Fits:=false
|
||||
Fits:=true
|
||||
else begin
|
||||
while (DirStartFile<DirEndFile)
|
||||
and (not CharsEqual(Filename[DirStartFile],Mask[DirStartMask]))
|
||||
and (not CharsEqual(Filename[DirStartFile],Mask[StopChar]))
|
||||
do
|
||||
inc(DirStartFile);
|
||||
Fits:=DirStartFile<DirEndFile;
|
||||
|
Loading…
Reference in New Issue
Block a user