Explorar o código

libgis: set valid ZLIB compression level

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@69388 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz %!s(int64=8) %!d(string=hai) anos
pai
achega
a0501f4dcf
Modificáronse 1 ficheiros con 7 adicións e 1 borrados
  1. 7 1
      lib/gis/gisinit.c

+ 7 - 1
lib/gis/gisinit.c

@@ -119,7 +119,13 @@ static int gisinit(void)
     G__.little_endian = G_is_little_endian();
     G__.little_endian = G_is_little_endian();
 
 
     zlib = getenv("GRASS_ZLIB_LEVEL");
     zlib = getenv("GRASS_ZLIB_LEVEL");
-    G__.compression_level = (zlib && *zlib && isdigit(*zlib)) ? atoi(zlib) : -2;
+    /* Valid zlib compression levels -1 - 9 */
+    /* zlib default: Z_DEFAULT_COMPRESSION = -1, equivalent to 6 
+     * level 0 means no compression
+     * as used here, 1 gives the best compromise between speed and compression */
+    G__.compression_level = (zlib && *zlib && isdigit(*zlib)) ? atoi(zlib) : 1;
+    if (G__.compression_level < -1 || G__.compression_level > 9)
+	G__.compression_level = 1;
 
 
     initialized = 1;
     initialized = 1;