summary refs log tree commit diff
path: root/pkgs/applications/misc/stardict/stardict-3.0.3-zlib-1.2.5.2.patch
blob: 6a320bd4a9f23dff9f65090693c4850c9cfcb306 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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.