mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
| #! /usr/bin/env perl
 | |
| # Copyright 2005-2018 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
 | |
| 
 | |
| 
 | |
| use Fcntl;
 | |
| 
 | |
| 
 | |
| # copy.pl
 | |
| 
 | |
| # Perl script 'copy' comment. On Windows the built in "copy" command also
 | |
| # copies timestamps: this messes up Makefile dependencies.
 | |
| 
 | |
| my $stripcr = 0;
 | |
| 
 | |
| my $arg;
 | |
| my @excludes = ();
 | |
| 
 | |
| foreach $arg (@ARGV) {
 | |
| 	if ($arg eq "-stripcr")
 | |
| 		{
 | |
| 		$stripcr = 1;
 | |
| 		next;
 | |
| 		}
 | |
| 	if ($arg =~ /^-exclude_re=(.*)$/)
 | |
| 		{
 | |
| 		push @excludes, $1;
 | |
| 		next;
 | |
| 		}
 | |
| 	$arg =~ s|\\|/|g;	# compensate for bug/feature in cygwin glob...
 | |
| 	$arg = qq("$arg") if ($arg =~ /\s/);	# compensate for bug in 5.10...
 | |
| 	foreach my $f (glob $arg)
 | |
| 		{
 | |
| 		push @filelist, $f unless grep { $f =~ /$_/ } @excludes;
 | |
| 		}
 | |
| }
 | |
| 
 | |
| $fnum = @filelist;
 | |
| 
 | |
| if ($fnum <= 1)
 | |
| 	{
 | |
| 	die "Need at least two filenames";
 | |
| 	}
 | |
| 
 | |
| $dest = pop @filelist;
 | |
| 
 | |
| if ($fnum > 2 && ! -d $dest)
 | |
| 	{
 | |
| 	die "Destination must be a directory";
 | |
| 	}
 | |
| 
 | |
| foreach (@filelist)
 | |
| 	{
 | |
| 	if (-d $dest)
 | |
| 		{
 | |
| 		$dfile = $_;
 | |
| 		$dfile =~ s|^.*[/\\]([^/\\]*)$|$1|;
 | |
| 		$dfile = "$dest/$dfile";
 | |
| 		}
 | |
| 	else
 | |
| 		{
 | |
| 		$dfile = $dest;
 | |
| 		}
 | |
| 	sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_";
 | |
| 	sysopen(OUT, $dfile, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY)
 | |
| 					|| die "Can't Open $dfile";
 | |
| 	while (sysread IN, $buf, 10240)
 | |
| 		{
 | |
| 		if ($stripcr)
 | |
| 			{
 | |
| 			$buf =~ tr/\015//d;
 | |
| 			}
 | |
| 		syswrite(OUT, $buf, length($buf));
 | |
| 		}
 | |
| 	close(IN);
 | |
| 	close(OUT);
 | |
| 	print "Copying: $_ to $dfile\n";
 | |
| 	}
 | |
| 
 | |
| 
 |