1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance 9# with the License. You may obtain a copy of the License at 10# 11# http://www.apache.org/licenses/LICENSE-2.0 12# 13# Unless required by applicable law or agreed to in writing, 14# software distributed under the License is distributed on an 15# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16# KIND, either express or implied. See the License for the 17# specific language governing permissions and limitations 18# under the License. 19# 20#************************************************************** 21 22 23 24package installer::pathanalyzer; 25 26use installer::globals; 27 28########################################### 29# Path analyzer 30########################################### 31 32sub get_path_from_fullqualifiedname 33{ 34 my ($longfilenameref) = @_; 35 36 if ( $$longfilenameref =~ /\Q$installer::globals::separator\E/ ) # Is there a separator in the path? Otherwise the path is empty. 37 { 38 if ( $$longfilenameref =~ /^\s*(\S.*\S\Q$installer::globals::separator\E)(\S.+\S?)/ ) 39 { 40 $$longfilenameref = $1; 41 } 42 } 43 else 44 { 45 $$longfilenameref = ""; # there is no path 46 } 47} 48 49sub make_absolute_filename_to_relative_filename 50{ 51 my ($longfilenameref) = @_; 52 53 if ( $installer::globals::isunix ) 54 { 55 if ( $$longfilenameref =~ /^.*\/(\S.+\S?)/ ) 56 { 57 $$longfilenameref = $1; 58 } 59 } 60 61 if ( $installer::globals::iswin ) 62 { 63 # Either '/' or '\'. It would be possible to use $installer::globals::separator. 64 if ( $$longfilenameref =~ /^.*[\/\\](\S.+\S?)/ ) 65 { 66 $$longfilenameref = $1; 67 } 68 } 69} 70 711; 72