From: Pascal Obry Date: Fri, 9 Dec 2005 17:18:03 +0000 (+0100) Subject: g-diopit.adb (Find): Fix test to exit the iterator and make sure that the iterator... X-Git-Tag: releases/gcc-4.2.0~5471 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc503cef64e1eda4b4be760112de394207dbd096;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ada/g-diopit.adb b/gcc/ada/g-diopit.adb index 92c7be128be8..d57ca3858329 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;