Description:
Extracts the string data pointer and string length from the
FORTRAN argument list, and passes this information to NBS_GET_VALUE. Thus, the number of
bytes read is at most the length the string supplied.
Invocation
(Int) = NBS_GET_CVALUE
(ID,OFFSET,STRING,ACTBYTES,STATUS)
Arguments
ID = INTEGER (Given)
Identifier of the item from
which thew value is to be got.
OFFSET = INTEGER (Given)
Byte offset into item data.
STRING =
CHARACTER()
(Returned)
Users string buffer into which item bytes will be got.
ACTBYTES = INTEGER
(Returned)
Actual number of values associated with the item. This may be greater than OFFSET
LEN(STRING) but no more than LEN(STRING) bytes will be copied into the user’s buffer.
STATUS = INTEGER (Given and returned)
The global status. Possible return values
are,
NBS__NOTPRIMITIVE | Item is not primitive |
NBS__BADOFFSET | Negative offset specified |
NBS__TIMEOUT | Timeout awaiting valid data |
Notes:
No C version of this routine is supplied because C strings are by convention null terminated.
As NBS_GET_CVALUE writes new string data, its correct functioning in the C case would rely on the
unwarranted assumption that sufficient space existed in the destination string for the data to be
written. By forcing the use of NBS_GET_VALUE in this case, the user must at least state the
destination length explicitly.