VMS Help
RTL Routines, LIB$, LIB$MOVTUC
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
The Move Translated Until Character routine moves the source
string, character by character, to the destination string after
translating each character using the specified translation table
until the stop character is encountered. LIB$MOVTUC makes the VAX
MOVTUC instruction available as a callable routine.
Format
LIB$MOVTUC source-string ,stop-character ,translation-table
,destination-string [,fill-character]
OpenVMS usage:longword_unsigned
type: longword (unsigned)
access: write only
mechanism: by value
The relative position in the source string of the character that
is translated to the stop character. Zero is returned if the stop
character is not found. This value is set to -1 if destination-
string cannot be allocated.
source-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Source string to be translated and moved by LIB$MOVTUC. The
source-string argument is the address of a descriptor pointing
to this source string.
stop-character
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Stop character that causes LIB$MOVTUC to stop translating the
source string. The stop-character argument is the address of a
descriptor pointing to a string. The first character of this
string is used as the stop character. The length of this string
is not checked. During the translation, LIB$MOVTUC accesses each
character in the source string and uses it as an index into the
translation table. If this translated character is the specified
stop character, translation stops, and stop-character is not
translated.
translation-table
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Translation table used by LIB$MOVTUC. The translation-table
argument is the address of a descriptor pointing to the
translation table string. The translation table string is assumed
to be 256 characters long.
You can use any of the translation tables included in the
Description section of LIB$MOVTC, or you can create your
own. When using a translation table supplied by Compaq, the
names LIB$AB_xxx_yyy represent the addresses of the 256-byte
translation tables, and can be accessed as external (string)
variables. If a particular language cannot generate descriptors
for external strings, then they must be created manually.
destination-string
OpenVMS usage:char_string
type: character string
access: write only
mechanism: by descriptor
Destination string into which LIB$MOVTUC writes the translated
source-string. The destination-string argument is the address of
a descriptor pointing to this destination string.
fill-character
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Character used to pad source-string to the length of destination-
string. The fill-character argument is the address of a
descriptor pointing to a string. The first character of this
string is used as the fill character. The length of this string
is not checked and fill-character is not translated.
If the fill character is included, the remainder of the
destination string (after the stop character) is filled with the
specified fill character. If it is not included, the remainder of
the destination string remains unchanged.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.