+2019-08-12 Dmitriy Anisimkov <anisimko@adacore.com>
+
+ * libgnat/g-comlin.ads, libgnat/g-comlin.adb (Getopt): Add
+ parameter Quiet. Need to do not output error messages to
+ console. Invalid_Switch exception generation surrounded by an
+ error message.
+
2019-08-12 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Actuals. Add_Call_By_Copy_Code): Add code
Parser.Current_Index := End_Index + 1;
- raise Invalid_Switch;
+ raise Invalid_Switch with
+ "Unrecognized option " & Full_Switch (Parser);
end if;
End_Index := Parser.Current_Index + Max_Length - 1;
Last => Arg'Last,
Extra => Parser.Switch_Character);
Parser.Current_Index := Arg'Last + 1;
- raise Invalid_Switch;
+ raise Invalid_Switch with
+ "Unrecognized option " & Full_Switch (Parser);
end if;
end case;
(Config : Command_Line_Configuration;
Callback : Switch_Handler := null;
Parser : Opt_Parser := Command_Line_Parser;
- Concatenate : Boolean := True)
+ Concatenate : Boolean := True;
+ Quiet : Boolean := False)
is
Local_Config : Command_Line_Configuration := Config;
Getopt_Switches : String_Access;
-- Message inspired by "ls" on Unix
- Put_Line (Standard_Error,
- Base_Name (Ada.Command_Line.Command_Name)
- & ": unrecognized option '"
- & Full_Switch (Parser)
- & "'");
- Try_Help;
+ if not Quiet then
+ Put_Line (Standard_Error,
+ Base_Name (Ada.Command_Line.Command_Name)
+ & ": unrecognized option '"
+ & Full_Switch (Parser)
+ & "'");
+ Try_Help;
+ end if;
raise;
(Config : Command_Line_Configuration;
Callback : Switch_Handler := null;
Parser : Opt_Parser := Command_Line_Parser;
- Concatenate : Boolean := True);
+ Concatenate : Boolean := True;
+ Quiet : Boolean := False);
-- Similar to the standard Getopt function. For each switch found on the
-- command line, this calls Callback, if the switch is not handled
-- automatically.
-- to display the help message and raises Exit_From_Command_Line.
-- If an invalid switch is specified on the command line, this procedure
-- will display an error message and raises Invalid_Switch again.
+ -- If the Quiet parameter is True then the error message is not displayed.
--
-- This function automatically expands switches:
--