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