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 >
Text File  |  1991-05-22  |  12KB  |  244 lines

  1.  
  2.                                GIFtest 3.0
  3.                     CopyRight 1991 by Dave Navarro, Jr.
  4.  
  5. What is GIFtest?
  6.  
  7.      GIFtest is command line utility to test a GIF file to se if it is
  8.      valid.  While GIFtest was written primarily as a utility for BBS's
  9.      to test GIFs as they are uploaded, anyone can use it.
  10.  
  11. History:
  12.  
  13.     Version 3.0, rewrote GIF testing routines to test the internal
  14.     image of a GIF file as well as the header and terminator.  This does
  15.     not test to see if each pixel is the correct color, but rather tests
  16.     to make sure that the correct number of pixels are represented in
  17.     the LZW table for the image and that all internal codes are accurate.
  18.     Added /P:3 option to place resolution as the last line of the
  19.     description by itself.  Once again fixed problem with descriptions
  20.     not being displayed properly.  Note -->  Several SysOps have noticed
  21.     that when using GIFtest with ProDoor's PROUTEST, GIFs that have been
  22.     stripped will get tested twice.  The reason is that when GIFtest
  23.     strips the extra bytes from the end of the file, it renames the GIF
  24.     to 'filename.BAK' and copies the valid bytes to the original GIF name
  25.     then erasing 'filename.BAK'.  The 'for %%f' in PROUTEST sees the new
  26.     file as a seperate file and tests it again.  The only way for me to
  27.     fix this is to copy the entire GIF into 'filename.BAK' and then
  28.     truncate the original GIF to 0 bytes and copy only the relative bytes
  29.     back into it from 'filename.BAK' then erasing 'filename.BAK', but this
  30.     would DOUBLE the time for testing each GIF that required trimming.
  31.     What I suggest is that you do NOT use the TRIM function in your
  32.     PROUTEST, but rather make it part of your event to trim all GIFs in
  33.     the UPLOAD directory.
  34.  
  35.     Version 2.3, added /E option to erase Invalid or Incomplete GIFs and
  36.     fixed problem where leading "/" was being deleted from description
  37.     causing private uploads to be put in the public upload directory.
  38.     Fixed description duplication problem when description was the minimum
  39.     allowed by ProDoor and using the /P:2 option.
  40.  
  41.     Version 2.21, minor bug fix in documentation to reflect teh change
  42.     in the switch charactor use in version 2.2, "/" instead of "-".
  43.  
  44.     Version 2.2, minor bug fix where GIFtest was improperly placing
  45.     resolution when used with -p:2 or -p:0 options.
  46.  
  47.     Version 2.1, minor bug fix where GIFtest would remove "-"'s from
  48.     filenames on the command line causing the GIF to be invalid.
  49.  
  50. How do I use GIFtest?
  51.  
  52. Usage: GIFTEST filename.gif /D /N:n /P:n /R:n /T
  53.    GIFtest does NOT support wildcards!
  54.    /D   -  Display ProDoor description
  55.    /E   -  Erase Invalid GIF's
  56.    /I   -  Ignore DOOR.NAM
  57.    /N:n -  Node Number
  58.    /P:n -  Position of resolution in description
  59.            0 - First word on first line
  60.            1 - Last word on first line (default)
  61.            2 - Last word on last line
  62.            3 - Last line by itself
  63.    /R:n -  Type of resolution used
  64.            1 - Enclosed with brackets (default)
  65.            2 - No brackets
  66.    /T   -  Trims extra chars from GIF
  67.    /U   -  Convert description to uppercase
  68.    returns ERRORLEVEL = 1 if invalid GIF
  69.    returns ERRORLEVEL = 2 if incomplete GIF
  70.  
  71.       IF GIFtest is used with ProDoor, giftest will search the current
  72.       directory for the file $DOOR.NAM which is where ProDoor keeps
  73.       the description the user types before uploading a file.  If
  74.       $DOOR.NAM isn't found, or the filename of the GIF isn't found in
  75.       $DOOR.NAM, and the GIF is valid, then GIFtest exits with no
  76.       ERRORLEVEL, and no display.
  77.  
  78.       IF you are running a multiple node ProDoor BBS and $DOOR.NAM is not
  79.       kept in the current directory, GIFtest will search the DOS path for
  80.       GIFTEST.CFG and if found, search it for the location of $DOOR.NAM
  81.       according to the node information passed to GIFtest with the -N
  82.       command line option.
  83.  
  84.       For a 2 node BBS, GIFTEST.CFG would contain the following 2 lines:
  85.  
  86.       C:\PCB\NODE1\$DOOR.NAM
  87.       C:\PCB\NODE2\$DOOR.NAM
  88.  
  89.       Line 1 contains the name and location of the $DOOR.NAM file for node 1
  90.       and line 2 contains the name and location of the $DOOR.NAM file for
  91.       node 2.
  92.  
  93.       If you have only 1 PROUT1.BAT to handle all uploads on your system
  94.       and you can't pass the node number to GIFtest, you can pass the
  95.       com port number to GIFtest through the -N function and GIFtest will
  96.       translate that to the current node by letting you add the com port
  97.       after the location\name of $DOOR.NAM in GIFTEST.CFG.  Example:
  98.  
  99.       C:\PCB\NODE1\$DOOR.NAM,4
  100.       C:\PCB\NODE2\$DOOR.NAM,1
  101.  
  102.       GIFtest would see this as translating -N:4 to node 1 and -N:1 as node
  103.       2 when searching for $DOOR.NAM.
  104.  
  105.       If you are running on a network and all machines use the same com
  106.       port, all I can suggest is that you use seperate PROUTEST batch files
  107.       for each node.  Unfortunately, ProDoor does not currently pass the
  108.       node number on the command line when shelling to PROUTEST.  I have
  109.       asked Sam Smith to do this in future versions (current version is 3.41)
  110.       but I have not as yet recieved a reply.
  111.  
  112.       If you do not want GIFtest to add the resolution to your descriptions
  113.       the -I option will ignore $DOOR.NAM and GIFTEST.CFG.
  114.  
  115.       If you are writing the results of all file testing to a log (not
  116.       CALLERn), all output of GIFtest can be redirected to a file.
  117.  
  118.       "GIFTEST filename.gif >> giflog" would redirect the results of GIFtest
  119.       to the file GIFLOG.  Note --> ">" creates a new file, ">>" appends to
  120.       the current file.  If no file is present, ">>" creates a new one.
  121.  
  122.       When GIFtest inserts the resolution into the description, if defaults
  123.       to placing the resolution as the last word on the first line of the
  124.       description.  However, not all BBS's keep their resolution there so
  125.       GIFtest now adds the /P option which allows you to place the resolution
  126.       at the front of the first line in the description, or as the last word
  127.       in the description on the last line (before ProDoor adds "Uploaded
  128.       by:").
  129.  
  130.       When GIFtest inserts the resolution, the default resolution type is
  131.       "[resolution]" where an example of resolution is "[640x480x256]".
  132.       However, some BBS's do not use the "[]" to make the resolution stand
  133.       out in the description, so the /R option was added to allow removing
  134.       the  "[]" from the resolution, example "640x480x256".
  135.  
  136.       Some SysOps like all their descriptions in uppercase, so the /U
  137.       option was added to convert the entire description to upper case.
  138.  
  139.       Many BBS's still allow users to use older protocols like Xmodem.
  140.       When transferring files with these protocols, if the length of
  141.       each block is not exactly 128 or 1024 charactors, the protocol will
  142.       pad the block with ASCII 0's or another charactor.  While it doesn't
  143.       affect the operation of the file, it does add unnecessary  bytes to
  144.       the end of the file which are not trimmed off by the recieving
  145.       computer.  On BBS's that carry a LOT of GIFs, you can lose a lot
  146.       of hard drive space to these unnecessary bytes.  (I recovered a meg
  147.       on my system from 1000 GIFs).  GIFtest will trim these extras bytes
  148.       from uploaded GIFs for you if you include the /T option on the
  149.       command line.  If extra bytes are found and you include the /T,
  150.       GIFtest will display the number of bytes trimmed from the file.
  151.  
  152. Disclaimer:
  153.  
  154.      GIFtest was tested on a 486 computer with everything on it and
  155.      a generic XT clone with 640k and monochrome and performed without
  156.      error.  However, if GIFtest fails to perform, or causes any damage
  157.      to your computer or files, I cannot be held responsible.  You use
  158.      this file at your own risk.
  159.  
  160.      If, however, you do find a problem with GIFtest, please let me know.
  161.      I can be contacted on The Bard's Lair BBS at 718-381-3651, or in
  162.      the Shareware conference on any BBS that carries RIME or MetroLink.
  163.  
  164. Other BBS Software:
  165.  
  166.      If you do not run a ProDoor BBS, GIFtest will still test and
  167.      strip GIFs for you and return an errorlevel if a GIF is invalid
  168.      or incomplete.
  169.  
  170.      If you know the name of the file and format that your BBS software
  171.      stores descriptions typed in by users before uploads, and would like
  172.      to have GIFtest insert resolutions into descriptions, please upload
  173.      that information, or leave me a message on The Bard's Lair.  I will
  174.      update GIFtest to support your BBS software as soon as I can after
  175.      recieving that information.
  176.  
  177. Registration:
  178.  
  179.      Previous versions of GIFtest are FREEWARE (versions 1.0, 1.1, 1.2,
  180.      and 1.3).  However, beginning with version 2.0, GIFtest is now
  181.      Shareware.  No functions of GIFtest have been crippled, and it
  182.      does not display any annoying "Please register me!" messages.
  183.      Like Sam Smith (the author of ProDoor), I believe that good software
  184.      should be judged on it's own merits.  If you use GIFtest on a
  185.      regular basis (such as with your BBS), I would appreciate it if you
  186.      would send in a fee equaling the worth of the software for you.
  187.      I suggest $20.  If you send in $30 you will be sent a floppy
  188.      containing the PowerBASIC source code to GIFtest.
  189.      Any SysOp that registers GIFtest will recieve the next major
  190.      upgrade of GIFtest uploaded directly to their BBS from myself.
  191.      If you run a single line BBS and your PRIMARY file-base is NOT GIFs
  192.      then you can register GIFtest for $2 ($1.85 post card and a 15 cent
  193.      stamp).  Please include your BBS number on the PostCard so that I
  194.      can upload any future updates or versions directly to your BBS
  195.      when time permits.
  196.  
  197.      Please send check or money order to:
  198.  
  199.          Dave Navarro, Jr.
  200.          64-38 Admiral Ave
  201.          Middle Village, NY 11379
  202.  
  203. Acknowledgements:
  204.  
  205.      I would like to thank CompuServe Information Systems for the
  206.      creation of the GIF standard.  The pictures uploaded to my BBS
  207.      have greatly enriched my life.  I would also like to thank the
  208.      following individuals who helped me test GIFtest and provided
  209.      me with the suggestions that are now found within the program.
  210.  
  211.      Jerry Claxton, SySop of Wood Creek BBS.
  212.        who helped with the testing of GIFtest and a few other
  213.        programs I have written.
  214.      Howard Ross, SysOp of a private BBS in New York state, who
  215.        provided most of the suggestions implemented in GIFtest 2.0
  216.        and helped me figure out where to find the GIF terminator.
  217.      Steve Rimmer, author of "Bit Mapped Graphics", his 2 chapters
  218.        in English as opposed to Tech Talk, allowed me to figure
  219.        out how to scan the image of the GIF for validity.
  220.      Bob Vissage, SysOp of Monitor Madness BBS, who helped with the
  221.        testing of GIFtest and provided many of the GIFs used in
  222.        testing.
  223.      The SysOp of Another Dimension BBS, whos rebuke for my not
  224.        typing in the resolution to a GIF I uploaded to his BBS gave me
  225.        the incentive for writing the original GIFtest.
  226.      Shawn McCullar, SysOp New Dimensions BBS, who introdiced me to
  227.        GIFs and got me hooked on them, and introduced me to ProDoor
  228.        when I decided to moved The Bard's Lair from the C64 world into
  229.        the real world.
  230.      Duane Davis, SysOp of Micro Medic BBS, who wrote ProBBS and put
  231.        up with all my ignorance when I was attempting to set up The
  232.        Bard's Lair after joining the IBM/PC world by answering my
  233.        questions.
  234.  
  235. Sales Pitch:
  236.  
  237.      If you are a BASIC programmer (PowerBASIC, Quick BASIC, Turbo BASIC)
  238.      and/or own an Adlib or SoundBlaster music card, then The Bard's
  239.      Lair is THE place to call.  For a $15 subscription fee, you will
  240.      recieve UNLIMITED downloading and 45 minutes a day for 6 months, and
  241.      free registered versions of many programs (including GIFTEST) written
  242.      by myself.
  243.  
  244.