g-comlin.adb (Set_Command_Line): Now that aliases can contain parameters, always specify the expected separator.

2008-08-06  Jerome Lambourg  <lambourg@adacore.com>

	* g-comlin.adb (Set_Command_Line): Now that aliases can contain
	parameters, always specify the expected separator.

From-SVN: r138780
This commit is contained in:
Jerome Lambourg 2008-08-06 10:52:44 +02:00 committed by Arnaud Charlet
parent c9b9957118
commit 32b9901464

View File

@ -1295,13 +1295,19 @@ package body GNAT.Command_Line is
-- Add it with no parameter, if that's the way the user
-- wants it.
-- Specify the separator in all cases, as the switch might
-- need to be unaliased, and the alias might contain
-- switches with parameters.
if Section = null then
Add_Switch
(Cmd, Switch_Char & Full_Switch (Parser));
(Cmd, Switch_Char & Full_Switch (Parser),
Separator => Separator (Parser));
else
Add_Switch
(Cmd, Switch_Char & Full_Switch (Parser), Section.all);
(Cmd, Switch_Char & Full_Switch (Parser),
Separator => Separator (Parser),
Section => Section.all);
end if;
end;
end loop;
@ -1439,9 +1445,17 @@ package body GNAT.Command_Line is
if not Require_Parameter (Cmd.Config.Switches (S).all)
or else Last >= Param
then
if Idx = Group'First and then Last = Group'Last then
if Idx = Group'First
and then Last = Group'Last
and then Last < Param
then
-- The group only concerns a single switch. Do not
-- perform recursive call.
-- Note that we still perform a recursive call if
-- a parameter is detected in the switch, as this
-- is a way to correctly identify such a parameter
-- in aliases.
return False;
end if;