diff options
Diffstat (limited to 'games-util/loki_patch/files/loki_patch-20091105-xdelta-gzip.patch')
-rw-r--r-- | games-util/loki_patch/files/loki_patch-20091105-xdelta-gzip.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/games-util/loki_patch/files/loki_patch-20091105-xdelta-gzip.patch b/games-util/loki_patch/files/loki_patch-20091105-xdelta-gzip.patch new file mode 100644 index 000000000000..ec4eeb758a3a --- /dev/null +++ b/games-util/loki_patch/files/loki_patch-20091105-xdelta-gzip.patch @@ -0,0 +1,44 @@ +--- a/loki_patch/loki_xdelta.c ++++ b/loki_patch/loki_xdelta.c +@@ -179,6 +179,7 @@ struct _XdFileHandle + guint narrow_high; + guint current_pos; + FILE* in; ++ gzFile zin; + gboolean (* in_read) (XdFileHandle* handle, void* buf, gint nbyte); + gboolean (* in_close) (XdFileHandle* handle); + gboolean in_compressed; +@@ -520,7 +521,7 @@ xd_gzwrite (XdFileHandle* fh, const void* buf, gint nbyte) + static gboolean + xd_gzread (XdFileHandle* fh, void* buf, gint nbyte) + { +- return gzread (fh->in, buf, nbyte) == nbyte; ++ return gzread (fh->zin, buf, nbyte) == nbyte; + } + + static gboolean +@@ -532,7 +533,7 @@ xd_gzclose (XdFileHandle* fh) + static gboolean + xd_gzrclose (XdFileHandle* fh) + { +- return gzclose (fh->in) == Z_OK; ++ return gzclose (fh->zin) == Z_OK; + } + + static void +@@ -1022,13 +1023,13 @@ xd_handle_narrow (XdFileHandle* fh, guint low, guint high, gboolean compressed) + } + + g_assert (fh->fd >= 0); +- fh->in = gzdopen (dup (fh->fd), "rb"); ++ fh->zin = gzdopen (dup (fh->fd), "rb"); + fh->in_read = &xd_gzread; + fh->in_close = &xd_gzrclose; + fh->in_compressed = TRUE; + fh->current_pos = 0; + +- if (! fh->in) ++ if (! fh->zin) + { + xd_error ("gzdopen failed: %s\n", g_strerror (errno)); + return -1; |