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 49 50 51 52=head2 53 54 Despite its name, this function seems just to return the basename of the given filename. 55 56=cut 57sub make_absolute_filename_to_relative_filename 58{ 59 my ($longfilenameref) = @_; 60 61 if ( $installer::globals::isunix ) 62 { 63 if ( $$longfilenameref =~ /^.*\/(\S.+\S?)/ ) 64 { 65 $$longfilenameref = $1; 66 } 67 } 68 69 if ( $installer::globals::iswin || $installer::globals::isos2 ) 70 { 71 # Either '/' or '\'. It would be possible to use $installer::globals::separator. 72 if ( $$longfilenameref =~ /^.*[\/\\](\S.+\S?)/ ) 73 { 74 $$longfilenameref = $1; 75 } 76 } 77} 78 791; 80