libxml2 knows too much about zlib internals. Beginning from zlib 1.2.2.3
the zlib authors has provided a 'gzdirect' function to detect whether the current gzFile descriptor is still providing a stream from uncompression, so use it instead of rolling own. The upcoming zlib 1.2.4 update will break the current libxml2 usage. Patch was the same as Mark Adler provided to libxml2 maintainers at: http://osdir.com/ml/svn-commits-list/2010-01/msg05723.html PR: ports/144828 Approved by: mezz (freebsd-gnome@)
This commit is contained in:
parent
b464932ec0
commit
3a83bc100d
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=251188
@ -12,7 +12,7 @@
|
||||
|
||||
PORTNAME= libxml2
|
||||
PORTVERSION= 2.7.6
|
||||
PORTREVISION?= 1
|
||||
PORTREVISION?= 2
|
||||
CATEGORIES?= textproc gnome
|
||||
MASTER_SITES= ftp://fr.rpmfind.net/pub/libxml/ \
|
||||
ftp://gd.tuwien.ac.at/pub/libxml/ \
|
||||
|
20
textproc/libxml2/files/patch-xmlIO.c
Normal file
20
textproc/libxml2/files/patch-xmlIO.c
Normal file
@ -0,0 +1,20 @@
|
||||
--- ./xmlIO.c.orig 2009-09-24 08:32:00.000000000 -0700
|
||||
+++ ./xmlIO.c 2010-03-17 12:35:00.957293884 -0700
|
||||
@@ -2518,6 +2518,9 @@
|
||||
#ifdef HAVE_ZLIB_H
|
||||
if ((xmlInputCallbackTable[i].opencallback == xmlGzfileOpen) &&
|
||||
(strcmp(URI, "-") != 0)) {
|
||||
+#if defined(ZLIB_VERNUM) && ZLIB_VERNUM >= 0x1230
|
||||
+ ret->compressed = !gzdirect(context);
|
||||
+#else
|
||||
if (((z_stream *)context)->avail_in > 4) {
|
||||
char *cptr, buff4[4];
|
||||
cptr = (char *) ((z_stream *)context)->next_in;
|
||||
@@ -2529,6 +2532,7 @@
|
||||
gzrewind(context);
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
#endif
|
||||
}
|
Loading…
Reference in New Issue
Block a user