[comp.binaries.ibm.pc] v02i014: chksum, 32-bit file checksumming program REVISED

naz@mcvax.cwi.nl (Norman H. Azadian) (03/31/89)

Checksum:  986849233  (Verify with "brik -cv")
Posting-number: Volume 02, Issue 014
Originally-from: hslrswi!naz@mcvax.cwi.nl (Norman H. Azadian)
Submitted-by: hslrswi!naz@mcvax.cwi.nl (Norman H. Azadian)
Archive-name: chksum/chksum2.uue
Can-delete: chksum/chksum.uue (if you want to -- compiled for 286 CPUs)

Oops!  I finally realized why my chksum program wasn't working on
XT-class machines.  I always compile with the '286 instruction set
enabled, since I always use AT-class machines.  Sorry about that.

This one has been compiled for vanilla 8086/8 machines.  Untested.  It
is also bundled into an archive with a real readme file.

[
Here is some edited text excerpted from the previous posting of this
program.

|Chksum is a little program that I've developed and used a lot over the
|years. The prime difference between it and the ones that it copies, is
|that it can read a list of pathnames from stdin.  This turns out to be
|very handy indeed. Also, it uses a 32-bit CRC, which means that a false
|match is 2**16 times less likely than with the 16-bit brands.  It
|produces identical results on both PCs and VAXen.
|
|PAPER:  Norman Azadian; Hasler AG; Belpstrasse 23; 3000 Berne 14; Switzerland
|X.400:  naz@hslrswi.hasler
|UUCP:   ...{uunet,ukc,mcvax,...}!cernvax!hslrswi!azadian
|VOICE:  +41 31 63 2178            BITNET: naz%hslrswi.UUCP@cernvax.BITNET
|
|[
|Will also give byte counts, and total checksum for all files.  Doesn't
|take wildcards on command line, but "stuff . | chksum -v --" worked
|well for me.
|-- R.D.
|]

Checksums obtained with the 4.3BSD "sum" or System V "sum -r" command.

checksum     size (bytes)  file (between BEGIN--cut and END--cut lines)
   40077        15883      chksum2.uue

checksum     size (bytes)  file
    5364        11506      chksum.arc

-- R.D.
]

chksum part01/01
BEGIN--cut here--cut here
begin 644 chksum.arc
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
?"%3(<J-+@.M)I\$%F=XT$&;]PE:[H-I4N#85)@(:``/*
`
end
END--cut here--cut here