Fix util/perl/OpenSSL/Test.pm input variable overwrite
[openssl.git] / util / copy.pl
index e20b455..c4aeea6 100644 (file)
@@ -1,4 +1,11 @@
-#!/usr/local/bin/perl
+#! /usr/bin/env perl
+# Copyright 2005-2016 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;
 
@@ -8,11 +15,18 @@ use Fcntl;
 # Perl script 'copy' comment. On Windows the built in "copy" command also
 # copies timestamps: this messes up Makefile dependencies.
 
+my $stripcr = 0;
+
 my $arg;
 
 foreach $arg (@ARGV) {
+       if ($arg eq "-stripcr")
+               {
+               $stripcr = 1;
+               next;
+               }
        $arg =~ s|\\|/|g;       # compensate for bug/feature in cygwin glob...
-       foreach (glob $arg)
+       foreach (glob qq("$arg"))
                {
                push @filelist, $_;
                }
@@ -26,7 +40,7 @@ if ($fnum <= 1)
        }
 
 $dest = pop @filelist;
-       
+
 if ($fnum > 2 && ! -d $dest)
        {
        die "Destination must be a directory";
@@ -49,11 +63,15 @@ foreach (@filelist)
                                        || 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";
        }
-               
+