home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sqlcla.zip / POSTPRE.CMD < prev    next >
OS/2 REXX Batch file  |  1993-07-14  |  2KB  |  85 lines

  1. /* (C) Copyright Stephen B. Behman, 1993 -- All rights reserved. */
  2. /* $Header: d:/sh/RCS/postpre.cmd 2.0 93/07/14 10:04:18 Steve Exp $ */
  3. arg  ar a2 a3
  4. if a2='' then parse value translate( ar, ' ', d2c(9) ) with a1 a2
  5. else; a1=ar;
  6. indecl=0
  7. do while chars( a1 )>0    & indecl=0
  8.   l=linein( a1 )
  9.   if l='static unsigned char sqla_program_id[40] =' then do
  10.     call lineout a2, l
  11.     l=linein( a1 );call lineout a2, l
  12.     l=linein( a1 );call lineout a2, l
  13.     indecl=1
  14.   end
  15. end
  16.  
  17. do while lines( a1 )>0
  18.   l= linein( a1 )
  19.   parse value l with  c d
  20.   if c='$$$END' then leave
  21. end
  22.  
  23. do while chars( a1 )>0
  24.   l=linein( a1 )
  25.   select
  26.     when substr( l, 1, 10 )='$$$INCLUDE' then
  27.        call lineout a2, substr( l, 11 )
  28.     when substr( l, 1, 5 )='#line' then iterate
  29.     when substr( l, 1, 15 )='$$ BEGIN CURSOR' then
  30.       do
  31.     action='C'
  32.     call cursor
  33.       end
  34.     when substr( l, 1, 14 )='$$ BEGIN QUERY' then
  35.       do
  36.     action='Q'
  37.     call cursor
  38.       end
  39.     otherwise call lineout a2, l
  40.   end
  41. end
  42. return
  43.  
  44. cursor:
  45. inloop=1
  46. do while inloop=1
  47.   l=linein( a1 )
  48.   o=1
  49.   dab.1=0
  50.   da.1=''
  51.   dab.2=0
  52.   da.2=''
  53.   v=','
  54.   do while  chars( a1 )>0  & inloop=1
  55.       l=linein( a1 )
  56.       select
  57.     when strip(l)='$$ END CURSOR' | strip(l)='$$ END QUERY' then
  58.       do
  59.         call lineout a2, '&sqlca,sqla_program_id,' b ||',' var  dab.1 v dab.2
  60.         call lineout a2, da.1  da.2
  61.         inloop=0
  62.       end
  63.     when substr( strip( l ), 1, 8 )='sqlacall' then
  64.       do
  65.         parse value l with '(' a ',' b ',' c ',' d ',' e ')' .
  66.         if action='Q' then var=a || v
  67.         else; var=''
  68.       end
  69.     when substr( strip( l ), 1, 8 )='sqlaaloc' then
  70.       do
  71.         parse value l with '(' a ',' b ',' c ',' d ')' .
  72.         dab.a=0
  73.       end
  74.     when substr( strip( l ),1,8 )='sqlasetv' then
  75.       do
  76.         parse value l with '(' a ',' b ',' c ',' d ',' e ',' f ',' g ')' .
  77.         dab.a=dab.a + 1
  78.         da.a=da.a v c v d v e v f
  79.       end
  80.     otherwise iterate
  81.        end
  82.   end
  83. end
  84. return
  85.