1/* 2 Licensed to the Apache Software Foundation (ASF) under one or more 3 contributor license agreements. See the NOTICE file distributed with 4 this work for additional information regarding copyright ownership. 5 The ASF licenses this file to You under the Apache License, Version 2.0 6 (the "License"); you may not use this file except in compliance with 7 the License. You may obtain a copy of the License at 8 9 http://www.apache.org/licenses/LICENSE-2.0 10 11 Unless required by applicable law or agreed to in writing, software 12 distributed under the License is distributed on an "AS IS" BASIS, 13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 See the License for the specific language governing permissions and 15 limitations under the License. 16 17 Run RC file, name is in the first arg, second arg is either PATH 18 ENV or -r or nothing 19*/ 20 21parse arg name path rest 22 23if name = '' then do 24 say 'RC file name is missing' 25 exit 1 26end 27 28if rest \= '' then do 29 say 'Too many parameters' 30 exit 1 31end 32 33call runit name path 34exit 0 35 36runit: procedure 37parse arg name path dir 38 39if path \= '' & path \= '-r' then do 40 dir = value(translate(path),,'OS2ENVIRONMENT') 41 if dir = '' then return 42 dir = translate(dir, '\', '/') /* change UNIX-like path to OS/2 */ 43end 44 45if dir = '' then dir = directory() 46 47if path = '-r' then do /* recursive call */ 48 subdir = filespec('path', dir) 49 if subdir \= '\' then do 50 subdir = left(subdir, length(subdir)-1) 51 call runit name path filespec('drive', dir) || subdir 52 end 53end 54 55/* Look for the file and run it */ 56if right(dir, 1) \= '\' then dir = dir || '\' 57rcfile = stream(dir || name, 'c', 'query exists') 58if rcfile \= '' then interpret 'call "' || rcfile || '"' 59 60return 61