diff --git a/rtl/inc/getopts.pp b/rtl/inc/getopts.pp index 5a655b1f1f..8157d73540 100644 --- a/rtl/inc/getopts.pp +++ b/rtl/inc/getopts.pp @@ -15,7 +15,8 @@ **********************************************************************} unit getopts; Interface - +{$modeswitch advancedrecords} +{$modeswitch defaultparameters} Const No_Argument = 0; Required_Argument = 1; @@ -29,6 +30,7 @@ Type Has_arg : Integer; Flag : PChar; Value : Char; + Procedure SetOption(const aName:String;AHas_Arg:integer=0;AFlag:PChar=nil;AValue:Char=#0); end; Orderings = (require_order,permute,return_in_order); @@ -48,6 +50,13 @@ Function GetLongOpts (ShortOpts : String;LongOpts : POption;var Longind : Longin Implementation + +Procedure TOption.SetOption(const aName:String;AHas_Arg:integer=0;AFlag:PChar=nil;AValue:Char=#0); +begin + Name:=aName; Has_Arg:=AHas_Arg; Flag:=AFlag; Value:=Avalue; +end; + + {$IFNDEF FPC} {*************************************************************************** Create an ArgV