Implemented native gzip compression/decompression using zlib routines.

Compression levels of the output can be controlled with the "gds
compress [<value>]" command, where <value> 0 (default) is uncompressed
output, 6 is "normal" gzip compression, and 9 is maximum compression.
This commit is contained in:
Tim Edwards
2022-05-10 09:19:39 -04:00
parent 6e0768ebd4
commit 371018ae4b
16 changed files with 3102 additions and 172 deletions
+5 -1
View File
@@ -66,6 +66,10 @@ bool CalmaAllowUndefined = FALSE; /* If TRUE, allow calls to undefined cells */
bool CalmaContactArrays = FALSE; /* If TRUE, output contacts as subcell arrays */
bool CalmaMergeTiles = FALSE; /* If TRUE, merge tiles into polygons in output. */
#ifdef HAVE_ZLIB
int CalmaCompression = 0; /* Output file compression level (0 = uncompressed) */
#endif
/* Forward declarations */
extern int calmaWriteInitFunc();
extern int calmaWriteMarkFunc();
@@ -286,7 +290,7 @@ CalmaWrite(rootDef, f)
CellDef *rootDef; /* Pointer to CellDef to be written */
FILE *f; /* Open output file */
{
int oldCount = DBWFeedbackCount, problems;
int oldCount = DBWFeedbackCount, problems, nerr;
bool good;
CellUse dummy;
HashEntry *he;