1. -- 
  2. -- Translated by P2Ada (v. 15-Nov-2006) 
  3. -- from R. P. Byrne's Shrink.Pas (v. 1.2, 1989) in Turbo Pascal 
  4. -- and 16-bit assembler, then reworked by G. de Montmollin 
  5. -- 
  6. -- Note about the LZW patent: as on 10-Dec-2007, one could read on 
  7. -- http://www.unisys.com/about__unisys/lzw : 
  8. -- 
  9. --  Unisys U.S. LZW Patent No. 4,558,302 expired on June 20, 2003, 
  10. --  the counterpart patents in the United Kingdom, France, Germany 
  11. --  and Italy expired on June 18, 2004, 
  12. --  the Japanese counterpart patents expired on June 20, 2004 
  13. --  and the counterpart Canadian patent expired on July 7, 2004. 
  14. -- 
  15.  
  16. private procedure Zip.Compress.Shrink( 
  17.   input, 
  18.   output          : Zip_Streams.Zipstream_Class; 
  19.   input_size_known: Boolean; 
  20.   input_size      : File_size_type; -- ignored if unknown 
  21.   feedback        : Feedback_proc; 
  22.   CRC             : in out Interfaces.Unsigned_32; -- only updated here 
  23.   output_size     : out File_size_type; 
  24.   compression_ok  : out Boolean -- indicates compressed <= uncompressed 
  25. );