diff options
author | Pascal Obry <obry@adacore.com> | 2005-12-09 18:18:03 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2005-12-09 18:18:03 +0100 |
commit | dc503cef64e1eda4b4be760112de394207dbd096 (patch) | |
tree | aa9d0a6351cd6720e0f17a2de235417db836a847 /gcc | |
parent | d1586072d0357bf1e46dfe82f91cae3f28cbecd7 (diff) | |
download | gcc-dc503cef64e1eda4b4be760112de394207dbd096.zip gcc-dc503cef64e1eda4b4be760112de394207dbd096.tar.gz gcc-dc503cef64e1eda4b4be760112de394207dbd096.tar.bz2 |
g-diopit.adb (Find): Fix test to exit the iterator and make sure that the iterator is quitting...
2005-12-05 Pascal Obry <obry@adacore.com>
* g-diopit.adb (Find): Fix test to exit the iterator and make sure that
the iterator is quitting iteration on parent directory.
From-SVN: r108291
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/g-diopit.adb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/ada/g-diopit.adb b/gcc/ada/g-diopit.adb index 92c7be1..d57ca38 100644 --- a/gcc/ada/g-diopit.adb +++ b/gcc/ada/g-diopit.adb @@ -51,6 +51,7 @@ package body GNAT.Directory_Operations.Iteration is is File_Regexp : constant Regexp.Regexp := Regexp.Compile (File_Pattern); Index : Natural := 0; + Quit : Boolean; procedure Read_Directory (Directory : Dir_Name_Str); -- Open Directory and read all entries. This routine is called @@ -80,7 +81,6 @@ package body GNAT.Directory_Operations.Iteration is Dir : Dir_Type; Buffer : String (1 .. 2_048); Last : Natural; - Quit : Boolean; begin Open (Dir, Directory); @@ -96,7 +96,6 @@ package body GNAT.Directory_Operations.Iteration is begin if Regexp.Match (Dir_Entry, File_Regexp) then - Quit := False; Index := Index + 1; begin @@ -116,6 +115,7 @@ package body GNAT.Directory_Operations.Iteration is and then OS_Lib.Is_Directory (Pathname) then Read_Directory (Pathname); + exit when Quit; end if; end; end loop; @@ -124,6 +124,7 @@ package body GNAT.Directory_Operations.Iteration is end Read_Directory; begin + Quit := False; Read_Directory (Root_Directory); end Find; |