Use this program to return a string value. The argument of the macro should be a zero terminated string.
The macro allocates the return string, copies the content of the string to the allocated space. This macro does NOT return from the function that uses it. It allows the function to execute some extra code before returning from the function, for example to release the string variable passed as argument to this macro.
If the return value can not be allocated the macro returns with COMMAND_ERROR_MEMORY_LOW.
If the argument is NULL the macro will set the return value to be NULL (BASIC value undef).
The macro evaluates its argument twice.