12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /*
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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
|