Debian Bug#666958: gnat-gps: GPS isn't looking in /usr/share/ada/adainclude for installed packages
Ludovic Brenta <[email protected]> Mon, 09 Apr 2012 15:45:02 +0200
| Newsgroups | gmane.comp.ide.gps.devel |
|---|---|
| Message-ID | <[email protected]> |
While investigating http://bugs.debian.org/666958, I discovered a bug in
prj_editor/src/creation_wizard-dependencies.adb; the fix is:
--- a/prj_editor/src/creation_wizard-dependencies.adb
+++ b/prj_editor/src/creation_wizard-dependencies.adb
@@ -278,8 +278,9 @@
-- Make sure the path isn't duplicated
Found := False;
- for K in Project_Path'Range loop
+ for K in Project_Path'First .. J - 1 loop
if Project_Path (J) = Project_Path (K) then
+ -- We've already processed the same path before. Abort.
Found := True;
exit;
end if;
If you look in the sources, you will see that, without the patch, the
condition "Project_Path (J) = Project_Path (K)" is always true at least
once (i.e. when J = K) and therefore Found always becomes True and the
rest of the loop is never executed. Also, there is a risk that a path
that appears twice (or more) in the Project_Path array is *never*
processed. The patch carefully ensures that a duplicated path is
processed once.
--
Ludovic Brenta.