X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=util%2Fcopy.pl;h=58ecc82c48fe000705c0fc2f91631f8c8a185798;hp=eba6d5815e9cef6b312e71cdee6f5642b2ac06af;hb=dbb1340314fcec37662d79720e6566fdd5a232e8;hpb=7dbbd4b35775948da01ca86ce9e94886f1347bbd diff --git a/util/copy.pl b/util/copy.pl index eba6d5815e..58ecc82c48 100644 --- a/util/copy.pl +++ b/util/copy.pl @@ -1,4 +1,11 @@ -#!/usr/local/bin/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; @@ -11,6 +18,7 @@ use Fcntl; my $stripcr = 0; my $arg; +my @excludes = (); foreach $arg (@ARGV) { if ($arg eq "-stripcr") @@ -18,10 +26,16 @@ foreach $arg (@ARGV) { $stripcr = 1; next; } + if ($arg =~ /^-exclude_re=(.*)$/) + { + push @excludes, $1; + next; + } $arg =~ s|\\|/|g; # compensate for bug/feature in cygwin glob... - foreach (glob $arg) + $arg = qq("$arg") if ($arg =~ /\s/); # compensate for bug in 5.10... + foreach my $f (glob $arg) { - push @filelist, $_; + push @filelist, $f unless grep { $f =~ /$_/ } @excludes; } } @@ -33,7 +47,7 @@ if ($fnum <= 1) } $dest = pop @filelist; - + if ($fnum > 2 && ! -d $dest) { die "Destination must be a directory"; @@ -66,5 +80,5 @@ foreach (@filelist) close(OUT); print "Copying: $_ to $dfile\n"; } - +