diff options
Diffstat (limited to 'util/copy-if-different.pl')
-rwxr-xr-x | util/copy-if-different.pl | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/util/copy-if-different.pl b/util/copy-if-different.pl deleted file mode 100755 index 2bf7835827..0000000000 --- a/util/copy-if-different.pl +++ /dev/null @@ -1,84 +0,0 @@ -#! /usr/bin/env perl -# Copyright 2013-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 strict; - -use Fcntl; - -# copy-if-different.pl - -# Copy to the destination if the source is not the same as it. - -my @filelist; - -foreach my $arg (@ARGV) { - $arg =~ s|\\|/|g; # compensate for bug/feature in cygwin glob... - foreach (glob qq("$arg")) - { - push @filelist, $_; - } -} - -my $fnum = @filelist; - -if ($fnum <= 1) - { - die "Need at least two filenames"; - } - -my $dest = pop @filelist; - -if ($fnum > 2 && ! -d $dest) - { - die "Destination must be a directory"; - } - -foreach (@filelist) - { - my $dfile; - if (-d $dest) - { - $dfile = $_; - $dfile =~ s|^.*[/\\]([^/\\]*)$|$1|; - $dfile = "$dest/$dfile"; - } - else - { - $dfile = $dest; - } - - my $buf; - if (-f $dfile) - { - sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_"; - sysopen(OUT, $dfile, O_RDONLY|O_BINARY) - || die "Can't Open $dfile"; - while (sysread IN, $buf, 10240) - { - my $b2; - goto copy if !sysread(OUT, $b2, 10240) || $buf ne $b2; - } - goto copy if sysread(OUT, $buf, 1); - close(IN); - close(OUT); - print "NOT copying: $_ to $dfile\n"; - next; - } - copy: - 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) - { - syswrite(OUT, $buf, length($buf)); - } - close(IN); - close(OUT); - print "Copying: $_ to $dfile\n"; - } - |