From 30ac1dcf377cd8937aa3f8b1fc845a6297f0b643 Mon Sep 17 00:00:00 2001
From: tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>
Date: Sat, 21 Aug 2010 23:42:39 +0000
Subject: Fixed the majority of the xz and lzma handling code There may still
 be an issue with the compress as menu and tar.lzma support, however it is
 relatively minor

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1166484 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
---
 kio/kio/ktar.cpp                    | 8 +++++++-
 mimetypes/application/x-txz.desktop | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/kio/kio/ktar.cpp b/kio/kio/ktar.cpp
index 0d508329a..0b77fff52 100644
--- a/kio/kio/ktar.cpp
+++ b/kio/kio/ktar.cpp
@@ -101,7 +101,7 @@ KTar::KTar( const TQString& filename, const TQString & _mimetype )
                     if ( fourthByte == 4 )
                         mimetype = "application/x-zip";
                 }
-		else if ( firstByte == '\xFD' && secondByte == '7' && thirdByte == 'z' )
+		else if ( firstByte == 0xfd && secondByte == '7' && thirdByte == 'z' )
 		{
 			unsigned char fourthByte = file.getch();
 			unsigned char fifthByte = file.getch();
@@ -109,6 +109,12 @@ KTar::KTar( const TQString& filename, const TQString & _mimetype )
 			if ( fourthByte == 'X' && fifthByte == 'Z' && sixthByte == 0x00 )
 				mimetype = "application/x-xz";
 		}
+		else if ( firstByte == 0x5d && secondByte == 0x00 && thirdByte == 0x00 )
+		{
+			unsigned char fourthByte = file.getch();
+			if ( fourthByte == 0x80 )
+				mimetype = "application/x-lzma";
+		}
             }
             file.close();
         }
diff --git a/mimetypes/application/x-txz.desktop b/mimetypes/application/x-txz.desktop
index 52b489b83..81c4330ff 100644
--- a/mimetypes/application/x-txz.desktop
+++ b/mimetypes/application/x-txz.desktop
@@ -1,7 +1,7 @@
 [Desktop Entry]
 Type=MimeType
 MimeType=application/x-txz
-Icon=txz
+Icon=tgz
 Patterns=*.tar.xz;*.txz;
 Comment=Xzipped Tar Archive
 Comment[af]=Xzip gekompakteerde Tar Argief
-- 
cgit v1.2.3

