ConvertUnsafe.mesa
Copyright Ó 1985, 1986, 1991 by Xerox Corporation. All rights reserved.
Russ Atkinson, January 29, 1985 6:53:15 pm PST
Paul Rovner, September 19, 1983 9:16 pm
Last Edited by: Levin, September 22, 1983 10:39 am
Doug Wyatt, November 13, 1986 6:59:53 pm PST
Unsafe conversions to/from LONG STRING.
DIRECTORY
Rope USING [ROPE, Text];
ConvertUnsafe: CEDAR DEFINITIONS
= BEGIN
ROPE: TYPE = Rope.ROPE;
Text: TYPE = Rope.Text;
LS: TYPE = LONG STRING;
SubString: TYPE = RECORD [base: LS, offset, length: CARDINAL];
AppendRefText:
UNSAFE
PROC [to:
LS, from:
REF
READONLY
TEXT];
raises BoundsFault if destination is too small
AppendRope:
UNSAFE
PROC [to:
LS, from:
ROPE];
raises BoundsFault if destination is too small
AppendSubString:
UNSAFE
PROC [to:
LS, from: SubString];
raises BoundsFault if destination is too small
AppendSubStringToRefText:
PROC [to:
REF
TEXT, from: SubString];
raises BoundsFault if destination is too small
ToRefText:
PROC [from:
LS]
RETURNS[
REF
TEXT];
raises BoundsFault if the string is longer than LAST[NAT]
ToRope:
PROC [from:
LS]
RETURNS[Text];
raises BoundsFault if the string is longer than LAST[NAT]
SubStringToRope:
PROC [from: SubString]
RETURNS[Text];
EqualSubStrings: PROC [s1, s2: SubString, case: BOOL ¬ TRUE] RETURNS[BOOL];
END.