summaryrefslogtreecommitdiff
path: root/tests/webtbs/tw1333.pp
blob: c449d50a1f6e429751a2e1857545fee5d09a24cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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.