[libgsf] zip: fix file mode



commit 16cedfdad14c344c025ba27179a6d5de26dae2b5
Author: Morten Welinder <terra gnome org>
Date:   Sun Nov 23 11:34:45 2014 -0500

    zip: fix file mode

 ChangeLog             |    4 ++++
 NEWS                  |    1 +
 gsf/gsf-outfile-zip.c |    2 +-
 3 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 6c49596..8b07d36 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-11-23  Morten Welinder  <terra gnome org>
+
+       * gsf/gsf-outfile-zip.c (zip_dirent_write): Fix file mode.
+
 2014-11-22  Morten Welinder  <terra gnome org>
 
        * tools/gsf.c (open_archive): Plug leak.
diff --git a/NEWS b/NEWS
index e0ae033..eb1f6e0 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,7 @@ Morten:
        * Speed up zip file reading for lots of members.
        * Speed up stdio directory handling with large number of files.
        * Fix various issues with files larger than 4G.
+       * Fix minor zip file issues.
 
 --------------------------------------------------------------------------
 libgsf 1.14.30
diff --git a/gsf/gsf-outfile-zip.c b/gsf/gsf-outfile-zip.c
index cbafee5..044b174 100644
--- a/gsf/gsf-outfile-zip.c
+++ b/gsf/gsf-outfile-zip.c
@@ -177,7 +177,7 @@ zip_dirent_write (GsfOutput *sink, GsfZipDirent *dirent)
        GSF_LE_SET_GUINT16 (buf + ZIP_DIRENT_DISKSTART, 0);
        GSF_LE_SET_GUINT16 (buf + ZIP_DIRENT_FILE_TYPE, 0);
        /* Hardcode file mode 644 */
-       GSF_LE_SET_GUINT32 (buf + ZIP_DIRENT_FILE_MODE, 0644 << 16);
+       GSF_LE_SET_GUINT32 (buf + ZIP_DIRENT_FILE_MODE, 0100644 << 16);
        GSF_LE_SET_GUINT32 (buf + ZIP_DIRENT_OFFSET, dirent->offset);
 
        ret = gsf_output_write (sink, sizeof buf, buf);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]