forked from mirrors/nixpkgs
40 lines
1.1 KiB
Diff
40 lines
1.1 KiB
Diff
|
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.
|