-- File: GVAnswer.Mesa
-- edited by Karlton, December 2, 1980 1:28 PM
-- based on Answer.mesa of Brotz, March 4, 1983 11:58 AM
-- edited by Willie-Sue, April 19, 1983 10:50 am
DIRECTORY
Rope USING [ROPE];
GVAnswer: CEDAR DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
MakeHeader: PROC [
getChar: PROC [INT] RETURNS [CHAR], getLength: INT,
userName, userRegistry: ROPE,
cForCopies: BOOLEAN ← FALSE]
RETURNS [answerError: BOOL, answer: ROPE, errorIndex: INT];
-- Causes an answering header for a message that the client currently has.
-- 'getChar' procedure is used to get characters from the old message header.
-- The argument to 'getChar' is which character from the old header is needed.
-- The same character may be asked for more than once. 'getLength' is the length
-- of the old message being parsed; 'getChar' will always be called with the
-- argument in the range [0 .. getLength). 'userName' and 'userRegistry' may not
-- be NIL, and are used to eliminate some "redundant" information from the constructed
-- header. 'cForCopies causes the constructed header to have "c: <recipient list>" instead
-- of "cc: <recipient list>".
-- If the parse of the old message failed, then MakeHeader returns TRUE.
-- IF answerError is TRUE, then errorIndex is the current value of getCharIndex
-- (gives some idea of where the parse error occurred
END. -- GVAnswer --