[Xfce4-commits] r22607 - in xarchiver/trunk: . src

Giuseppe Torelli colossus at xfce.org
Tue Aug 1 13:21:12 UTC 2006


Author: colossus
Date: 2006-08-01 13:21:09 +0000 (Tue, 01 Aug 2006)
New Revision: 22607

Modified:
   xarchiver/trunk/TODO
   xarchiver/trunk/src/callbacks.c
   xarchiver/trunk/src/iso.c
Log:
Fixed extraction of ISO images.


Modified: xarchiver/trunk/TODO
===================================================================
--- xarchiver/trunk/TODO	2006-08-01 12:05:11 UTC (rev 22606)
+++ xarchiver/trunk/TODO	2006-08-01 13:21:09 UTC (rev 22607)
@@ -1,8 +1,7 @@
 + iso
   - add display of ID's inside the ISO plus image type [PARTIALLY DONE].
-  - fix the extraction of single files with full path.
 
-- to fix bugs #1736.
+- fix bug #1736.
 - switching by right clicking on the toolbar to icons with text/ no text/ small icons.
 - create a routine for handling the sensitiveness of the buttons, window title [MAYBE ??]
 - add a small progress window when using Xarchiver cmd-line switches.

Modified: xarchiver/trunk/src/callbacks.c
===================================================================
--- xarchiver/trunk/src/callbacks.c	2006-08-01 12:05:11 UTC (rev 22606)
+++ xarchiver/trunk/src/callbacks.c	2006-08-01 13:21:09 UTC (rev 22607)
@@ -1452,6 +1452,7 @@
 	{
         if (is_escaped_char(*p))
 			escapechars++;
+		/* The following is mine */
 		else if ( doublesquare && (*p == '[' || *p == ']') )
 			escapechars += 2;
 		p++;
@@ -1468,6 +1469,7 @@
 	{
         if (is_escaped_char(*p))
 			*q++ = '\\';
+		/* The following is mine */
 		else if ( doublesquare && (*p == '[' || *p == ']') )
 		{
 			*q++ = '\\';

Modified: xarchiver/trunk/src/iso.c
===================================================================
--- xarchiver/trunk/src/iso.c	2006-08-01 12:05:11 UTC (rev 22606)
+++ xarchiver/trunk/src/iso.c	2006-08-01 13:21:09 UTC (rev 22607)
@@ -503,18 +503,18 @@
 			multiple_directories = remove_level_from_path ( _filename );
 			final_path = g_strconcat (destination_path, multiple_directories,NULL);
 			g_free (multiple_directories);
-			if (xa_create_directory_for_iso_extraction ( archive , final_path ))
+			if ( ! xa_create_directory_for_iso_extraction ( archive , final_path ))
 			{
 				g_free (final_path);
 				return FALSE;
 			}
 			g_free (final_path);
 		}
-		final_path = g_strconcat (destination_path, _filename, NULL);
-		result = xa_write_file_to_disk ( archive->path, final_path, file_size, file_offset );
-		g_free (final_path);
-		return result;
 	}
+	final_path = g_strconcat (destination_path, _filename, NULL);
+	result = xa_write_file_to_disk ( archive->path, final_path, file_size, file_offset );
+	g_free (final_path);
+	return result;
 }
 
 gboolean xa_extract_iso_file (XArchive *archive, gchar *permission, gchar *destination_path, gchar *_filename , unsigned long long int file_size, unsigned long long file_offset )
@@ -536,15 +536,11 @@
 		{
 			if ( g_file_test ( filename , G_FILE_TEST_EXISTS) == FALSE )
 			{
-				if (xa_create_directory_for_iso_extraction (archive,filename) )
+				if ( ! xa_create_directory_for_iso_extraction (archive,filename) )
 				{
 					g_free (filename);
 					return FALSE;
 				}
-				if (archive->child_pid == 0)
-					return FALSE;
-				else
-					return TRUE;
 			}
 			return TRUE;
 		}
@@ -571,10 +567,9 @@
 		return FALSE;
 	if ((fdest = fopen (dest, "w")) == NULL)
 	{
-		//gchar *msg = g_strdup_printf (_("Can't write file \"%s\":"), dest);
-		response = ShowGtkMessageDialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't write file:"),g_strerror(errno) );
-		//response = ShowGtkMessageDialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,msg,g_strerror(errno) );
-		//g_free (msg);
+		gchar *msg = g_strdup_printf (_("Can't write file \"%s\":"), dest);
+		response = ShowGtkMessageDialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,msg,g_strerror(errno) );
+		g_free (msg);
         return FALSE;
 	}
 



More information about the Xfce4-commits mailing list