Index

File: zip-compress-shrink.ads

Description

Subprograms & Entries

Shrink

procedure Zip.Compress.Shrink
( input, output: Zip_Streams.Zipstream_Class;
input_size_known: Boolean;
input_size: File_size_type;
-- ignored if unknown feedback: Feedback_proc;
CRC: in out Interfaces.Unsigned_32;
-- only updated here output_size: out File_size_type;
compression_ok: out Boolean -- indicates compressed <= uncompressed);

References:

zip-compress-shrink.ads:16:32 (declaration)
zip-compress-shrink.adb:6:24 (body)
zip-compress-shrink.adb:497:18 (label)
zip-compress.adb:23:19 (with line)
zip-compress.adb:108:22 (reference)

Calls:

Unchecked_Deallocation defined at a-uncdea.ads:20:15
Zip.Compress.Shrink.Build_Data_Structures defined at zip-compress-shrink.adb:171:13
Zip.Compress.Shrink.Clear_Table defined at zip-compress-shrink.adb:254:13
Zip.Compress.Shrink.Destroy_Data_Structures defined at zip-compress-shrink.adb:178:13
Zip.Compress.Shrink.Dispose defined at zip-compress-shrink.adb:160:13
Zip.Compress.Shrink.Dispose defined at zip-compress-shrink.adb:27:13
Zip.Compress.Shrink.Dispose defined at zip-compress-shrink.adb:152:13
Zip.Compress.Shrink.Flush_output defined at zip-compress-shrink.adb:78:13
Zip.Compress.Shrink.Initialize_Data_Structures defined at zip-compress-shrink.adb:186:13
Zip.Compress.Shrink.Process_Input defined at zip-compress-shrink.adb:412:13
Zip.Compress.Shrink.Prune defined at zip-compress-shrink.adb:209:13
Zip.Compress.Shrink.Put_byte defined at zip-compress-shrink.adb:69:13
Zip.Compress.Shrink.Put_code defined at zip-compress-shrink.adb:95:13
Zip.Compress.Shrink.Read_Block defined at zip-compress-shrink.adb:39:13
Zip.Compress.Shrink.Shrink_Atom defined at zip-compress-shrink.adb:348:13
Zip.Compress.Shrink.Table_Add defined at zip-compress-shrink.adb:275:13
Zip.Compress.Shrink.Table_Lookup defined at zip-compress-shrink.adb:306:13
Zip.Compress.Shrink.Write_Block defined at zip-compress-shrink.adb:54:13
Translated by P2Ada (v. 15-Nov-2006) from R. P. Byrne's Shrink.Pas (v. 1.2, 1989) in Turbo Pascal and 16-bit assembler, then reworked by G. de Montmollin Note about the LZW patent: as on 10-Dec-2007, one could read on http://www.unisys.com/about__unisys/lzw : Unisys U.S. LZW Patent No. 4,558,302 expired on June 20, 2003, the counterpart patents in the United Kingdom, France, Germany and Italy expired on June 18, 2004, the Japanese counterpart patents expired on June 20, 2004 and the counterpart Canadian patent expired on July 7, 2004.