summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/util/copy.pl
diff options
context:
space:
mode:
authorcvs2svn <admin@example.com>2008-09-06 12:15:55 +0000
committercvs2svn <admin@example.com>2008-09-06 12:15:55 +0000
commit661df680be771facf5443a396086697851bac36f (patch)
tree605abf88d7bd78c7d45c81f0efe3fb6a8d30a6df /src/lib/libcrypto/util/copy.pl
parentf1625f274acf5dcd5601f6cb5e29e233b2a441a3 (diff)
downloadopenbsd-openssl_0_9_8_h.tar.gz
openbsd-openssl_0_9_8_h.tar.bz2
openbsd-openssl_0_9_8_h.zip
This commit was manufactured by cvs2git to create tag 'openssl_0_9_8_h'.openssl_0_9_8_h
Diffstat (limited to 'src/lib/libcrypto/util/copy.pl')
-rw-r--r--src/lib/libcrypto/util/copy.pl59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/lib/libcrypto/util/copy.pl b/src/lib/libcrypto/util/copy.pl
new file mode 100644
index 0000000000..e20b45530a
--- /dev/null
+++ b/src/lib/libcrypto/util/copy.pl
@@ -0,0 +1,59 @@
1#!/usr/local/bin/perl
2
3use Fcntl;
4
5
6# copy.pl
7
8# Perl script 'copy' comment. On Windows the built in "copy" command also
9# copies timestamps: this messes up Makefile dependencies.
10
11my $arg;
12
13foreach $arg (@ARGV) {
14 $arg =~ s|\\|/|g; # compensate for bug/feature in cygwin glob...
15 foreach (glob $arg)
16 {
17 push @filelist, $_;
18 }
19}
20
21$fnum = @filelist;
22
23if ($fnum <= 1)
24 {
25 die "Need at least two filenames";
26 }
27
28$dest = pop @filelist;
29
30if ($fnum > 2 && ! -d $dest)
31 {
32 die "Destination must be a directory";
33 }
34
35foreach (@filelist)
36 {
37 if (-d $dest)
38 {
39 $dfile = $_;
40 $dfile =~ s|^.*[/\\]([^/\\]*)$|$1|;
41 $dfile = "$dest/$dfile";
42 }
43 else
44 {
45 $dfile = $dest;
46 }
47 sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_";
48 sysopen(OUT, $dfile, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY)
49 || die "Can't Open $dfile";
50 while (sysread IN, $buf, 10240)
51 {
52 syswrite(OUT, $buf, length($buf));
53 }
54 close(IN);
55 close(OUT);
56 print "Copying: $_ to $dfile\n";
57 }
58
59