Annotation of /trunk/xarchiver/patches/xarchiver-0.5.2-xz-support.patch
Parent Directory | Revision Log
Revision 1581 -
(hide annotations)
(download)
Mon Nov 28 20:22:05 2011 UTC (12 years, 6 months ago) by niro
File size: 14741 byte(s)
Mon Nov 28 20:22:05 2011 UTC (12 years, 6 months ago) by niro
File size: 14741 byte(s)
-adding xarchiver patches
1 | niro | 1581 | Patch from: http://slackbuilds.org/repository/13.1/system/xarchiver/ |
2 | |||
3 | Not submitted upstream because the upstream author rewrote the code. So, this | ||
4 | patch may be dropped when/if upstream releases a new version | ||
5 | |||
6 | diff -Nur xarchiver-0.5.2.orig/src/add_dialog.c xarchiver-0.5.2/src/add_dialog.c | ||
7 | --- xarchiver-0.5.2.orig/src/add_dialog.c 2008-11-10 04:41:31.000000000 -0600 | ||
8 | +++ xarchiver-0.5.2/src/add_dialog.c 2009-11-30 13:17:54.983349491 -0600 | ||
9 | @@ -209,7 +209,7 @@ | ||
10 | else | ||
11 | gtk_widget_set_size_request (add_dialog->dialog1,530,420); | ||
12 | |||
13 | - if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_LZOP) | ||
14 | + if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) | ||
15 | gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(add_dialog->filechooserwidget1),FALSE); | ||
16 | else | ||
17 | gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(add_dialog->filechooserwidget1),TRUE); | ||
18 | @@ -222,7 +222,7 @@ | ||
19 | else | ||
20 | gtk_widget_set_sensitive(add_dialog->store_path,TRUE); | ||
21 | /* 7z doesn't appear to let the user chooses if storing full paths */ | ||
22 | - if (archive->type == XARCHIVETYPE_7ZIP || archive->type == XARCHIVETYPE_LZOP || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA) | ||
23 | + if (archive->type == XARCHIVETYPE_7ZIP || archive->type == XARCHIVETYPE_LZOP || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ ) | ||
24 | { | ||
25 | flag = FALSE; | ||
26 | } | ||
27 | @@ -244,7 +244,7 @@ | ||
28 | flag = TRUE; | ||
29 | gtk_widget_set_sensitive(add_dialog->solid_archive,flag); | ||
30 | |||
31 | - if (archive->type != XARCHIVETYPE_TAR && archive->type != XARCHIVETYPE_TAR_GZ && archive->type != XARCHIVETYPE_TAR_LZMA && archive->type != XARCHIVETYPE_TAR_BZ2 && archive->type != XARCHIVETYPE_TAR_LZOP) | ||
32 | + if (archive->type != XARCHIVETYPE_TAR && archive->type != XARCHIVETYPE_TAR_GZ && archive->type != XARCHIVETYPE_TAR_LZMA && archive->type != XARCHIVETYPE_TAR_XZ && archive->type != XARCHIVETYPE_TAR_BZ2 && archive->type != XARCHIVETYPE_TAR_LZOP) | ||
33 | { | ||
34 | flag = TRUE; | ||
35 | if (archive->type == XARCHIVETYPE_7ZIP) | ||
36 | @@ -306,7 +306,7 @@ | ||
37 | g_signal_connect (G_OBJECT (add_dialog->compression_value),"value-changed",G_CALLBACK (fix_adjustment_value), NULL); | ||
38 | gtk_tooltips_set_tip (add_dialog->option_tooltip,add_dialog->compression_scale, compression_msg, NULL ); | ||
39 | |||
40 | - if (archive->type == XARCHIVETYPE_TAR || archive->type == XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA || archive->type == XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_LZOP) | ||
41 | + if (archive->type == XARCHIVETYPE_TAR || archive->type == XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA || archive->type == XARCHIVETYPE_TAR_XZ || archive->type == XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_LZOP) | ||
42 | flag = FALSE; | ||
43 | else | ||
44 | flag = TRUE; | ||
45 | diff -Nur xarchiver-0.5.2.orig/src/archive.h xarchiver-0.5.2/src/archive.h | ||
46 | --- xarchiver-0.5.2.orig/src/archive.h 2008-11-07 02:49:41.000000000 -0600 | ||
47 | +++ xarchiver-0.5.2/src/archive.h 2009-11-30 13:17:54.984326164 -0600 | ||
48 | @@ -30,6 +30,7 @@ | ||
49 | XARCHIVETYPE_BZIP2, | ||
50 | XARCHIVETYPE_GZIP, | ||
51 | XARCHIVETYPE_LZMA, | ||
52 | + XARCHIVETYPE_XZ, | ||
53 | XARCHIVETYPE_LZOP, | ||
54 | XARCHIVETYPE_RAR, | ||
55 | XARCHIVETYPE_RPM, | ||
56 | @@ -37,6 +38,7 @@ | ||
57 | XARCHIVETYPE_TAR_BZ2, | ||
58 | XARCHIVETYPE_TAR_GZ, | ||
59 | XARCHIVETYPE_TAR_LZMA, | ||
60 | + XARCHIVETYPE_TAR_XZ, | ||
61 | XARCHIVETYPE_TAR_LZOP, | ||
62 | XARCHIVETYPE_ZIP, | ||
63 | XARCHIVETYPE_LHA, | ||
64 | diff -Nur xarchiver-0.5.2.orig/src/bzip2.c xarchiver-0.5.2/src/bzip2.c | ||
65 | --- xarchiver-0.5.2.orig/src/bzip2.c 2008-11-10 05:17:48.000000000 -0600 | ||
66 | +++ xarchiver-0.5.2/src/bzip2.c 2009-11-30 13:17:54.984326164 -0600 | ||
67 | @@ -54,6 +54,15 @@ | ||
68 | archive->extract = extract[archive->type]; | ||
69 | xa_open_tar_compressed_file(archive); | ||
70 | } | ||
71 | + else if (g_str_has_suffix(archive->escaped_path,".tar.xz") || g_str_has_suffix (archive->escaped_path,".txz")) | ||
72 | + { | ||
73 | + archive->type = XARCHIVETYPE_TAR_XZ; | ||
74 | + archive->format = "TAR.XZ"; | ||
75 | + archive->delete = delete[archive->type]; | ||
76 | + archive->add = add[archive->type]; | ||
77 | + archive->extract = extract[archive->type]; | ||
78 | + xa_open_tar_compressed_file(archive); | ||
79 | + } | ||
80 | else if (g_str_has_suffix(archive->escaped_path,".tar.lzop") || | ||
81 | g_str_has_suffix (archive->escaped_path,".tzo") || | ||
82 | g_str_has_suffix(archive->escaped_path,".tar.lzo")) | ||
83 | @@ -85,6 +94,12 @@ | ||
84 | executable = "lzma "; | ||
85 | len = 5; | ||
86 | } | ||
87 | + else if (archive->type == XARCHIVETYPE_XZ) | ||
88 | + { | ||
89 | + archive->format = "XZ"; | ||
90 | + executable = "xz "; | ||
91 | + len = 5; | ||
92 | + } | ||
93 | else if (archive->type == XARCHIVETYPE_LZOP) | ||
94 | { | ||
95 | archive->format = "LZOP"; | ||
96 | @@ -163,6 +178,8 @@ | ||
97 | command = g_strconcat(tar," tfjv ",archive->escaped_path,NULL); | ||
98 | else if (archive->type == XARCHIVETYPE_TAR_LZMA) | ||
99 | command = g_strconcat(tar," tv --use-compress-program=lzma -f ",archive->escaped_path,NULL); | ||
100 | + else if (archive->type == XARCHIVETYPE_TAR_XZ) | ||
101 | + command = g_strconcat(tar," tv --use-compress-program=xz -f ",archive->escaped_path,NULL); | ||
102 | else if (archive->type == XARCHIVETYPE_TAR_LZOP) | ||
103 | command = g_strconcat(tar," tv --use-compress-program=lzop -f ",archive->escaped_path,NULL); | ||
104 | /* else fail? */ | ||
105 | @@ -205,6 +222,11 @@ | ||
106 | executable = "lzma "; | ||
107 | len = 5; | ||
108 | } | ||
109 | + else if (archive->type == XARCHIVETYPE_XZ) | ||
110 | + { | ||
111 | + executable = "xz "; | ||
112 | + len = 5; | ||
113 | + } | ||
114 | else if (archive->type == XARCHIVETYPE_LZOP) | ||
115 | { | ||
116 | executable = "lzop "; | ||
117 | diff -Nur xarchiver-0.5.2.orig/src/extract_dialog.c xarchiver-0.5.2/src/extract_dialog.c | ||
118 | --- xarchiver-0.5.2.orig/src/extract_dialog.c 2008-11-10 04:28:11.000000000 -0600 | ||
119 | +++ xarchiver-0.5.2/src/extract_dialog.c 2009-11-30 13:17:54.985326653 -0600 | ||
120 | @@ -815,6 +815,11 @@ | ||
121 | archive->type = XARCHIVETYPE_TAR_LZMA; | ||
122 | archive->extract = extract[XARCHIVETYPE_TAR_LZMA]; | ||
123 | } | ||
124 | + else if (g_str_has_suffix(archive->escaped_path,".tar.xz")|| g_str_has_suffix (archive->escaped_path,".txz")) | ||
125 | + { | ||
126 | + archive->type = XARCHIVETYPE_TAR_XZ; | ||
127 | + archive->extract = extract[XARCHIVETYPE_TAR_XZ]; | ||
128 | + } | ||
129 | else if (g_str_has_suffix(archive->escaped_path,".tar.lzop") || | ||
130 | g_str_has_suffix (archive->escaped_path,".tzo") || | ||
131 | g_str_has_suffix(archive->escaped_path,".tar.lzo")) | ||
132 | diff -Nur xarchiver-0.5.2.orig/src/main.c xarchiver-0.5.2/src/main.c | ||
133 | --- xarchiver-0.5.2.orig/src/main.c 2008-11-10 05:21:43.000000000 -0600 | ||
134 | +++ xarchiver-0.5.2/src/main.c 2009-11-30 13:17:54.986351656 -0600 | ||
135 | @@ -296,9 +296,10 @@ | ||
136 | open_archive[XARCHIVETYPE_BZIP2] = &xa_open_bzip2_lzma; | ||
137 | open_archive[XARCHIVETYPE_GZIP] = &xa_open_gzip; | ||
138 | open_archive[XARCHIVETYPE_LZMA] = &xa_open_bzip2_lzma; | ||
139 | + open_archive[XARCHIVETYPE_XZ] = &xa_open_bzip2_lzma; | ||
140 | open_archive[XARCHIVETYPE_RAR] = &xa_open_rar; | ||
141 | open_archive[XARCHIVETYPE_RPM] = &xa_open_rpm; | ||
142 | - open_archive[XARCHIVETYPE_TAR] = open_archive[XARCHIVETYPE_TAR_BZ2] = open_archive[XARCHIVETYPE_TAR_GZ] = open_archive[XARCHIVETYPE_TAR_LZMA] = open_archive[XARCHIVETYPE_TAR_LZOP] = &xa_open_tar; | ||
143 | + open_archive[XARCHIVETYPE_TAR] = open_archive[XARCHIVETYPE_TAR_BZ2] = open_archive[XARCHIVETYPE_TAR_GZ] = open_archive[XARCHIVETYPE_TAR_LZMA] = open_archive[XARCHIVETYPE_TAR_XZ] = open_archive[XARCHIVETYPE_TAR_LZOP] = &xa_open_tar; | ||
144 | open_archive[XARCHIVETYPE_ZIP] = &xa_open_zip; | ||
145 | open_archive[XARCHIVETYPE_LHA] = &xa_open_lha; | ||
146 | open_archive[XARCHIVETYPE_LZOP] = &xa_open_bzip2_lzma; | ||
147 | @@ -310,6 +311,7 @@ | ||
148 | delete[XARCHIVETYPE_BZIP2] = 0; | ||
149 | delete[XARCHIVETYPE_GZIP] = 0; | ||
150 | delete[XARCHIVETYPE_LZMA] = 0; | ||
151 | + delete[XARCHIVETYPE_XZ] = 0; | ||
152 | delete[XARCHIVETYPE_RAR] = &xa_rar_delete; | ||
153 | delete[XARCHIVETYPE_RPM] = 0; | ||
154 | delete[XARCHIVETYPE_TAR] = delete[XARCHIVETYPE_TAR_BZ2] = delete[XARCHIVETYPE_TAR_GZ] = delete[XARCHIVETYPE_TAR_LZMA] = delete[XARCHIVETYPE_TAR_LZOP] = &xa_tar_delete; | ||
155 | @@ -325,7 +327,7 @@ | ||
156 | add[XARCHIVETYPE_BZIP2] = add[XARCHIVETYPE_GZIP] = add[XARCHIVETYPE_LZMA] = &xa_tar_add; | ||
157 | add[XARCHIVETYPE_RAR] = &xa_rar_add; | ||
158 | add[XARCHIVETYPE_RPM] = 0; | ||
159 | - add[XARCHIVETYPE_TAR] = add[XARCHIVETYPE_TAR_BZ2] = add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add; | ||
160 | + add[XARCHIVETYPE_TAR] = add[XARCHIVETYPE_TAR_BZ2] = add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = add[XARCHIVETYPE_TAR_XZ] = add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add; | ||
161 | add[XARCHIVETYPE_ZIP] = &xa_zip_add; | ||
162 | add[XARCHIVETYPE_LHA] = &xa_lha_add; | ||
163 | add[XARCHIVETYPE_LZOP] = &xa_tar_add; | ||
164 | @@ -337,7 +339,7 @@ | ||
165 | extract[XARCHIVETYPE_BZIP2] = extract[XARCHIVETYPE_GZIP] = extract[XARCHIVETYPE_LZMA] = &xa_tar_extract; | ||
166 | extract[XARCHIVETYPE_RAR] = &xa_rar_extract; | ||
167 | extract[XARCHIVETYPE_RPM] = &xa_rpm_extract; | ||
168 | - extract[XARCHIVETYPE_TAR] = extract[XARCHIVETYPE_TAR_BZ2] = extract[XARCHIVETYPE_TAR_GZ] = extract[XARCHIVETYPE_TAR_LZMA] = extract[XARCHIVETYPE_TAR_LZOP] = &xa_tar_extract; | ||
169 | + extract[XARCHIVETYPE_TAR] = extract[XARCHIVETYPE_TAR_BZ2] = extract[XARCHIVETYPE_TAR_GZ] = extract[XARCHIVETYPE_TAR_LZMA] = extract[XARCHIVETYPE_TAR_XZ] = extract[XARCHIVETYPE_TAR_LZOP] = &xa_tar_extract; | ||
170 | extract[XARCHIVETYPE_ZIP] = &xa_zip_extract; | ||
171 | extract[XARCHIVETYPE_LHA] = &xa_lha_extract; | ||
172 | extract[XARCHIVETYPE_LZOP] = &xa_tar_extract; | ||
173 | @@ -348,7 +350,7 @@ | ||
174 | test[XARCHIVETYPE_DEB] = test[XARCHIVETYPE_BZIP2] = test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = 0; | ||
175 | test[XARCHIVETYPE_RAR] = &xa_rar_test; | ||
176 | test[XARCHIVETYPE_RPM] = 0; | ||
177 | - test[XARCHIVETYPE_TAR] = test[XARCHIVETYPE_TAR_BZ2] = test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = test[XARCHIVETYPE_TAR_LZOP] = 0; | ||
178 | + test[XARCHIVETYPE_TAR] = test[XARCHIVETYPE_TAR_BZ2] = test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = test[XARCHIVETYPE_TAR_XZ] = test[XARCHIVETYPE_TAR_LZOP] = 0; | ||
179 | test[XARCHIVETYPE_ZIP] = &xa_zip_test; | ||
180 | test[XARCHIVETYPE_LHA] = &xa_lha_test; | ||
181 | test[XARCHIVETYPE_LZOP] = 0; | ||
182 | @@ -392,6 +394,14 @@ | ||
183 | g_free (absolute_path); | ||
184 | } | ||
185 | |||
186 | + absolute_path = g_find_program_in_path("xz"); | ||
187 | + if ( absolute_path ) | ||
188 | + { | ||
189 | + ArchiveType = g_list_append(ArchiveType, "xz"); | ||
190 | + ArchiveSuffix = g_list_append(ArchiveSuffix, "*.xz"); | ||
191 | + g_free (absolute_path); | ||
192 | + } | ||
193 | + | ||
194 | absolute_path = g_find_program_in_path("lzop"); | ||
195 | if ( absolute_path ) | ||
196 | { | ||
197 | @@ -460,6 +470,11 @@ | ||
198 | ArchiveType = g_list_append(ArchiveType, "tar.lzma"); | ||
199 | ArchiveSuffix = g_list_append(ArchiveSuffix, "*.tlz"); | ||
200 | } | ||
201 | + if ( g_list_find ( ArchiveType , "xz") ) | ||
202 | + { | ||
203 | + ArchiveType = g_list_append(ArchiveType, "tar.xz"); | ||
204 | + ArchiveSuffix = g_list_append(ArchiveSuffix, "*.txz"); | ||
205 | + } | ||
206 | if ( g_list_find ( ArchiveType , "lzo") ) | ||
207 | { | ||
208 | ArchiveType = g_list_append(ArchiveType, "tar.lzo"); | ||
209 | @@ -528,6 +543,8 @@ | ||
210 | archive->type = XARCHIVETYPE_TAR_GZ; | ||
211 | else if ( g_str_has_suffix ( archive->escaped_path , ".tar.lzma") || g_str_has_suffix ( archive->escaped_path , ".tlz") ) | ||
212 | archive->type = XARCHIVETYPE_TAR_LZMA; | ||
213 | + else if ( g_str_has_suffix ( archive->escaped_path , ".tar.xz") || g_str_has_suffix ( archive->escaped_path , ".txz") ) | ||
214 | + archive->type = XARCHIVETYPE_TAR_XZ; | ||
215 | else if ( g_str_has_suffix ( archive->escaped_path , ".tar.lzo") || | ||
216 | g_str_has_suffix ( archive->escaped_path , ".tzo") || | ||
217 | g_str_has_suffix ( archive->escaped_path , ".tar.lzop")) | ||
218 | diff -Nur xarchiver-0.5.2.orig/src/new_dialog.c xarchiver-0.5.2/src/new_dialog.c | ||
219 | --- xarchiver-0.5.2.orig/src/new_dialog.c 2008-11-11 02:28:46.000000000 -0600 | ||
220 | +++ xarchiver-0.5.2/src/new_dialog.c 2009-11-30 13:17:54.987349701 -0600 | ||
221 | @@ -202,6 +202,8 @@ | ||
222 | type = XARCHIVETYPE_GZIP; | ||
223 | else if (strcmp ( ComboArchiveType,"lzma") == 0) | ||
224 | type = XARCHIVETYPE_LZMA; | ||
225 | + else if (strcmp ( ComboArchiveType,"xz") == 0) | ||
226 | + type = XARCHIVETYPE_XZ; | ||
227 | else if (strcmp ( ComboArchiveType,"lzo") == 0) | ||
228 | type = XARCHIVETYPE_LZOP; | ||
229 | else if (strcmp ( ComboArchiveType,"rar") == 0) | ||
230 | @@ -214,6 +216,8 @@ | ||
231 | type = XARCHIVETYPE_TAR_GZ; | ||
232 | else if (strcmp ( ComboArchiveType,"tar.lzma") == 0) | ||
233 | type = XARCHIVETYPE_TAR_LZMA; | ||
234 | + else if (strcmp ( ComboArchiveType,"tar.xz") == 0) | ||
235 | + type = XARCHIVETYPE_TAR_XZ; | ||
236 | else if (strcmp ( ComboArchiveType,"tar.lzo") == 0) | ||
237 | type = XARCHIVETYPE_TAR_LZOP; | ||
238 | else if (strcmp ( ComboArchiveType,"jar") == 0 || strcmp ( ComboArchiveType,"zip") == 0 ) | ||
239 | diff -Nur xarchiver-0.5.2.orig/src/tar.c xarchiver-0.5.2/src/tar.c | ||
240 | --- xarchiver-0.5.2.orig/src/tar.c 2008-11-10 04:28:34.000000000 -0600 | ||
241 | +++ xarchiver-0.5.2/src/tar.c 2009-11-30 13:19:34.037344951 -0600 | ||
242 | @@ -242,6 +242,17 @@ | ||
243 | files->str , NULL ); | ||
244 | break; | ||
245 | |||
246 | + case XARCHIVETYPE_TAR_XZ: | ||
247 | + if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS ) ) | ||
248 | + xa_add_delete_bzip2_gzip_lzma_compressed_tar (files,archive,1); | ||
249 | + else | ||
250 | + command = g_strconcat (tar, " ", | ||
251 | + archive->add_recurse ? "" : "--no-recursion ", | ||
252 | + archive->remove_files ? "--remove-files " : "", | ||
253 | + "--use-compress-program=xz -cvvf ",archive->escaped_path, | ||
254 | + files->str , NULL ); | ||
255 | + break; | ||
256 | + | ||
257 | case XARCHIVETYPE_TAR_LZOP: | ||
258 | if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS ) ) | ||
259 | xa_add_delete_bzip2_gzip_lzma_compressed_tar (files,archive,1); | ||
260 | @@ -449,6 +460,10 @@ | ||
261 | executable = "lzma -f "; | ||
262 | filename = "dummy.lzma"; | ||
263 | break; | ||
264 | + case XARCHIVETYPE_TAR_XZ: | ||
265 | + executable = "xz -f "; | ||
266 | + filename = "dummy.xz"; | ||
267 | + break; | ||
268 | case XARCHIVETYPE_TAR_LZOP: | ||
269 | executable = "lzop -f "; | ||
270 | filename = "dummy.lzo"; | ||
271 | diff -Nur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c | ||
272 | --- xarchiver-0.5.2.orig/src/window.c 2008-11-11 02:31:45.000000000 -0600 | ||
273 | +++ xarchiver-0.5.2/src/window.c 2009-11-30 13:17:54.990326583 -0600 | ||
274 | @@ -1125,6 +1125,8 @@ | ||
275 | xx = XARCHIVETYPE_GZIP; | ||
276 | else if (memcmp ( magic,"\x5d\x00\x00\x80",4) == 0) | ||
277 | xx = XARCHIVETYPE_LZMA; | ||
278 | + else if (memcmp ( magic,"\xFD7zXZ\x00\0x00",3) || memcmp ( magic, "\xFD7zXZ\x00\0x10",3) == 0) | ||
279 | + xx = XARCHIVETYPE_XZ; | ||
280 | else if (memcmp ( magic,"\211LZO",4) == 0) | ||
281 | xx = XARCHIVETYPE_LZOP; | ||
282 | else if (memcmp ( magic,"\xed\xab\xee\xdb",4) == 0) | ||
283 | @@ -1462,6 +1464,7 @@ | ||
284 | case XARCHIVETYPE_GZIP: | ||
285 | case XARCHIVETYPE_BZIP2: | ||
286 | case XARCHIVETYPE_LZMA: | ||
287 | + case XARCHIVETYPE_XZ: | ||
288 | case XARCHIVETYPE_LZOP: | ||
289 | case XARCHIVETYPE_RPM: | ||
290 | pos = 3; | ||
291 | @@ -1481,6 +1484,7 @@ | ||
292 | case XARCHIVETYPE_TAR_GZ: | ||
293 | case XARCHIVETYPE_TAR_BZ2: | ||
294 | case XARCHIVETYPE_TAR_LZMA: | ||
295 | + case XARCHIVETYPE_TAR_XZ: | ||
296 | case XARCHIVETYPE_TAR_LZOP: | ||
297 | case XARCHIVETYPE_TAR: | ||
298 | case XARCHIVETYPE_ZIP: | ||
299 | @@ -1525,6 +1529,7 @@ | ||
300 | case XARCHIVETYPE_GZIP: | ||
301 | case XARCHIVETYPE_BZIP2: | ||
302 | case XARCHIVETYPE_LZMA: | ||
303 | + case XARCHIVETYPE_XZ: | ||
304 | case XARCHIVETYPE_LZOP: | ||
305 | case XARCHIVETYPE_RPM: | ||
306 | pos = 3; | ||
307 | @@ -1544,6 +1549,7 @@ | ||
308 | case XARCHIVETYPE_TAR_GZ: | ||
309 | case XARCHIVETYPE_TAR_BZ2: | ||
310 | case XARCHIVETYPE_TAR_LZMA: | ||
311 | + case XARCHIVETYPE_TAR_XZ: | ||
312 | case XARCHIVETYPE_TAR_LZOP: | ||
313 | case XARCHIVETYPE_TAR: | ||
314 | case XARCHIVETYPE_ZIP: |