summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/stardict/files/stardict-3.0.3-zlib-1.2.5.2.patch')
-rw-r--r--app-text/stardict/files/stardict-3.0.3-zlib-1.2.5.2.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/app-text/stardict/files/stardict-3.0.3-zlib-1.2.5.2.patch b/app-text/stardict/files/stardict-3.0.3-zlib-1.2.5.2.patch
new file mode 100644
index 000000000000..6a320bd4a9f2
--- /dev/null
+++ b/app-text/stardict/files/stardict-3.0.3-zlib-1.2.5.2.patch
@@ -0,0 +1,39 @@
+http://bugs.gentoo.org/401887
+
+diff --git a/lib/src/libcommon.cpp b/lib/src/libcommon.cpp
+index 16770a3..a4299e7 100644
+--- a/lib/src/libcommon.cpp
++++ b/lib/src/libcommon.cpp
+@@ -614,7 +614,7 @@ int unpack_zlib(const char* arch_file_name, const char* out_file_name)
+ return EXIT_FAILURE;
+ }
+ while(true) {
+- len = gzread(get_impl(in), buf, buffer_size);
++ len = gzread((gzFile)get_impl(in), buf, buffer_size);
+ if(len < 0) {
+ g_critical(read_file_err, arch_file_name, "");
+ return EXIT_FAILURE;
+@@ -871,3 +871,8 @@ int remove_recursive(const std::string& path)
+ return res;
+ }
+ }
++
++int gzclose_compat(void * file)
++{
++ return gzclose ((gzFile)file);
++}
+diff --git a/lib/src/libcommon.h b/lib/src/libcommon.h
+index 10f13b4..bdcbf2f 100644
+--- a/lib/src/libcommon.h
++++ b/lib/src/libcommon.h
+@@ -187,8 +187,9 @@ namespace clib {
+ typedef ResourceWrapper<FILE, FILE*, int, fclose> File;
+ }
+
++extern int gzclose_compat(void * file);
+ namespace zip {
+-typedef ResourceWrapper<void, void*, int, gzclose> gzFile;
++typedef ResourceWrapper<void, void*, int, gzclose_compat> gzFile;
+ }
+
+ /* Create a new temporary file. Return file name in file name encoding.