File: fix-im.cmd

package info (click to toggle)
im 1%3A151-2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 1,464 kB
  • sloc: perl: 8,081; sh: 3,254; makefile: 139
file content (65 lines) | stat: -rwxr-xr-x 1,753 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
 * fix-im.cmd  by fuji
 *
 * !!!!!  THE LINE BREAK CODE MUST BE "CR+LF" (0x0Dh + 0x0Ah).  !!!!!
 *
 * Created: 970908
 * Revised: 980907
 */

  ARG type .
  
  PARSE SOURCE . . this

  IF type ==''| ( type<>'REXX' & type <>'EXTPROC' ) THEN DO
     SAY 'Please specify fix type.'
     SAY '[usage]' FileSpec('Name', this) 'TYPE'
     SAY '	TYPE: "REXX" or "ExtProc".'
     EXIT 999
  END

  IF RxFuncQuery('SysLoadFuncs') THEN DO
     CALL RxFuncAdd "SysLoadFuncs","REXXUTIL","SysLoadFuncs"
     CALL SysLoadFuncs
  END
  CALL Time('R')
  EOL='0a'x
  template='OS2\im.cmd'

  SAY 'fix type:' type

  CALL SysFileTree 'im*.cmd','dum.','FO','*****','-----'	/* chmod im*.cmd */
  CALL SysFileTree 'im*.','f.','FO'				/* IM scripts */
  DO i=1 TO f.0
     cmdfile=f.i'.cmd'
     rb=SysFileDelete(cmdfile)
     SAY 'creating' FileSpec('Name',cmdfile) || '..'
     func = 'CALL' type || '("' || f.i || '")'
     INTERPRET func
  END
  SAY Time('E')
EXIT


EXTPROC: PROCEDURE EXPOSE cmdfile EOL
PARSE ARG src
   head=LineIn(src)
   PARSE VAR head '#' '!' prog opt
   IF Pos('PERL',Translate(prog)) <>0 THEN opt = '-Sx' opt
   CALL CharOut cmdfile, 'extproc' prog opt ||EOL
   CALL CharOut cmdfile, head ||EOL
   DO WHILE Lines(src)
      line=LineIn(src)
      IF Pos('###DELETE-ON-INSTALL###', line) ==0	/* not WordPos() */
      THEN CALL CharOut cmdfile, line ||EOL
   END
   CALL CharOut cmdfile		/* close handle */
RETURN

REXX: PROCEDURE EXPOSE template cmdfile
   '@copy' template cmdfile '>nul 2>&1'
   IF rc<>0  THEN CALL LineOut STDERR,,
   'FILE ERROR:' template 'NOT found, or' FileSpec('N',cmdfile) 'has been opened by another process EXCLUSIVELY.'
RETURN

/* End of procedure */