1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- Copyright 2003-2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- Run RC file, name is in the first arg, second arg is either PATH
- ENV or -r or nothing
- */
-
- parse arg name path rest
-
- if name = '' then do
- say 'RC file name is missing'
- exit 1
- end
-
- if rest \= '' then do
- say 'Too many parameters'
- exit 1
- end
-
- call runit name path
- exit 0
-
- runit: procedure
- parse arg name path dir
-
- if path \= '' & path \= '-r' then do
- dir = value(translate(path),,'OS2ENVIRONMENT')
- if dir = '' then return
- dir = translate(dir, '\', '/') /* change UNIX-like path to OS/2 */
- end
-
- if dir = '' then dir = directory()
-
- if path = '-r' then do /* recursive call */
- subdir = filespec('path', dir)
- if subdir \= '\' then do
- subdir = left(subdir, length(subdir)-1)
- call runit name path filespec('drive', dir) || subdir
- end
- end
-
- /* Look for the file and run it */
- if right(dir, 1) \= '\' then dir = dir || '\'
- rcfile = stream(dir || name, 'c', 'query exists')
- if rcfile \= '' then interpret 'call "' || rcfile || '"'
-
- return
|