Browse Source

Module Env

Arthur Yefimov 3 years ago
parent
commit
df6c6ee08c
1 changed files with 29 additions and 0 deletions
  1. 29 0
      Programs/Env.Mod

+ 29 - 0
Programs/Env.Mod

@@ -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.