Just for interest's sake, here is a list of the functions supported in this
single subroutine.

* =================================================================== *
*                                                                     *
*                             INVOCATION                              *
*                                                                     *
*      This subroutine can be invoked in several ways (depending upon *
* the function desired).   Supplied functions  provide the ability to *
* copy/parse, insert/overlay,  delete,  find,  justify, and translate *
* text strings.   These functions generally operate based on a master *
* "buffer" and one or more parameter "strings" -- as follows:         *
*                                                                     *
*                   ----- MANIPULATIONS -----                         *
*     "C"OPY      - copy from master buffer into parm string(s)       *
*     "P"ARSE     - parse master buffer into parm string(s)           *
*     "I"NSERT    - insert parm string(s) into master buffer          *
*     "O"VERLAY   - overlay parm string(s) onto master buffer         *
*     "D"ELETE    - delete single parm string from master buffer      *
*     "F"IND      - find single parm string in master buffer          *
*                   setting the string length parameter accordingly   *
*                                                                     *
*                   ----- TRANSFORMATIONS -----                       *
*     "J"USTIFY   - skip leading chars less than or equal to spaces   *
*                   in parm string(s), left-justify remainder, strip  *
*                   delimiter chars (if any), and drop trailing chars *
*                   less than or equal to spaces                      *
*     "M"JUSTIFY  - skip leading/trailing chars less than or equal to *
*                   spaces in parm string(s) & mid-justify remainder  *
*     "R"JUSTIFY  - skip trailing chars less than or equal to spaces  *
*                   in parm string(s) & right-justify remainder       *
*     R"T"RIM     - set length of parm string(s) w/o trailing spaces  *
*                                                                     *
*                   ----- TRANSLATIONS -----                          *
*     TO"A"SCII   - translate EBCDIC parm string(s) to ASCII          *
*     TO"E"BCDIC  - translate ASCII parm string(s) to EBCDIC          *
*     PRINTMAS"K" - mask non-printable chars in parm string(s)        *
*     "L"OWERCASE - translate parm string(s) to lower-case            *
*     "U"PPERCASE - translate parm string(s) to upper-case            *
*     "W"ORDCAPS  - first translate parm string(s) to lower-case and  *
*                   then capitalize the first letter of each word     *
*                                                                     *
*                   ----- SCRIPTING -----                             *
*     "S"CRIPTING - operate in mini-scripting mode--this can perform  *
*                   different functions, by string, in a single CALL. *
*                   But this excludes the following two functions, as *
*                   they completely rebuild the output buffer.        *
*                                                                     *
*                   ----- CONVERSIONS -----                           *
*     TO"B"ASE64  - encode binary input  string(s) into base64 output *
*                   (use a maximum of 7,494 binary characters,  or up *
*                   to 29 full input strings + 70 bytes in 30th input *
*                   string for up to 9,992 bytes into output buffer-- *
*                   i.e., 29 x 256 + 70 =  7,494 / 3 x 4 = 9,992)     *
*     "X"FROMB64  - decode base64 input  string(s) into binary output *
*                   (use a maximum of 13,324 base64 characters, or up *
*                   to 52 full input strings + 12 bytes in 53rd input *
*                   string for up to 9,993 bytes into output buffer-- *
*                   i.e., 52 x 256 + 12 = 13,324 / 4 x 3 = 9,993)     *

Sincerely,
Dave Clark

Reply via email to