|
@@ -0,0 +1,29 @@
|
|
|
|
+MODULE Env;
|
|
|
|
+IMPORT CmdArgs, Utf8;
|
|
|
|
+TYPE SHORTCHAR = Utf8.SHORTCHAR;
|
|
|
|
+
|
|
|
|
+VAR count: INTEGER;
|
|
|
|
+
|
|
|
|
+PROCEDURE Count*(): INTEGER;
|
|
|
|
+BEGIN
|
|
|
|
+ IF count = -1 THEN count := CmdArgs.GetEnvCount() END
|
|
|
|
+RETURN count END Count;
|
|
|
|
+
|
|
|
|
+PROCEDURE Get*(n: INTEGER; VAR s: ARRAY OF CHAR);
|
|
|
|
+VAR q: ARRAY 10240 OF SHORTCHAR;
|
|
|
|
+BEGIN
|
|
|
|
+ IF (0 <= n) & (n < Count()) THEN
|
|
|
|
+ CmdArgs.GetEnvN(n, q); Utf8.Decode(q, s)
|
|
|
|
+ ELSE s := ''
|
|
|
|
+ END
|
|
|
|
+END Get;
|
|
|
|
+
|
|
|
|
+PROCEDURE GetByName*(name: ARRAY OF CHAR; VAR val: ARRAY OF CHAR);
|
|
|
|
+VAR q: ARRAY 10240 OF SHORTCHAR;
|
|
|
|
+ z: ARRAY 1024 OF SHORTCHAR;
|
|
|
|
+BEGIN Utf8.Encode(name, z); CmdArgs.GetEnv(z, q); Utf8.Decode(q, val)
|
|
|
|
+END GetByName;
|
|
|
|
+
|
|
|
|
+BEGIN
|
|
|
|
+ count := -1
|
|
|
|
+END Env.
|