source:
vbox/trunk/src/libs/openssl-3.0.7/ms/cmp.pl@
100752
Last change on this file since 100752 was 94082, checked in by , 3 years ago | |
---|---|
|
|
File size: 1.2 KB |
Line | |
---|---|
1 | #! /usr/bin/env perl |
2 | # Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. |
3 | # |
4 | # Licensed under the Apache License 2.0 (the "License"). You may not use |
5 | # this file except in compliance with the License. You can obtain a copy |
6 | # in the file LICENSE in the source distribution or at |
7 | # https://www.openssl.org/source/license.html |
8 | |
9 | ($#ARGV == 1) || die "usage: cmp.pl <file1> <file2>\n"; |
10 | |
11 | open(IN0,"<$ARGV[0]") || die "unable to open $ARGV[0]\n"; |
12 | open(IN1,"<$ARGV[1]") || die "unable to open $ARGV[1]\n"; |
13 | binmode IN0; |
14 | binmode IN1; |
15 | |
16 | $tot=0; |
17 | $ret=1; |
18 | for (;;) |
19 | { |
20 | $n1=sysread(IN0,$b1,4096); |
21 | $n2=sysread(IN1,$b2,4096); |
22 | |
23 | last if ($n1 != $n2); |
24 | last if ($b1 ne $b2); |
25 | last if ($n1 < 0); |
26 | if ($n1 == 0) |
27 | { |
28 | $ret=0; |
29 | last; |
30 | } |
31 | $tot+=$n1; |
32 | } |
33 | |
34 | close(IN0); |
35 | close(IN1); |
36 | if ($ret) |
37 | { |
38 | printf STDERR "$ARGV[0] and $ARGV[1] are different\n"; |
39 | @a1=unpack("C*",$b1); |
40 | @a2=unpack("C*",$b2); |
41 | for ($i=0; $i<=$#a1; $i++) |
42 | { |
43 | if ($a1[$i] ne $a2[$i]) |
44 | { |
45 | printf "%02X %02X <<\n",$a1[$i],$a2[$i]; |
46 | last; |
47 | } |
48 | } |
49 | $nm=$tot+$n1; |
50 | $tot+=$i+1; |
51 | printf STDERR "diff at char $tot of $nm\n"; |
52 | } |
53 | exit($ret); |
Note:
See TracBrowser
for help on using the repository browser.