tags 862593 + patch
thanks
The archive gets overwritten as the test to see whether it already exists
(to determine whether to create a new one or simply add a new file) uses
an escaped path.
Patch attached.
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` [email protected] / chris-lamb.co.uk
`-
diff --git a/src/tar.c b/src/tar.c
index b7d23f8..bd035ca 100644
--- a/src/tar.c
+++ b/src/tar.c
@@ -197,7 +197,7 @@ void xa_tar_add (XArchive *archive,GString *files,gchar
*compression_string)
switch (archive->type)
{
case XARCHIVETYPE_TAR:
- if ( g_file_test (archive->escaped_path,G_FILE_TEST_EXISTS))
+ if ( g_file_test (archive->path,G_FILE_TEST_EXISTS))
command = g_strconcat (tar, " ",
archive->add_recurse ? "" : "--no-recursion ",
archive->remove_files ? "--remove-files " : "",
@@ -213,7 +213,7 @@ void xa_tar_add (XArchive *archive,GString *files,gchar
*compression_string)
break;
case XARCHIVETYPE_TAR_BZ2:
- if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS )
)
+ if ( g_file_test ( archive->path , G_FILE_TEST_EXISTS ) )
xa_add_delete_bzip2_gzip_lzma_compressed_tar
(files,archive,1);
else
command = g_strconcat (tar, " ",
@@ -224,7 +224,7 @@ void xa_tar_add (XArchive *archive,GString *files,gchar
*compression_string)
break;
case XARCHIVETYPE_TAR_GZ:
- if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS )
)
+ if ( g_file_test ( archive->path , G_FILE_TEST_EXISTS ) )
xa_add_delete_bzip2_gzip_lzma_compressed_tar
(files,archive,1);
else
command = g_strconcat (tar, " ",
@@ -235,7 +235,7 @@ void xa_tar_add (XArchive *archive,GString *files,gchar
*compression_string)
break;
case XARCHIVETYPE_TAR_LZMA:
- if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS )
)
+ if ( g_file_test ( archive->path , G_FILE_TEST_EXISTS ) )
xa_add_delete_bzip2_gzip_lzma_compressed_tar
(files,archive,1);
else
command = g_strconcat (tar, " ",
@@ -246,7 +246,7 @@ void xa_tar_add (XArchive *archive,GString *files,gchar
*compression_string)
break;
case XARCHIVETYPE_TAR_XZ:
- if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS )
)
+ if ( g_file_test ( archive->path , G_FILE_TEST_EXISTS ) )
xa_add_delete_bzip2_gzip_lzma_compressed_tar
(files,archive,1);
else
command = g_strconcat (tar, " ",
@@ -257,7 +257,7 @@ void xa_tar_add (XArchive *archive,GString *files,gchar
*compression_string)
break;
case XARCHIVETYPE_TAR_LZOP:
- if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS )
)
+ if ( g_file_test ( archive->path , G_FILE_TEST_EXISTS ) )
xa_add_delete_bzip2_gzip_lzma_compressed_tar
(files,archive,1);
else
command = g_strconcat (tar, " ",