You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-packaging/opensuse/tdelibs/kdelibs-3.5.10-kio.patch

48 lines
2.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

--- 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 );