diff options
Diffstat (limited to 'opensuse/tdelibs/kdelibs-3.5.10-kio.patch')
-rw-r--r-- | opensuse/tdelibs/kdelibs-3.5.10-kio.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/opensuse/tdelibs/kdelibs-3.5.10-kio.patch b/opensuse/tdelibs/kdelibs-3.5.10-kio.patch new file mode 100644 index 000000000..9fb299d4a --- /dev/null +++ b/opensuse/tdelibs/kdelibs-3.5.10-kio.patch @@ -0,0 +1,47 @@ +--- kdelibs-3.5.10/kio/kio/kzip.cpp.orig 2009-12-09 18:42:47.000000000 +0100 ++++ kdelibs-3.5.10/kio/kio/kzip.cpp 2009-12-09 18:45:43.000000000 +0100 +@@ -1051,6 +1051,20 @@ + return true; + } + ++bool KZip::writeDir(const QString& name, const QString& user, const QString& group) ++{ ++ // Zip files have no explicit directories, they are implicitly created during extraction time ++ // when file entries have paths in them. ++ // However, to support empty directories, we must create a dummy file entry which ends with '/'. ++ QString dirName = name; ++ if (!name.endsWith("/")) ++ dirName = dirName.append('/'); ++ ++ mode_t perm = 040755; ++ time_t the_time = time(0); ++ return writeFile(dirName, user, group, 0, perm, the_time, the_time, the_time, 0); ++} ++ + // Doesn't need to be reimplemented anymore. Remove for KDE-4.0 + bool KZip::writeFile( const QString& name, const QString& user, const QString& group, uint size, const char* data ) + { +@@ -1114,7 +1128,7 @@ + } + + // delete entries in the filelist with the same filename as the one we want +- // to save, so that we don´t have duplicate file entries when viewing the zip ++ // to save, so that we don�t have duplicate file entries when viewing the zip + // with konqi... + // CAUTION: the old file itself is still in the zip and won't be removed !!! + QPtrListIterator<KZipFileEntry> it( d->m_fileList ); +diff -up kdelibs-3.5.10/kio/kio/kzip.h.orig kdelibs-3.5.10/kio/kio/kzip.h +--- kdelibs-3.5.10/kio/kio/kzip.h.orig 2009-12-09 19:35:42.000000000 +0100 ++++ kdelibs-3.5.10/kio/kio/kzip.h 2009-12-09 19:35:48.000000000 +0100 +@@ -191,10 +191,7 @@ protected: + /// Closes the archive + virtual bool closeArchive(); + +- /** +- * @internal Not needed for zip +- */ +- virtual bool writeDir( const QString& name, const QString& user, const QString& group) { Q_UNUSED(name); Q_UNUSED(user); Q_UNUSED(group); return true; } ++ virtual bool writeDir(const QString& name, const QString& user, const QString& group); + // TODO(BIC) uncomment and make virtual for KDE 4. + // bool writeDir( const QString& name, const QString& user, const QString& group, + // mode_t perm, time_t atime, time_t mtime, time_t ctime ); |