mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			998 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			998 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable file
		
	
	
	
	
| #! /usr/bin/env perl
 | |
| # Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
 | |
| #
 | |
| # Licensed under the OpenSSL license (the "License").  You may not use
 | |
| # this file except in compliance with the License.  You can obtain a copy
 | |
| # in the file LICENSE in the source distribution or at
 | |
| # https://www.openssl.org/source/license.html
 | |
| 
 | |
| # On some systems, the -p option to mkdir (= also create any missing parent
 | |
| # directories) is not available.
 | |
| 
 | |
| my $arg;
 | |
| 
 | |
| foreach $arg (@ARGV) {
 | |
|   $arg =~ tr|\\|/|;
 | |
|   &do_mkdir_p($arg);
 | |
| }
 | |
| 
 | |
| 
 | |
| sub do_mkdir_p {
 | |
|   local($dir) = @_;
 | |
| 
 | |
|   $dir =~ s|/*\Z(?!\n)||s;
 | |
| 
 | |
|   if (-d $dir) {
 | |
|     return;
 | |
|   }
 | |
| 
 | |
|   if ($dir =~ m|[^/]/|s) {
 | |
|     local($parent) = $dir;
 | |
|     $parent =~ s|[^/]*\Z(?!\n)||s;
 | |
| 
 | |
|     do_mkdir_p($parent);
 | |
|   }
 | |
| 
 | |
|   unless (mkdir($dir, 0777)) {
 | |
|     local($err) = $!;
 | |
|     if (-d $dir) {
 | |
|       # We raced against another instance doing the same thing.
 | |
|       return;
 | |
|     }
 | |
|     die "Cannot create directory $dir: $err\n";
 | |
|   }
 | |
|   print "created directory `$dir'\n";
 | |
| }
 |