VMS Help  —  RTL Routines, LIB$  LIB$MOVTUC
    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]

1  –  Returns

    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.

2  –  Arguments

 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 VSI, 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.
Close Help