Test2.mesa
Copyright Ó 1991 by Xerox Corporation. All rights reserved.
DIRECTORY
UnixSysCallExtensions USING [Spawn],
Rope,
UXStrings,
UnixTypes USING [CHARPtr];
Test2: CEDAR PROGRAM
IMPORTS UnixSysCallExtensions, UXStrings
~ BEGIN
ROPE: TYPE ~ Rope.ROPE;
Spawn: PROC [cmd, in, out, err: UnixTypes.CHARPtr] RETURNS [status: INT] ~ {
RETURN [ UnixSysCallExtensions.Spawn [cmd, in, out, err] ];
};
Foo: PROC [cmdRope: ROPE, inputRope: ROPE] RETURNS [status: INT] ~ {
cmdString: UnixTypes.CHARPtr ~ UXStrings.Create[from: cmdRope];
inputRope: ROPE ~ "/worsel/pelegri/tmp/INPUT";
inputString: UnixTypes.CHARPtr ~ UXStrings.Create[from: inputRope];
outputRope: ROPE ~ "/worsel/pelegri/tmp/OUTPUT";
outputString: UnixTypes.CHARPtr ~ UXStrings.Create[from: outputRope];
errorRope: ROPE ~ "/worsel/pelegri/tmp/ERROR";
errorString: UnixTypes.CHARPtr ~ UXStrings.Create[from: errorRope];
status ¬ Spawn[cmdString, inputString, outputString, errorString];
};
[] ¬ Foo["cd /worsel/pelegri/tmp ; /bin/csh -s", "/worsel/pelegri/tmp/INPUT"];
END.