Msg: 6668 *Conference*

07-15-96 21:58:22

From: JAMES KENNEY

To : ALL

Subj: BUGS IN CHECKALL/CHKALL/CHKSUM


I regret having to report two bugs in previously uploaded versions of
CHECKALL.EXE, CHECKALL.BAS, CHKALL.DO (.BA), and CHKSUM.DO (.BA).  I have just
uploaded corrected versions of these programs and their revised doc files.

The first bug is in the calculation of a weighted sum.  I had replaced "MOD 64"
by "AND 63" to improve speed, but failed to notice that the sequence of
calculations was changed: "1 + N AND 63" is not equivalent to "1 + N MOD 64"
because the addition is performed after "MOD" but prior to "AND".  The result
is a weighting factor that cycles between 0 and 63, rather than between 1 and
64 as intended, in effect omitting every sixty-fourth file byte from the
calculation.  The revised programs retain the "AND" but use parentheses to
correct the sequence.

The second bug is in the formatting of the filename/data line.  I allowed only
five spaces for the five-digit file length, based on the 32 KB limit for the
integer variable, forgetting about the leading sign space; this did not show up
during testing since the files used were all under 10000 bytes.  The revised
versions, formatted for six spaces, allow lengths of up to the full 32767
bytes, adequate for all Kyocera notebook files.

There are also a few minor revisions, mostly in prompts and messages. 

The new versions of CHECKALL/CHKALL have been joined by close relatives
FINDALL/FNDALL (and matching icons for CHECKALL.EXE and FINDALL.EXE!): read my
message to Rick about these.