diff options
author | Thiago Macieira <thiago@macieira.org> | 2013-12-19 17:01:54 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-12-20 09:53:05 -0800 |
commit | dbdf50d03cd19b8cf62f39a2578996215f47034e (patch) | |
tree | a4d9fadb897427cd71f238da8cd430bb4b440140 | |
parent | c49f7133c306860fb1f9bb5e6cd138927a5b5f0f (diff) | |
download | subsurface-dbdf50d03cd19b8cf62f39a2578996215f47034e.tar.gz |
Fix compilation with libzip < 0.10
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/subsurfacewebservices.cpp | 2 | ||||
-rw-r--r-- | windows.c | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp index 266332f29..20e5707ea 100644 --- a/qt-ui/subsurfacewebservices.cpp +++ b/qt-ui/subsurfacewebservices.cpp @@ -753,7 +753,7 @@ void DivelogsDeWebServices::downloadFinished() int errorcode; zipFile.seek(0); -#ifdef Q_OS_UNIX +#if defined(Q_OS_UNIX) && defined(LIBZIP_VERSION_MAJOR) int duppedfd = dup(zipFile.handle()); struct zip *zip = zip_fdopen(duppedfd, 0, &errorcode); if (!zip) @@ -157,14 +157,19 @@ void *subsurface_opendir(const char *path) #define O_BINARY 0 #endif -/* we use zip_fdopen since zip_open doesn't have a wchar_t version */ struct zip *subsurface_zip_open_readonly(const char *path, int flags, int *errorp) { +#if defined(LIBZIP_VERSION_MAJOR) + /* libzip 0.10 has zip_fdopen, let's use it since zip_open doesn't have a + * wchar_t version */ int fd = subsurface_open(path, O_RDONLY | O_BINARY, 0); struct zip *ret = zip_fdopen(fd, flags, errorp); if (!ret) close(fd); return ret; +#else + return zip_open(path, flags, errorp); +#endif } int subsurface_zip_close(struct zip *zip) |