-
Notifications
You must be signed in to change notification settings - Fork 3
/
artEnv.m
32 lines (26 loc) · 701 Bytes
/
artEnv.m
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
(**artEnv.m is a compatible module for code written for OBNC but compiler with Obc-3
Copyright (C) 2021 R. S. Doiel
Released under The 3-Clause BSD License.
See https://opensource.org/licenses/BSD-3-Clause
*)
MODULE artEnv;
IMPORT Args, Strings;
PROCEDURE Get*(name : ARRAY OF CHAR; VAR value : ARRAY OF CHAR; VAR res : INTEGER);
VAR i, l1, l2 : INTEGER; val : ARRAY 512 OF CHAR;
BEGIN
l1 := LEN(value) - 1; (* Allow for trailing 0X *)
Args.GetEnv(name, val);
l2 := Strings.Length(val);
IF l2 <= l1 THEN
res := 0;
ELSE
res := l2 - l1;
END;
i := 0;
WHILE (i < l2) & (val[i] # 0X) DO
value[i] := val[i];
INC(i);
END;
value[i] := 0X;
END Get;
END artEnv.