Returning TEXT/BYTE values from functions
When returning a TEXT
or BYTE
value from
a function, the locator is pushed in on the stack. Storage information of the
TEXT
/BYTE
is defined in the locator structure,
therefore you can define the storage of the large object variable in a function,
initialize the object with a value, and return it.
MAIN
DEFINE t TEXT
LET t = init_text(t)
DISPLAY "t size = ", LENGTH(t)
END MAIN
FUNCTION init_text(t)
DEFINE t TEXT
LOCATE t IN MEMORY
LET t = "abc"
RETURN t
END FUNCTION
The above sample will produce following ouput:
t size = 3