index 2aa47588c7f01b23520cbb15b40d655d14a38486..c056a8e68ccf8e56da4916f41b480ec873667e14 100644 (file)
UString = POINTER [untagged] TO ARRAY [untagged] OF SHORTCHAR;
SUString = POINTER TO ARRAY OF UString;
VAR
- i, j: INTEGER; pid: unistd.pid_t; res: unistd.int; argv: SUString;
+ i: INTEGER; pid: unistd.pid_t; res: unistd.int; argv: SUString; s: String;
BEGIN
ASSERT(p.pid = -1, 20);
ASSERT(p.argv # NIL, 21);
- NEW(argv, LEN(p.argv) + 1);
+ NEW(argv, LEN(p.argv) + 2);
FOR i := 0 TO LEN(p.argv) - 1 DO
- argv[i] := SYSTEM.VAL(UString, SYSTEM.ADR(p.argv[i, 0]))
+ s := p.argv[i];
+ argv[i] := SYSTEM.VAL(UString, SYSTEM.ADR(s[0]))
END;
+ argv[i] := NIL;
pid := unistd.fork();
IF pid = 0 THEN
res := unistd.execv(argv[0], argv);