1#************************************************************************* 2# 3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4# 5# Copyright 2000, 2010 Oracle and/or its affiliates. 6# 7# OpenOffice.org - a multi-platform office productivity suite 8# 9# This file is part of OpenOffice.org. 10# 11# OpenOffice.org is free software: you can redistribute it and/or modify 12# it under the terms of the GNU Lesser General Public License version 3 13# only, as published by the Free Software Foundation. 14# 15# OpenOffice.org is distributed in the hope that it will be useful, 16# but WITHOUT ANY WARRANTY; without even the implied warranty of 17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18# GNU Lesser General Public License version 3 for more details 19# (a copy is included in the LICENSE file that accompanied this code). 20# 21# You should have received a copy of the GNU Lesser General Public License 22# version 3 along with OpenOffice.org. If not, see 23# <http://www.openoffice.org/license.html> 24# for a copy of the LGPLv3 License. 25# 26#************************************************************************* 27 28package installer::pathanalyzer; 29 30use installer::globals; 31 32########################################### 33# Path analyzer 34########################################### 35 36sub get_path_from_fullqualifiedname 37{ 38 my ($longfilenameref) = @_; 39 40 if ( $$longfilenameref =~ /\Q$installer::globals::separator\E/ ) # Is there a separator in the path? Otherwise the path is empty. 41 { 42 if ( $$longfilenameref =~ /^\s*(\S.*\S\Q$installer::globals::separator\E)(\S.+\S?)/ ) 43 { 44 $$longfilenameref = $1; 45 } 46 } 47 else 48 { 49 $$longfilenameref = ""; # there is no path 50 } 51} 52 53sub make_absolute_filename_to_relative_filename 54{ 55 my ($longfilenameref) = @_; 56 57 if ( $installer::globals::isunix ) 58 { 59 if ( $$longfilenameref =~ /^.*\/(\S.+\S?)/ ) 60 { 61 $$longfilenameref = $1; 62 } 63 } 64 65 if ( $installer::globals::iswin ) 66 { 67 # Either '/' or '\'. It would be possible to use $installer::globals::separator. 68 if ( $$longfilenameref =~ /^.*[\/\\](\S.+\S?)/ ) 69 { 70 $$longfilenameref = $1; 71 } 72 } 73} 74 751; 76