IMPLEMENTATION MODULE Args ;
FROM UnixArgs IMPORT ArgC, ArgV ;
FROM ASCII IMPORT nul ;
CONST
MaxArgs = 255 ;
MaxString = 4096 ;
VAR
Source: POINTER TO ARRAY [0..MaxArgs] OF
POINTER TO ARRAY [0..MaxString] OF CHAR ;
PROCEDURE GetArg (VAR a: ARRAY OF CHAR; i: CARDINAL) : BOOLEAN ;
VAR
High,
j : CARDINAL ;
BEGIN
j := 0 ;
High := HIGH(a) ;
IF i<ArgC
THEN
Source := ArgV ;
WHILE (Source^[i]^[j]#nul) AND (j<High) DO
a[j] := Source^[i]^[j] ;
INC(j)
END
END ;
IF j<=High
THEN
a[j] := nul
END ;
RETURN( i<ArgC )
END GetArg ;
PROCEDURE Narg () : CARDINAL ;
BEGIN
RETURN( ArgC )
END Narg ;
END Args.