codetools: fixed repairing file case for include files and uses section

git-svn-id: trunk@33260 -
This commit is contained in:
mattias 2011-11-03 12:38:25 +00:00
parent 8920e57911
commit 2f56a3d603
2 changed files with 10 additions and 9 deletions

View File

@ -241,7 +241,8 @@ type
function FindCompiledUnitInUnitSet(const Directory, AUnitName: string): string;
procedure IterateFPCUnitsInSet(const Directory: string;
const Iterate: TCTOnIterateFile);
function FindDiskFilename(const Filename: string): string;
function FindDiskFilename(const Filename: string;
{%H-}SearchCaseInsensitive: boolean = false): string;
function FindUnitInDirectory(const Directory, AUnitName: string;
AnyCase: boolean = false): string;
function FindVirtualFile(const Filename: string): string;
@ -1596,18 +1597,19 @@ begin
Cache.IterateFPCUnitsInSet(Iterate);
end;
function TCTDirectoryCachePool.FindDiskFilename(const Filename: string
): string;
{$IF defined(NotLiteralFilenames) or defined(CaseInsensitiveFilenames)}
function TCTDirectoryCachePool.FindDiskFilename(const Filename: string;
SearchCaseInsensitive: boolean): string;
var
ADirectory: String;
Cache: TCTDirectoryCache;
ShortFilename: String;
{$ENDIF}
begin
Result:=ChompPathDelim(TrimFilename(Filename));
if Result='' then exit;
{$IF defined(NotLiteralFilenames) or defined(CaseInsensitiveFilenames)}
{$ELSE}
if (not SearchCaseInsensitive) then exit;
{$ENDIF}
ADirectory:=ExtractFilePath(Result);
if ADirectory=Result then
exit; // e.g. / under Linux
@ -1616,7 +1618,6 @@ begin
Result:=Cache.FindFile(ShortFilename,ctsfcAllCase);
if Result='' then exit;
Result:=Cache.Directory+Result;
{$ENDIF}
end;
function TCTDirectoryCachePool.FindUnitInDirectory(const Directory,

View File

@ -1171,7 +1171,7 @@ function TStandardCodeTool.FixUsedUnitCaseInUsesSection(
end;
CheckDirectoryCache;
if DirectoryCache=nil then exit;
Result:=DirectoryCache.Pool.FindDiskFilename(AFilename);
Result:=DirectoryCache.Pool.FindDiskFilename(AFilename,true);
if Result='' then exit;
if MakeRelative then
Result:=CreateRelativePath(Result,CurDir);
@ -6288,7 +6288,7 @@ var
begin
Result:=TrimFilename(AFilename);
if FilenameIsAbsolute(Result) then begin
Result:=DirectoryCache.Pool.FindDiskFilename(Result);
Result:=DirectoryCache.Pool.FindDiskFilename(Result,true);
Add(FilenameSrcPos,Result,FileExistsCached(Result));
//DebugLn('SearchIncludeFilename AbsoluteFilename="',Result,'"');
end else begin
@ -6299,7 +6299,7 @@ var
AFilePath:=ExtractFilePath(Result);
if AFilePath<>'' then begin
// search relative to unit
CurFilename:=DirectoryCache.Pool.FindDiskFilename(BaseDir+Result);
CurFilename:=DirectoryCache.Pool.FindDiskFilename(BaseDir+Result,true);
Result:=copy(CurFilename,length(BaseDir)+1,length(CurFilename));
if FileExistsCached(CurFilename) then
Add(FilenameSrcPos,CurFilename,true)