[glib] Fix GZlibCompressorFormat names
- From: Alexander Larsson <alexl src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [glib] Fix GZlibCompressorFormat names
- Date: Tue, 24 Nov 2009 12:05:26 +0000 (UTC)
commit 2af69f4135253573ccc3a14f0cb9555bdba6ac3b
Author: Alexander Larsson <alexl redhat com>
Date: Tue Nov 24 13:02:05 2009 +0100
Fix GZlibCompressorFormat names
What used to be called RAW is really the zlib header format.
There is a real "raw" format, so rename the default and add a RAW type.
gio/gioenums.h | 8 +++++---
gio/gzlibcompressor.c | 12 ++++++++++--
gio/gzlibdecompressor.c | 9 +++++++--
gio/tests/filter-cat.c | 4 ++--
4 files changed, 24 insertions(+), 9 deletions(-)
---
diff --git a/gio/gioenums.h b/gio/gioenums.h
index 2c9433e..09d2393 100644
--- a/gio/gioenums.h
+++ b/gio/gioenums.h
@@ -675,8 +675,9 @@ typedef enum {
/**
* GZlibCompressorFormat:
- * @G_ZLIB_COMRESSOR_FORMAT_RAW: Raw zlib compression data
+ * @G_ZLIB_COMRESSOR_FORMAT_ZLIB: deflate compression with zlib header
* @G_ZLIB_COMRESSOR_FORMAT_GZIP: gzip file format
+ * @G_ZLIB_COMRESSOR_FORMAT_RAW: deflate compression with no header
*
* Used to select the type of data format to use for #GZlibDecompressor
* and #GZlibCompressor.
@@ -684,8 +685,9 @@ typedef enum {
* Since: 2.24
*/
typedef enum {
- G_ZLIB_COMPRESSOR_FORMAT_RAW,
- G_ZLIB_COMPRESSOR_FORMAT_GZIP
+ G_ZLIB_COMPRESSOR_FORMAT_ZLIB,
+ G_ZLIB_COMPRESSOR_FORMAT_GZIP,
+ G_ZLIB_COMPRESSOR_FORMAT_RAW
} GZlibCompressorFormat;
G_END_DECLS
diff --git a/gio/gzlibcompressor.c b/gio/gzlibcompressor.c
index 20fd8ff..4c722e2 100644
--- a/gio/gzlibcompressor.c
+++ b/gio/gzlibcompressor.c
@@ -157,7 +157,15 @@ g_zlib_compressor_constructed (GObject *object)
MAX_WBITS + 16, 8,
Z_DEFAULT_STRATEGY);
}
- else
+ else if (compressor->format == G_ZLIB_COMPRESSOR_FORMAT_RAW)
+ {
+ /* negative wbits for raw */
+ res = deflateInit2 (&compressor->zstream,
+ compressor->level, Z_DEFLATED,
+ -MAX_WBITS, 8,
+ Z_DEFAULT_STRATEGY);
+ }
+ else /* ZLIB */
res = deflateInit (&compressor->zstream, compressor->level);
if (res == Z_MEM_ERROR )
@@ -183,7 +191,7 @@ g_zlib_compressor_class_init (GZlibCompressorClass *klass)
P_("compression format"),
P_("The format of the compressed data"),
G_TYPE_ZLIB_COMPRESSOR_FORMAT,
- G_ZLIB_COMPRESSOR_FORMAT_RAW,
+ G_ZLIB_COMPRESSOR_FORMAT_ZLIB,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
diff --git a/gio/gzlibdecompressor.c b/gio/gzlibdecompressor.c
index e19c28e..1587dd5 100644
--- a/gio/gzlibdecompressor.c
+++ b/gio/gzlibdecompressor.c
@@ -144,7 +144,12 @@ g_zlib_decompressor_constructed (GObject *object)
/* + 16 for gzip */
res = inflateInit2 (&decompressor->zstream, MAX_WBITS + 16);
}
- else
+ else if (decompressor->format == G_ZLIB_COMPRESSOR_FORMAT_RAW)
+ {
+ /* Negative for gzip */
+ res = inflateInit2 (&decompressor->zstream, -MAX_WBITS);
+ }
+ else /* ZLIB */
res = inflateInit (&decompressor->zstream);
if (res == Z_MEM_ERROR )
@@ -170,7 +175,7 @@ g_zlib_decompressor_class_init (GZlibDecompressorClass *klass)
P_("compression format"),
P_("The format of the compressed data"),
G_TYPE_ZLIB_COMPRESSOR_FORMAT,
- G_ZLIB_COMPRESSOR_FORMAT_RAW,
+ G_ZLIB_COMPRESSOR_FORMAT_ZLIB,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS));
}
diff --git a/gio/tests/filter-cat.c b/gio/tests/filter-cat.c
index 0c1cc13..770ab1a 100644
--- a/gio/tests/filter-cat.c
+++ b/gio/tests/filter-cat.c
@@ -76,7 +76,7 @@ cat (GFile * file)
if (decompress)
{
GInputStream *old;
- conv = (GConverter *)g_zlib_decompressor_new (gzip?G_ZLIB_COMPRESSOR_FORMAT_GZIP:G_ZLIB_COMPRESSOR_FORMAT_RAW);
+ conv = (GConverter *)g_zlib_decompressor_new (gzip?G_ZLIB_COMPRESSOR_FORMAT_GZIP:G_ZLIB_COMPRESSOR_FORMAT_ZLIB);
old = in;
in = (GInputStream *) g_converter_input_stream_new (in, conv);
g_object_unref (conv);
@@ -108,7 +108,7 @@ cat (GFile * file)
if (compress)
{
GInputStream *old;
- conv = (GConverter *)g_zlib_compressor_new (gzip?G_ZLIB_COMPRESSOR_FORMAT_GZIP:G_ZLIB_COMPRESSOR_FORMAT_RAW, -1);
+ conv = (GConverter *)g_zlib_compressor_new (gzip?G_ZLIB_COMPRESSOR_FORMAT_GZIP:G_ZLIB_COMPRESSOR_FORMAT_ZLIB, -1);
old = in;
in = (GInputStream *) g_converter_input_stream_new (in, conv);
g_object_unref (conv);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]