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; } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits