buildframework/helium/tools/localisation/localiser/ECLocaliser.pm
changeset 179 d8ac696cc51f
parent 1 be27ed110b50
equal deleted inserted replaced
1:be27ed110b50 179:d8ac696cc51f
   271 		my $childpid = open3(\*WTRFH, \*RDRFH, \*ERRFH, $cmd);
   271 		my $childpid = open3(\*WTRFH, \*RDRFH, \*ERRFH, $cmd);
   272 		close(WTRFH);
   272 		close(WTRFH);
   273 
   273 
   274 		while (<RDRFH>)
   274 		while (<RDRFH>)
   275 		{
   275 		{
   276 				if ( /^\s*<option (\w+)>/ )
   276 				if ( /^\s*<option ([A-Za-z0-9\.]+)>/ )				
   277 				{
   277 				{
   278 					my $option = lc($1);
   278 					my $option = lc($1);
   279 					$self->{ __platform }->{ $option } = $option; # if ($option =~ /^(armv5|winscw)$/i);
   279 					$self->{ __platform }->{ $option } = $option; # if ($option =~ /^(armv5|winscw)$/i);
   280 				}
   280 				}
   281 				else
   281 				else
  1482 				$self->{__mmpstype}->{$mmp}->{type} = 'notfound';
  1482 				$self->{__mmpstype}->{$mmp}->{type} = 'notfound';
  1483 				foreach my $f ( @$dmmps )
  1483 				foreach my $f ( @$dmmps )
  1484 				{
  1484 				{
  1485 					my $uf = $f;
  1485 					my $uf = $f;
  1486 					$uf =~ s/\.(mmp|mk)$//i;
  1486 					$uf =~ s/\.(mmp|mk)$//i;
  1487 					if ( $uf =~ m/$mmp$/i )
  1487 					# Following reqular expression is changed to match with strings starting with a slash or backslash
       
  1488 					# in order to prevent similarly ending but unidentical files to match with each other.
       
  1489 					if ( $uf =~ m/[\/\\]$mmp$/i )
  1488 					{
  1490 					{
  1489 						__OUT::Print ("  + Found '$mmp' match => '$f'\n");
  1491 						__OUT::Print ("  + Found '$mmp' match => '$f'\n");
  1490 						$self->{__mmpstype}->{$mmp}->{path} = $f;
  1492 						$self->{__mmpstype}->{$mmp}->{path} = $f;
  1491 						if ( $f =~ /^.*\.mmp$/i )
  1493 						if ( $f =~ /^.*\.mmp$/i )
  1492 						{
  1494 						{
  1808 		my $dist = shift;
  1810 		my $dist = shift;
  1809 		
  1811 		
  1810 		# if distination file exist then clear read flag
  1812 		# if distination file exist then clear read flag
  1811 		if (-f $dist)
  1813 		if (-f $dist)
  1812 		{
  1814 		{
  1813 				chmod ($dist , 0755);
  1815 				chmod (0755 , $dist);
  1814 		}
  1816 		}
  1815 		else
  1817 		else
  1816 		{
  1818 		{
  1817 				my($n, $d, $ext) = fileparse($dist, '\..*');
  1819 				my($n, $d, $ext) = fileparse($dist, '\..*');
  1818 				# check weather distination directory exist or not. If directory doesn't exist then create it.
  1820 				# check weather distination directory exist or not. If directory doesn't exist then create it.