Home | History | Annotate | Download | only in bin
      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 
     21 parse arg name path rest
     22 
     23 if name = '' then do
     24   say 'RC file name is missing'
     25   exit 1
     26 end
     27 
     28 if rest \= '' then do
     29   say 'Too many parameters'
     30   exit 1
     31 end
     32 
     33 call runit name path
     34 exit 0
     35 
     36 runit: procedure
     37 parse arg name path dir
     38 
     39 if 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 */
     43 end
     44 
     45 if dir = '' then dir = directory()
     46 
     47 if 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
     53 end
     54 
     55 /* Look for the file and run it */
     56 if right(dir, 1) \= '\' then dir = dir || '\'
     57 rcfile = stream(dir || name, 'c', 'query exists')
     58 if rcfile \= '' then interpret 'call "' || rcfile || '"'
     59 
     60 return
     61