

4.41 09/27/2003
The program would not add the default extension if something like
'..\a' was specified. This is fixed.
An HJSplit file was incorrectly summing up to SessionBytes and
SessionFiles. Now, instead of showing 8 files if there are 8
parts, it will correctly count it as 1 file.
If a file to be decoded is >999K, it's now displayed as M.
4.40 08/22/2003
Files split using HJSplit are now correctly decoded and combined.
The decode time is now displayed as (m:ss). The hundreds of
seconds is really irrelevant.
4.30c08/01/2003
There exists a posting agent (ZeoNews?) that incorrectly posts
the last line length of a UU-encoded file. As such, I now pad
the GetLine() function with spaces on the end. This corrects
some posts but not all. The ones that are not corrected, even
NetSc doesn't get right.
4.30b07/19/2003
The version level is displayed after the copyright
(Trial or Registered).
If not trial version, the licensee is displayed; otherwise it's
omitted.
4.30 07/02/2003
Trial version characteristics:
-Decodes from 10-20 files per session.
-Time lag in decoding process.
-Front nag; back keypress.
4.20 06/26/2003
Added <>: to the invalid character list.
% indicator and name of file being decoded is displayed via
SetConsoleTitle().
Let FCreate() create the TEMP file name (*.TMP).
CRCs are left-padded with 0s, and in lower-case.
Fixed the bug in CRC checking on multi-part yEnc files.
Commented off the check in ValidUU line that checks the line length.
There is some posting agent (NewsbinPro?) that doesn't zero out
the buffer before posting. So far, it's been acceptable. It can
be made into a parameter (like /strict or /relax).
4.11 02/11/2003
There is now a percent-complete indicator for each file being
decoded (if you're decoding a large file, it's nice to know how
long you're going to wait).
4.10 02/05/2003
New param: -v View file names only (no decoding).
New param: -f File matching will be
decoded/Viewed. Right now, wildcards are not permitted. It
will only match one file.
New param: -3 Various common 4-letter extensions will get
changed to their 3-letter counterpart:
html->htm; tiff->tif; jpeg->jpg; mpeg->mpg
4.02 01/18/2003
Added text to Help that says if you hit Ctrl+C, the source
file will be preserved.
4.01 11/06/2002
In the main loop (before a filename has been retrieved), I
put in a check for BreakState.
In GetLine, it now takes into account a possible native unix
file. (i.e., just _LF alone terminating a line)
4.00 10/31/2002 ** OFFICIAL RELEASE **
Base64 was not kicking out if a standard EOF marker wasn't found.
Minor adjustments to yEnc.
Noticed that CtrlC or CtrlBreak would halt out of program WITHOUT
executing the -finally- construct (or ExitProcedure).
Therefore I put in a custom handler.
yEnc shows percent complete (instead of twirl).
Added different colors.
Command params: + option on, - option off (defaults shown)
-r+ = Remove source at end
-t+ = Twirl indicator (or % if yEnc)
-s+ = Sound
-d- = Debug
DSUU.CFG file now available to set up common options without having
to specify them everytime at the command line. DSUU/h for a
description of this file.
If no extension is found, a '.???' shows after the name in blue.
If a specified crc32=1, it's ignored. We've noticed that certain
yEnc encoders attach this incorrectly.
4.00-Beta 10/22/2002
yEnc had a problem if an additional header line was found.
As of 10/22/02 07:55 pm, yEnc appears to work! I just need to
test a multi-part file.
4.00-Beta 10/21/2002
Rewrote GetLine() in an effort to speed it up even further.
Results to follow.
10/21/02 04:35 pm Decode time longer than before. Going
back to Rel 10/20/2002 (seems to be the best achievable).
yEnc first draft.
Made DEBUG files untyped files.
4.00-Beta 10/20/2002
Removed the procedure implemented 10/16/02 cuz it brought in
too many complications. This version puts the file as 'file
of char', and reads in chars at a time. I'll test for speed
now.
10/20/02 08:59 pm Decode time WAY too long. Going to Plan B:
Make it an untyped file and read in 128K chunks at a time.
4.00-Beta 10/16/2002
Implemented an alternate procedure for Readln(). Problem was
Readln() will balk on ^Z (which is an acceptable character
for yEnc).
4.00-Beta 10/11/2002
The LineType isn't examined until I have discovered the
filename. As a consequence, I'll never attempt to decode a
file UNLESS a filename has been found first (so I can
remove the DSUU.UNK designator).
4.00-Beta 10/04/2002
Re-wrote the scanning algorithm entirely.
Re-instated the validation of each character on a UU-type line.
A SPACE is now an allowable character in UU mode [upon
testing various files, it was being used maybe 10-15% of
the time].
If a duplicate file is removed, the TOTAL stats are
decremented (not the session stats).
Default extension of .htm.
The file size of each file being decoded is displayed.
3.12 08/30/2001
Removed the checking for Content-type as I don't really care what
the content type is. This hasn't been FULLY tested yet.
3.11 04/13/2001
StripInvalidChars now strips semi-colon(;).
Re-worked scanning algorithm to allow for a filename to be on the
same line as the "Content-Type".
EG: Content-type: image/jpeg; name="somepic.jpg";
3.10 03/15/2001
If a duplicate filename is encountered, the program will remove the
newly-created file if it's CRC-equivalent to the original.
3.01 03/13/2001
Fixed a problem in decoding multiple documents within one document.
[I wasn't resetting ContentType to _OTHER...fixed]
Renamed back to DSUU.
3.00 03/02/2001
Recompiled under Delphi 5 so it's now a true 32-bit app.
Fixed a problem with multiple CONTENT-TYPE-ENCODING entries.
Increased the TEXT buffer from its default to 128K.
Removed usage of CRT unit (and thus, removed all colors). The
CRT unit requires PASW32.DLL present on the target system.
Changed name to DSUU32.
2.70 08/31/2000
Fixed a bug where 'name=' (and 'filename=') were both being used
to specify the name of a UUencoded file. [as it was, I was
assuming that 'name=' or 'filename=' would *always* signify
a base64 file.]
If decoding multiple files, each session's statistics are
displayed, with the cumulative stats displayed at the end.
Spaces are now allowed in filenames.
2.60 03/05/2000
If the filename was invalid (DOS couldn't create it), the program
was skipping all remaining files. This is fixed by zeroing out
the FName var.
As per the above bug, after the routine gets what it thinks is
the file name, it then calls StripInvalidChars to remove chars
known to be invalid in filenames.
Also, necessary to recompile since I put in code in DOS70 unit that
initialized the FindFirst proc correctly.
2.52 10/11/1999
Changed the Close() procedure to LFNCloseFile() on the Encoded file.
This might solve why I'm getting spurious 'access denied' messages.
2.51 4/12/1999
Discovered that a filename was specifed as "name.jpg .jpg". Now,
the program searches for ' .jpg' and ' .gif' and strips them off.
2.5 4/11/1999
The renaming algorithm has been changed to appending _xnn to the
file name (eg. if file.jpg exists, it attempts file_x01.jpg)
2.4 3/30/1999
If the program encounters a 0-byte file, it erases it after creation.
The No EOF beep (^G) has been replaced by Procedure NoEOF;
TPTIMER functions are now used to time the decode process.
Put a 4-byte tolerance in the ValidLine function for UU decoding.
This solves problems for odd-length lines.
2.31 3/29/1999
A debug option is available, specified as either of the following
command line parameters: /debug or -debug.
All decoded lines are written to __decode.txt.
All trashed lines are written to __trash.txt.
Fixed a bug in decoding multi-part files.
Implemented a ValidLine algorithm for UU-type files.
2.3 3/26/1999
In Base64 decode, the program now searches for "name=" (as well as "filename=").
Implemented TPTIMER for correct -delays-.
The Table64 was ending at subscript 112. Should have been 122! FIXED.
[it was found by accident: a global loop var was getting overwritten!]
To avoid a range check error, I put Byte() typecasts in the algorithms: Buff[]:=Byte();
2.20 3/23/1999
A bug concerning the FindFirst/FindNext routine would sometimes
cause the program to attempt to decode a 'just-decoded' file.
The number of seconds for an entire file decode is reported at
end, as well as the number of files and bytes.
The Windows version is displayed on entry.
2.10 3/19/1999
If a file exists, the char 'X' is prepended (or XX or XXX ...)
Files with .JPE extension translated to .JPG.
The number of bytes are reported after each decode (instead of the
decode time [which was erroneous anyway])
Strategic use of LowVideo/HighVideo.
2.01 3/1/1999
UU: Program was disavowing lines with blanks. Blanks are ok, however.
2.0 2/19/1999
Support for long file names.
Support for multi-part files.
Support for multi-files within a file.
Files with .JPEG extension translated to .JPG.
|