codetools: FilenameIsMatching: fixed asterisk in brackets

git-svn-id: trunk@24966 -
This commit is contained in:
mattias 2010-04-26 13:33:30 +00:00
parent a66aa3f7cb
commit 4db8628bf5
2 changed files with 9 additions and 9 deletions

View File

@ -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;

View File

@ -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;