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 24 25package pre2par::pathanalyzer; 26 27use pre2par::globals; 28 29########################################### 30# Path analyzer 31########################################### 32 33sub get_path_from_fullqualifiedname 34{ 35 my ($longfilenameref) = @_; 36 37 if ( $$longfilenameref =~ /\Q$pre2par::globals::separator\E/ ) # Is there a separator in the path? Otherwise the path is empty. 38 { 39 if ( $$longfilenameref =~ /^\s*(\S.*\S\Q$pre2par::globals::separator\E)(\S.+?\S)/ ) 40 { 41 $$longfilenameref = $1; 42 } 43 } 44 else 45 { 46 $$longfilenameref = ""; # there is no path 47 } 48} 49 50sub make_absolute_filename_to_relative_filename 51{ 52 my ($longfilenameref) = @_; 53 54 if ( $pre2par::globals::isunix ) 55 { 56 if ( $$longfilenameref =~ /^.*\/(\S.+\S?)/ ) 57 { 58 $$longfilenameref = $1; 59 } 60 } 61 62 if ( $pre2par::globals::iswin ) 63 { 64 if ( $$longfilenameref =~ /^.*\\(\S.+\S?)/ ) 65 { 66 $$longfilenameref = $1; 67 } 68 } 69} 70 711; 72