From dc503cef64e1eda4b4be760112de394207dbd096 Mon Sep 17 00:00:00 2001 From: Pascal Obry Date: Fri, 9 Dec 2005 18:18:03 +0100 Subject: [PATCH] g-diopit.adb (Find): Fix test to exit the iterator and make sure that the iterator is quitting... 2005-12-05 Pascal Obry * 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 --- gcc/ada/g-diopit.adb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/ada/g-diopit.adb b/gcc/ada/g-diopit.adb index 92c7be128be..d57ca385832 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;