mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 10:49:31 +02:00
59 lines
1.0 KiB
ObjectPascal
59 lines
1.0 KiB
ObjectPascal
uses
|
|
getopts;
|
|
|
|
function ParseCmdOptions : boolean;
|
|
var
|
|
Opts : array [1..3] of POption;
|
|
C : char;
|
|
Index : Longint;
|
|
begin
|
|
{ assume success }
|
|
ParseCmdOptions := true;
|
|
|
|
{ logfile }
|
|
New(Opts[1]);
|
|
with Opts[1]^ do
|
|
begin
|
|
name := 'log';
|
|
has_arg := 1;
|
|
flag := nil;
|
|
end;
|
|
|
|
{ debug flag }
|
|
New(Opts[2]);
|
|
with Opts[2]^ do
|
|
begin
|
|
name := 'debug';
|
|
has_arg := 0;
|
|
flag := nil;
|
|
end;
|
|
|
|
{ end-of-array }
|
|
New(Opts[3]);
|
|
with Opts[3]^ do
|
|
begin
|
|
name := '';
|
|
has_arg := 0;
|
|
flag := nil
|
|
end;
|
|
|
|
{ parse }
|
|
repeat
|
|
C := GetLongOpts('l:d',Opts[1],Index);
|
|
case C of
|
|
|
|
#0: begin
|
|
if Opts[Index]^.name = Opts[1]^.name then { .. };
|
|
if Opts[Index]^.name = Opts[2]^.name then { .. };
|
|
{ handle this properly -- else ParseCmdOptions := false; }
|
|
end;
|
|
'l': { .. };
|
|
'd': { .. };
|
|
else ParseCmdOptions := false;
|
|
end; { case }
|
|
until C = endofoptions;
|
|
end;
|
|
|
|
begin
|
|
end.
|