GIFTST30.ZIP.x/GIFTEST.DOC

11.9 KB 71ff049263338922…
                               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.