[Koha-cvs] CVS: koha/misc/translator tmpl_process3.pl,1.20.2.1,1.20.2.2

Ambrose C. LI acli at users.sourceforge.net
Fri Feb 4 04:48:55 CET 2005


Update of /cvsroot/koha/koha/misc/translator
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16119

Modified Files:
      Tag: rel_2_2
	tmpl_process3.pl 
Log Message:
Script failed to create intermediate directories if the directory of the
target does not exist and the parent of that directory does not exist
either. This should fix that.


Index: tmpl_process3.pl
===================================================================
RCS file: /cvsroot/koha/koha/misc/translator/tmpl_process3.pl,v
retrieving revision 1.20.2.1
retrieving revision 1.20.2.2
diff -C2 -r1.20.2.1 -r1.20.2.2
*** tmpl_process3.pl	23 Jan 2005 10:51:16 -0000	1.20.2.1
--- tmpl_process3.pl	4 Feb 2005 03:48:53 -0000	1.20.2.2
***************
*** 139,142 ****
--- 139,157 ----
  ###############################################################################
  
+ sub mkdir_recursive ($) {
+     my($dir) = @_;
+     local($`, $&, $', $1);
+     $dir = $` if $dir ne /^\/+$/ && $dir =~ /\/+$/;
+     my ($prefix, $basename) = ($dir =~ /\/([^\/]+)$/s)? ($`, $1): ('.', $dir);
+     mkdir_recursive($prefix) if $prefix ne '.' && !-d $prefix;
+     if (!-d $dir) {
+ 	print STDERR "Making directory $dir...";
+ 	# creates with rwxrwxr-x permissions
+ 	mkdir($dir, 0775) || warn_normal "$dir: $!", undef;
+     }
+ }
+ 
+ ###############################################################################
+ 
  sub usage ($) {
      my($exitcode) = @_;
***************
*** 354,362 ****
  	my $target = $out_dir . substr($input, length($in_dir));
  	my $targetdir = $` if $target =~ /[^\/]+$/s;
! 	if (!-d $targetdir) {
! 	    print STDERR "Making directory $targetdir...";
! 	    # creates with rwxrwxr-x permissions
! 	    mkdir($targetdir, 0775) || warn_normal "$targetdir: $!", undef;
! 	}
  	print STDERR "Creating $target...\n";
  	open( OUTPUT, ">$target" ) || die "$target: $!\n";
--- 369,373 ----
  	my $target = $out_dir . substr($input, length($in_dir));
  	my $targetdir = $` if $target =~ /[^\/]+$/s;
! 	mkdir_recursive($targetdir) unless -d $targetdir;
  	print STDERR "Creating $target...\n";
  	open( OUTPUT, ">$target" ) || die "$target: $!\n";





More information about the Koha-cvs mailing list