MOVELR - move characters left to right using an EIS MLR.

Alternate Entry Name: .MLR

Usage:

B:
   movelr( outstr, outpos, instr, inpos, outlen [,
        inlen [, fill [, outype [, intype] ] ] ] );
C:
   void movelr(void *outstr, int outpos,
               const void *instr, int inpos,
               int outlen, int inlen [, int fill,
               int outype, int intype] );

Where:

outstr
is a pointer to the beginning of the output string.
outpos
is a character offset into "outstr". The initial character of "outstr" has an offset of zero, the next character has an offset of one, and so on.
instr
is a pointer to the beginning of the input string.
inpos
is a character offset into "instr" similar to "outpos".
outlen
is the number of characters to be copied into "outstr".
inlen
is the number of characters in the input string. If "inlen" is not specified, it defaults to "outlen".
fill
is a single character with which the output string will be padded if "outlen" is greater than "inlen". If "fill" is not specified, "outstr" will be padded with blanks.
outype
is one of 4, 6, or 9, indicating how many bits per character there are in "outstr". The default is nine bits per character, signifying ASCII characters.
intype
indicates how many bits per character there are in "instr". The default is "outype".

Description:

MOVELR copies characters from "instr" into "outstr". Characters are obtained beginning in position "inpos" in "instr" and moving to the right; these characters are copied out beginning at position "outpos" in "outstr" and also moving to the right. Any previous contents of "outstr" beyond "outpos" will be written over.

A total of "outlen" characters are placed in "outstr". If "outlen" is greater than "inlen", "outstr" will be filled with "fill" characters to the desired length. This padding is done on the right. Depending on "intype" and "outype", the packing of the characters may be changed during the move.

The hardware does not guarantee results for overlapping strings. An IPR fault may occur if the output length is zero and the input length is not.

Notes:

CONCAT should be used to copy B strings.

See Also:

expl b lib concat

Copyright © 1996, Thinkage Ltd.