summaryrefslogtreecommitdiff
path: root/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch')
-rw-r--r--libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch110
1 files changed, 0 insertions, 110 deletions
diff --git a/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch b/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch
deleted file mode 100644
index f7ff098c0..000000000
--- a/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-diff -Nur xarchiver-0.5.2.orig/src/7zip.c xarchiver-0.5.2/src/7zip.c
---- xarchiver-0.5.2.orig/src/7zip.c 2008-10-25 00:41:17.000000000 +1300
-+++ xarchiver-0.5.2/src/7zip.c 2010-12-15 11:24:26.000000000 +1300
-@@ -64,15 +64,14 @@
- XEntry *entry;
- gchar *filename;
- gpointer item[5];
-- gint linesize = 0,n = 0,a = 0;
-- gboolean dir = FALSE;
-+ gint linesize = 0,a = 0;
-
- if (last_line)
- return;
-
- if (jump_header == FALSE)
- {
-- if (line[0] == '-')
-+ if ((line[0] == '-') && (line[3] != NULL))
- {
- jump_header = TRUE;
- return;
-@@ -93,71 +92,42 @@
- item[4] = line;
-
- /* Time */
-- for(n=13; n < linesize; ++n)
-- if(line[n] == ' ')
-- break;
-- line[n] = '\0';
-+ line[19] = '\0';
- item[3] = line + 11;
-- a = ++n;
-
- /* Permissions */
-- for(; n < linesize; n++)
-- if(line[n] == ' ')
-- break;
-- line[n] = '\0';
-- if ((line+a)[0] == 'D')
-- dir = TRUE;
-- item[2] = line + a;
-+ line[25] = '\0';
-+ item[2] = line + 20;
-
- /* Size */
-- for(++n; n < linesize; ++n)
-- if(line[n] >= '0' && line[n] <= '9')
-+ for(a=26; a < linesize; ++a)
-+ if(line[a] >= '0' && line[a] <= '9')
- break;
-- a = n;
-
-- for(; n < linesize; ++n)
-- if(line[n] == ' ')
-- break;
--
-- line[n] = '\0';
-+ line[38] = '\0';
- item[0] = line + a;
- archive->dummy_size += g_ascii_strtoull(item[0],NULL,0);
-
- /* Compressed */
-- for(++n; n < linesize; ++n)
-- if(line[n] >= '0' && line[n] <= '9')
-- break;
-- a = n;
--
-- for(; n < linesize; ++n)
-- if(line[n] == ' ')
-- break;
--
-- line[n] = '\0';
--
-- if (line[50] != ' ')
-+ /* Is this item solid? */
-+ if (line[50] == ' ')
- {
-- n+=2;
-- item[1] = line + a;
- line[linesize-1] = '\0';
-- filename = g_strdup(line + n);
-+ filename = g_strdup(line + 53);
- }
-- /* Is this a solid archive? */
-+
- else
- {
-- item[1] = "0";
-- line[n-1] = '\0';
-+ for(a=39; a < linesize; ++a)
-+ if(line[a] >= '0' && line[a] <= '9')
-+ break;
-+
-+ line[51] = '\0';
-+ item[1] = line + a;
-+ line[linesize-1] = '\0';
- filename = g_strdup(line + 53);
- }
-
-- /* Work around for 7za which doesn't
-- * output / with directories */
-- if (dir)
-- {
-- gchar *filename_with_slash = g_strconcat (filename,"/",NULL);
-- g_free (filename);
-- filename = filename_with_slash;
-- }
- entry = xa_set_archive_entries_for_each_row (archive,filename,item);
- g_free(filename);
- }