home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rexxuuxx.zip / 64ENCODE.PLI < prev    next >
Text File  |  1997-05-11  |  2KB  |  50 lines

  1.  /*********************************************************************/
  2.  /* This program is freeware, distributed as is, without any warranty */
  3.  /* of its usefulness for any purpose. You may use it freely. You may */
  4.  /* also redistribute it, provided no charge is levied beyond the     */
  5.  /* price of its distribution medium. However, the author retains all */
  6.  /* intellectual property rights.                                     */
  7.  /*                                                                   */
  8.  /*                                                                   */
  9.  /*  Copyright (C) David W. Noon, 1995, 1997                          */
  10.  /*                                                                   */
  11.  /*********************************************************************/
  12.  
  13.  /*************************************************
  14.   *                                               *
  15.   * Program to encode BASE64 messages as per Unix *
  16.   *                                               *
  17.   * Author: David W. Noon                         *
  18.   *         December 1995                         *
  19.   *                                               *
  20.   *************************************************/
  21.  B64ENCODE:
  22.  PROC(PARM) OPTIONS(MAIN NOEXECOPS REENTRANT) REORDER;
  23.  
  24.      DCL  PARM                          CHAR(521) VAR;
  25.  
  26.      %INCLUDE UUXXCODE;
  27.  
  28.      DCL  (i,l,p)                       BIN FIXED(31,0) UNSIGNED,
  29.           1    B64_Encode_struct,
  30.                2    Input_filename           CHAR(260) VAR,
  31.                2    Output_filename          CHAR(260) VAR,
  32.           (ADDR,LEFT,RIGHT,SEARCH,SUBSTR,TRIM,VERIFY) BUILTIN;
  33.  
  34.      i = VERIFY(PARM,' ');
  35.      l = SEARCH(PARM,' ',i+1);
  36.      p = VERIFY(PARM,' ',l+1);
  37.      IF i = 0 | l = 0 | p = 0 THEN
  38.           DISPLAY('Input & output path/filenames must be given.');
  39.      ELSE
  40.      DO;
  41.           B64_Encode_struct.Input_filename = SUBSTR(PARM,i,l-i);
  42.           B64_Encode_struct.Output_filename = TRIM(SUBSTR(PARM,p));
  43.           FETCH BASE64_ENCODE TITLE('UUXXCODE/BASE64_ENCODE');
  44.           CALL BASE64_ENCODE(ADDR(B64_Encode_struct));
  45.           RELEASE BASE64_ENCODE;
  46.      END;
  47.  
  48.      RETURN;
  49.  END B64ENCODE;
  50.