Browse Source

* case insensitve directory search support

git-svn-id: trunk@5104 -
peter 19 years ago
parent
commit
7e8074463c
1 changed files with 14 additions and 3 deletions
  1. 14 3
      compiler/cfileutils.pas

+ 14 - 3
compiler/cfileutils.pas

@@ -148,7 +148,12 @@ implementation
               if ((dir.attr and faDirectory)<>faDirectory) or
               if ((dir.attr and faDirectory)<>faDirectory) or
                  (dir.Name<>'.') or
                  (dir.Name<>'.') or
                  (dir.Name<>'..') then
                  (dir.Name<>'..') then
-                DirectoryEntries.Add(Dir.Name,Pointer(Dir.Attr));
+                begin
+                  if not(tf_files_case_sensitive in source_info.flags) then
+                    DirectoryEntries.Add(Lower(Dir.Name),Pointer(Dir.Attr))
+                  else
+                    DirectoryEntries.Add(Dir.Name,Pointer(Dir.Attr));
+                end;
             until findnext(dir) <> 0;
             until findnext(dir) <> 0;
           end;
           end;
       end;
       end;
@@ -158,7 +163,10 @@ implementation
       var
       var
         Attr : Longint;
         Attr : Longint;
       begin
       begin
-        Attr:=PtrInt(DirectoryEntries.Find(AName));
+        if not(tf_files_case_sensitive in source_info.flags) then
+          Attr:=PtrInt(DirectoryEntries.Find(Lower(AName)))
+        else
+          Attr:=PtrInt(DirectoryEntries.Find(AName));
         if Attr<>0 then
         if Attr<>0 then
           Result:=((Attr and faDirectory)=0)
           Result:=((Attr and faDirectory)=0)
         else
         else
@@ -170,7 +178,10 @@ implementation
       var
       var
         Attr : Longint;
         Attr : Longint;
       begin
       begin
-        Attr:=PtrInt(DirectoryEntries.Find(AName));
+        if not(tf_files_case_sensitive in source_info.flags) then
+          Attr:=PtrInt(DirectoryEntries.Find(Lower(AName)))
+        else
+          Attr:=PtrInt(DirectoryEntries.Find(AName));
         if Attr<>0 then
         if Attr<>0 then
           Result:=((Attr and faDirectory)=faDirectory)
           Result:=((Attr and faDirectory)=faDirectory)
         else
         else