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; } +extern int gzclose_compat(void * file); namespace zip { -typedef ResourceWrapper gzFile; +typedef ResourceWrapper gzFile; } /* Create a new temporary file. Return file name in file name encoding.