2
0

Env.Mod 649 B

1234567891011121314151617181920212223242526272829
  1. MODULE Env;
  2. IMPORT CmdArgs, Utf8;
  3. TYPE SHORTCHAR = Utf8.SHORTCHAR;
  4. VAR count: INTEGER;
  5. PROCEDURE Count*(): INTEGER;
  6. BEGIN
  7. IF count = -1 THEN count := CmdArgs.GetEnvCount() END
  8. RETURN count END Count;
  9. PROCEDURE Get*(n: INTEGER; VAR s: ARRAY OF CHAR);
  10. VAR q: ARRAY 10240 OF SHORTCHAR;
  11. BEGIN
  12. IF (0 <= n) & (n < Count()) THEN
  13. CmdArgs.GetEnvN(n, q); Utf8.Decode(q, s)
  14. ELSE s := ''
  15. END
  16. END Get;
  17. PROCEDURE GetByName*(name: ARRAY OF CHAR; VAR val: ARRAY OF CHAR);
  18. VAR q: ARRAY 10240 OF SHORTCHAR;
  19. z: ARRAY 1024 OF SHORTCHAR;
  20. BEGIN Utf8.Encode(name, z); CmdArgs.GetEnv(z, q); Utf8.Decode(q, val)
  21. END GetByName;
  22. BEGIN
  23. count := -1
  24. END Env.