home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
ZIPLAB9.ZIP
/
GIFTST30.ZIP
/
GIFTEST.DOC
< prev
next >
Wrap
Text File
|
1991-05-22
|
12KB
|
244 lines
GIFtest 3.0
CopyRight 1991 by Dave Navarro, Jr.
What is GIFtest?
GIFtest is command line utility to test a GIF file to se if it is
valid. While GIFtest was written primarily as a utility for BBS's
to test GIFs as they are uploaded, anyone can use it.
History:
Version 3.0, rewrote GIF testing routines to test the internal
image of a GIF file as well as the header and terminator. This does
not test to see if each pixel is the correct color, but rather tests
to make sure that the correct number of pixels are represented in
the LZW table for the image and that all internal codes are accurate.
Added /P:3 option to place resolution as the last line of the
description by itself. Once again fixed problem with descriptions
not being displayed properly. Note --> Several SysOps have noticed
that when using GIFtest with ProDoor's PROUTEST, GIFs that have been
stripped will get tested twice. The reason is that when GIFtest
strips the extra bytes from the end of the file, it renames the GIF
to 'filename.BAK' and copies the valid bytes to the original GIF name
then erasing 'filename.BAK'. The 'for %%f' in PROUTEST sees the new
file as a seperate file and tests it again. The only way for me to
fix this is to copy the entire GIF into 'filename.BAK' and then
truncate the original GIF to 0 bytes and copy only the relative bytes
back into it from 'filename.BAK' then erasing 'filename.BAK', but this
would DOUBLE the time for testing each GIF that required trimming.
What I suggest is that you do NOT use the TRIM function in your
PROUTEST, but rather make it part of your event to trim all GIFs in
the UPLOAD directory.
Version 2.3, added /E option to erase Invalid or Incomplete GIFs and
fixed problem where leading "/" was being deleted from description
causing private uploads to be put in the public upload directory.
Fixed description duplication problem when description was the minimum
allowed by ProDoor and using the /P:2 option.
Version 2.21, minor bug fix in documentation to reflect teh change
in the switch charactor use in version 2.2, "/" instead of "-".
Version 2.2, minor bug fix where GIFtest was improperly placing
resolution when used with -p:2 or -p:0 options.
Version 2.1, minor bug fix where GIFtest would remove "-"'s from
filenames on the command line causing the GIF to be invalid.
How do I use GIFtest?
Usage: GIFTEST filename.gif /D /N:n /P:n /R:n /T
GIFtest does NOT support wildcards!
/D - Display ProDoor description
/E - Erase Invalid GIF's
/I - Ignore DOOR.NAM
/N:n - Node Number
/P:n - Position of resolution in description
0 - First word on first line
1 - Last word on first line (default)
2 - Last word on last line
3 - Last line by itself
/R:n - Type of resolution used
1 - Enclosed with brackets (default)
2 - No brackets
/T - Trims extra chars from GIF
/U - Convert description to uppercase
returns ERRORLEVEL = 1 if invalid GIF
returns ERRORLEVEL = 2 if incomplete GIF
IF GIFtest is used with ProDoor, giftest will search the current
directory for the file $DOOR.NAM which is where ProDoor keeps
the description the user types before uploading a file. If
$DOOR.NAM isn't found, or the filename of the GIF isn't found in
$DOOR.NAM, and the GIF is valid, then GIFtest exits with no
ERRORLEVEL, and no display.
IF you are running a multiple node ProDoor BBS and $DOOR.NAM is not
kept in the current directory, GIFtest will search the DOS path for
GIFTEST.CFG and if found, search it for the location of $DOOR.NAM
according to the node information passed to GIFtest with the -N
command line option.
For a 2 node BBS, GIFTEST.CFG would contain the following 2 lines:
C:\PCB\NODE1\$DOOR.NAM
C:\PCB\NODE2\$DOOR.NAM
Line 1 contains the name and location of the $DOOR.NAM file for node 1
and line 2 contains the name and location of the $DOOR.NAM file for
node 2.
If you have only 1 PROUT1.BAT to handle all uploads on your system
and you can't pass the node number to GIFtest, you can pass the
com port number to GIFtest through the -N function and GIFtest will
translate that to the current node by letting you add the com port
after the location\name of $DOOR.NAM in GIFTEST.CFG. Example:
C:\PCB\NODE1\$DOOR.NAM,4
C:\PCB\NODE2\$DOOR.NAM,1
GIFtest would see this as translating -N:4 to node 1 and -N:1 as node
2 when searching for $DOOR.NAM.
If you are running on a network and all machines use the same com
port, all I can suggest is that you use seperate PROUTEST batch files
for each node. Unfortunately, ProDoor does not currently pass the
node number on the command line when shelling to PROUTEST. I have
asked Sam Smith to do this in future versions (current version is 3.41)
but I have not as yet recieved a reply.
If you do not want GIFtest to add the resolution to your descriptions
the -I option will ignore $DOOR.NAM and GIFTEST.CFG.
If you are writing the results of all file testing to a log (not
CALLERn), all output of GIFtest can be redirected to a file.
"GIFTEST filename.gif >> giflog" would redirect the results of GIFtest
to the file GIFLOG. Note --> ">" creates a new file, ">>" appends to
the current file. If no file is present, ">>" creates a new one.
When GIFtest inserts the resolution into the description, if defaults
to placing the resolution as the last word on the first line of the
description. However, not all BBS's keep their resolution there so
GIFtest now adds the /P option which allows you to place the resolution
at the front of the first line in the description, or as the last word
in the description on the last line (before ProDoor adds "Uploaded
by:").
When GIFtest inserts the resolution, the default resolution type is
"[resolution]" where an example of resolution is "[640x480x256]".
However, some BBS's do not use the "[]" to make the resolution stand
out in the description, so the /R option was added to allow removing
the "[]" from the resolution, example "640x480x256".
Some SysOps like all their descriptions in uppercase, so the /U
option was added to convert the entire description to upper case.
Many BBS's still allow users to use older protocols like Xmodem.
When transferring files with these protocols, if the length of
each block is not exactly 128 or 1024 charactors, the protocol will
pad the block with ASCII 0's or another charactor. While it doesn't
affect the operation of the file, it does add unnecessary bytes to
the end of the file which are not trimmed off by the recieving
computer. On BBS's that carry a LOT of GIFs, you can lose a lot
of hard drive space to these unnecessary bytes. (I recovered a meg
on my system from 1000 GIFs). GIFtest will trim these extras bytes
from uploaded GIFs for you if you include the /T option on the
command line. If extra bytes are found and you include the /T,
GIFtest will display the number of bytes trimmed from the file.
Disclaimer:
GIFtest was tested on a 486 computer with everything on it and
a generic XT clone with 640k and monochrome and performed without
error. However, if GIFtest fails to perform, or causes any damage
to your computer or files, I cannot be held responsible. You use
this file at your own risk.
If, however, you do find a problem with GIFtest, please let me know.
I can be contacted on The Bard's Lair BBS at 718-381-3651, or in
the Shareware conference on any BBS that carries RIME or MetroLink.
Other BBS Software:
If you do not run a ProDoor BBS, GIFtest will still test and
strip GIFs for you and return an errorlevel if a GIF is invalid
or incomplete.
If you know the name of the file and format that your BBS software
stores descriptions typed in by users before uploads, and would like
to have GIFtest insert resolutions into descriptions, please upload
that information, or leave me a message on The Bard's Lair. I will
update GIFtest to support your BBS software as soon as I can after
recieving that information.
Registration:
Previous versions of GIFtest are FREEWARE (versions 1.0, 1.1, 1.2,
and 1.3). However, beginning with version 2.0, GIFtest is now
Shareware. No functions of GIFtest have been crippled, and it
does not display any annoying "Please register me!" messages.
Like Sam Smith (the author of ProDoor), I believe that good software
should be judged on it's own merits. If you use GIFtest on a
regular basis (such as with your BBS), I would appreciate it if you
would send in a fee equaling the worth of the software for you.
I suggest $20. If you send in $30 you will be sent a floppy
containing the PowerBASIC source code to GIFtest.
Any SysOp that registers GIFtest will recieve the next major
upgrade of GIFtest uploaded directly to their BBS from myself.
If you run a single line BBS and your PRIMARY file-base is NOT GIFs
then you can register GIFtest for $2 ($1.85 post card and a 15 cent
stamp). Please include your BBS number on the PostCard so that I
can upload any future updates or versions directly to your BBS
when time permits.
Please send check or money order to:
Dave Navarro, Jr.
64-38 Admiral Ave
Middle Village, NY 11379
Acknowledgements:
I would like to thank CompuServe Information Systems for the
creation of the GIF standard. The pictures uploaded to my BBS
have greatly enriched my life. I would also like to thank the
following individuals who helped me test GIFtest and provided
me with the suggestions that are now found within the program.
Jerry Claxton, SySop of Wood Creek BBS.
who helped with the testing of GIFtest and a few other
programs I have written.
Howard Ross, SysOp of a private BBS in New York state, who
provided most of the suggestions implemented in GIFtest 2.0
and helped me figure out where to find the GIF terminator.
Steve Rimmer, author of "Bit Mapped Graphics", his 2 chapters
in English as opposed to Tech Talk, allowed me to figure
out how to scan the image of the GIF for validity.
Bob Vissage, SysOp of Monitor Madness BBS, who helped with the
testing of GIFtest and provided many of the GIFs used in
testing.
The SysOp of Another Dimension BBS, whos rebuke for my not
typing in the resolution to a GIF I uploaded to his BBS gave me
the incentive for writing the original GIFtest.
Shawn McCullar, SysOp New Dimensions BBS, who introdiced me to
GIFs and got me hooked on them, and introduced me to ProDoor
when I decided to moved The Bard's Lair from the C64 world into
the real world.
Duane Davis, SysOp of Micro Medic BBS, who wrote ProBBS and put
up with all my ignorance when I was attempting to set up The
Bard's Lair after joining the IBM/PC world by answering my
questions.
Sales Pitch:
If you are a BASIC programmer (PowerBASIC, Quick BASIC, Turbo BASIC)
and/or own an Adlib or SoundBlaster music card, then The Bard's
Lair is THE place to call. For a $15 subscription fee, you will
recieve UNLIMITED downloading and 45 minutes a day for 6 months, and
free registered versions of many programs (including GIFTEST) written
by myself.