home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / comm / misc / elcheapofax / rcs / all2fax.rexx,v < prev    next >
Text File  |  1993-12-21  |  4KB  |  213 lines

  1. head    1.3;
  2. access;
  3. symbols
  4.     OCT93:1.3;
  5. locks;
  6. comment    @# @;
  7.  
  8.  
  9. 1.3
  10. date    93.07.01.00.44.20;    author Rhialto;    state Exp;
  11. branches;
  12. next    1.2;
  13.  
  14. 1.2
  15. date    93.06.11.16.33.37;    author Rhialto;    state Exp;
  16. branches;
  17. next    1.1;
  18.  
  19. 1.1
  20. date    93.06.11.14.53.53;    author Rhialto;    state Exp;
  21. branches;
  22. next    ;
  23.  
  24.  
  25. desc
  26. @Driver to interpret fax scripts
  27. @
  28.  
  29.  
  30. 1.3
  31. log
  32. @Open correct input file name.
  33. @
  34. text
  35. @/*
  36.  * All2fax.rexx
  37.  * $Id: all2fax.rexx,v 1.2 1993/06/11 16:33:37 Rhialto Exp $
  38.  *
  39.  * Copyright (C) 1993 by Olaf 'Rhialto' Seibert. All rights reserved.
  40.  */
  41. append = ""                     /* set for each non-first filepart */
  42. invert = ""
  43. raw = "-r"                      /* unset for last filepart */
  44. verbose = ""
  45. fontname = "courier.font"
  46. fontsize = 30
  47. outfile = "all.fax"
  48. xoffset = 50
  49. yoffset = 50            /* set to 0 for each non-first filepart */
  50. infiles = 0
  51.  
  52. call doargs(arg(1))
  53.  
  54. do fi = 1 to infiles
  55.     ifp = ""
  56.     if open(ifp, infile.fi, "read") = 0 then do
  57.     say "Can't open input file" infile.fi
  58.     exit 20
  59.     end
  60.     call opentempfile
  61.     do forever
  62.     line = readln(ifp)
  63.     if eof(ifp) then leave
  64.     if left(line, 1) = "." then do
  65.         cmd = word(line, 1)
  66.         tail = delword(line, 1, 1)
  67.         select
  68.         when left(line, 2) = ".." then do
  69.             writeln(tfp, substr(line, 2)
  70.             dotfp = 1
  71.             end
  72.         when cmd = ".args" then do
  73.             call processtempfile
  74.             call doargs(tail)
  75.             end
  76.         when cmd = ".doit" then do
  77.             call doargs(tail)
  78.             call processtempfile
  79.             end
  80.         when cmd = ".iff" then do
  81.             call processtempfile
  82.             call doifffile(tail)
  83.             end
  84.         when cmd = ".raw" then do
  85.             call processtempfile
  86.             call dorawfile(tail)
  87.             end
  88.         when cmd = ".rexx" then do
  89.             say "REXX:" tail
  90.             interpret tail
  91.             end
  92.         when cmd = ".shell" then do
  93.             say "SHELL:" tail
  94.             address command tail
  95.             end
  96.         when cmd = "." then nop
  97.         otherwise do
  98.             say "Unknown directive:" line
  99.             end
  100.         end
  101.     end; else do
  102.         writeln(tfp, line)
  103.         say line
  104.         dotfp = 1
  105.     end
  106.     end
  107.     /* Last filepart */
  108.     if fi = infiles then raw = ""
  109.     call processtempfile
  110.     call closetempfile
  111.     call deletetempfile
  112. end
  113.  
  114. doargs:     /* (arguments) */
  115.     args = arg(1)
  116.     words = words(args)
  117.     do wi = 1 to words
  118.     w = word(args, wi)
  119.     select
  120.         when w =  "-a" then append = w
  121.         when w = "--a" then append = ""
  122.         when w =  "-i" then invert = w
  123.         when w = "--i" then invert = ""
  124.         when w =  "-r" then raw = w
  125.         when w = "--r" then raw = ""
  126.         when w =  "-v" then verbose = w
  127.         when w = "--v" then verbose = ""
  128.         when w = "-f" then do; wi=wi+1; fontname = word(args, wi); end
  129.         when w = "-s" then do; wi=wi+1; fontsize = word(args, wi); end
  130.         when w = "-o" then do; wi=wi+1; outfile = word(args, wi); end
  131.         when w = "-x" then do; wi=wi+1; xoffset = word(args, wi); end
  132.         when w = "-y" then do; wi=wi+1; yoffset = word(args, wi); end
  133.         otherwise do
  134.         infiles = infiles + 1
  135.         infile.infiles = w
  136.         end
  137.     end
  138.     end
  139.     return
  140.  
  141. opentempfile:
  142.     tfpname = "t:all2fax.tmp"
  143.     dotfp = 0
  144.     if open(tfp, tfpname, "write") = 0 then do
  145.     say "Can't open temporary file" tfpname
  146.     exit 20
  147.     end
  148.     return
  149.  
  150. closetempfile:
  151.     if close(tfp) = 0 then do
  152.     say "Can't close temporary file" tfpname
  153.     exit 20
  154.     end
  155.     return
  156.  
  157. deletetempfile:
  158.     address command "delete" tfpname
  159.     return
  160.  
  161. processtempfile:
  162.     if dotfp = 0 then return
  163.     call closetempfile
  164.     cmd = "asc2fax" append invert raw verbose,
  165.     "-f" fontname "-s" fontsize "-o" outfile "-x" xoffset "-y" yoffset,
  166.     tfpname
  167.     say cmd
  168.     address command cmd
  169.     call opentempfile
  170.     /* >= Second file part */
  171.     append = "-a"
  172.     yoffset = 0
  173.     return
  174.  
  175. doifffile:  /* (arguments) */
  176.     cmd = "iff2fax" append invert raw verbose,
  177.     "-o" outfile "-x" xoffset "-y" yoffset,
  178.     arg(1)
  179.     say cmd
  180.     address command cmd
  181.     return
  182.  
  183. dorawfile:  /* (arguments) */
  184.     cmd = "append" verbose "-o" outfile arg(1)
  185.     say cmd
  186.     address command cmd
  187.     return
  188. @
  189.  
  190.  
  191. 1.2
  192. log
  193. @First real RCS checkin
  194. @
  195. text
  196. @d3 1
  197. a3 1
  198.  * $Id$
  199. d22 2
  200. a23 2
  201.     if open(ifp, infile.infiles, "read") = 0 then do
  202.     say "Can't open input file" infile.infiles
  203. @
  204.  
  205.  
  206. 1.1
  207. log
  208. @Initial revision
  209. @
  210. text
  211. @d3 1
  212. @
  213.