%ISLITERAL
Determine whether argument is a literal
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
status = %ISLITERAL(argument)
Return value
status
One of the following values: (n)
1 = The passed-in argument is a literal (or a runtime temp).
0 = The passed-in argument is not a literal (or a runtime temp).
Arguments
argument
The argument to be checked. (a)
Discussion
%ISLITERAL is a ^VAL function. It simplifies the process of finding out whether a passed argument is a literal (instead of attempting to write to an argument and trapping an error to find out). On OpenVMS, this function can only determine writability.
Examples
The example below is a wrapper routine to delete a window. If the ID passed is in a variable, it clears the variable so the calling routine doesn’t try to use the ID later:
.include "DBLDIR:windows.def" subroutine my_delete_window a_id ,n ;ID of window to delete proc xcall w_proc(WP_DELETE, a_id) if (!%isliteral(a_id)) clear a_id xreturn end