Fix building with zlib < 1.2.4 on win32
authorChristian Persch <chpe@gnome.org>
Wed, 1 Sep 2010 13:05:59 +0000 (15:05 +0200)
committerRyan Lortie <desrt@desrt.ca>
Wed, 1 Sep 2010 13:09:51 +0000 (15:09 +0200)
The gzip header processing functions were only exported
since 1.2.4 on win32, so #ifdef this code accordingly.

Bug #628505.

gio/gzlibcompressor.c
gio/gzlibdecompressor.c

index bfcbcff..3c54753 100644 (file)
@@ -72,6 +72,8 @@ struct _GZlibCompressor
 static void
 g_zlib_compressor_set_gzheader (GZlibCompressor *compressor)
 {
+  /* On win32, these functions were not exported before 1.2.4 */
+#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240
   const gchar *filename;
 
   if (compressor->format != G_ZLIB_COMPRESSOR_FORMAT_GZIP ||
@@ -91,6 +93,7 @@ g_zlib_compressor_set_gzheader (GZlibCompressor *compressor)
 
   if (deflateSetHeader (&compressor->zstream, &compressor->gzheader) != Z_OK)
     g_warning ("unexpected zlib error: %s\n", compressor->zstream.msg);
+#endif /* !G_OS_WIN32 || ZLIB >= 1.2.4 */
 }
 
 G_DEFINE_TYPE_WITH_CODE (GZlibCompressor, g_zlib_compressor, G_TYPE_OBJECT,
index f072613..df70e7e 100644 (file)
@@ -75,6 +75,8 @@ struct _GZlibDecompressor
 static void
 g_zlib_decompressor_set_gzheader (GZlibDecompressor *decompressor)
 {
+  /* On win32, these functions were not exported before 1.2.4 */
+#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240
   if (decompressor->format != G_ZLIB_COMPRESSOR_FORMAT_GZIP)
     return;
 
@@ -96,6 +98,7 @@ g_zlib_decompressor_set_gzheader (GZlibDecompressor *decompressor)
 
   if (inflateGetHeader (&decompressor->zstream, &decompressor->header_data->gzheader) != Z_OK)
     g_warning ("unexpected zlib error: %s\n", decompressor->zstream.msg);
+#endif /* !G_OS_WIN32 || ZLIB >= 1.2.4 */
 }
 
 G_DEFINE_TYPE_WITH_CODE (GZlibDecompressor, g_zlib_decompressor, G_TYPE_OBJECT,
@@ -373,6 +376,7 @@ g_zlib_decompressor_convert (GConverter *converter,
   *bytes_read = inbuf_size - decompressor->zstream.avail_in;
   *bytes_written = outbuf_size - decompressor->zstream.avail_out;
 
+#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240
   if (decompressor->header_data != NULL &&
       decompressor->header_data->gzheader.done == 1)
     {
@@ -396,6 +400,7 @@ g_zlib_decompressor_convert (GConverter *converter,
 
       g_object_notify (G_OBJECT (decompressor), "file-info");
     }
+#endif /* !G_OS_WIN32 || ZLIB >= 1.2.4 */
 
   if (res == Z_STREAM_END)
     return G_CONVERTER_FINISHED;