~ubuntu-branches/ubuntu/hardy/file-roller/hardy-updates

« back to all changes in this revision

Viewing changes to src/fr-archive.c

  • Committer: Bazaar Package Importer
  • Author(s): Baptiste Mille-Mathias
  • Date: 2007-06-19 18:59:05 UTC
  • mfrom: (1.2.30 upstream)
  • Revision ID: james.westby@ubuntu.com-20070619185905-kd35yjkfr0gn3tfa
Tags: 2.19.3-0ubuntu1
* New upstream release:
  - Added support for Drag&Drop among file-roller windows.
  - Added a folders pane.  
  - Fixed daylight saving time calculation.
  - Save and restore the filename column width.
  - Can not open a file whose name is in non-ascii encoding.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1605
1605
find_file_in_archive (FrArchive *archive,
1606
1606
                      char      *path)
1607
1607
{
1608
 
        GList *scan;
 
1608
        int i;
1609
1609
 
1610
1610
        g_return_val_if_fail (path != NULL, NULL);
1611
1611
 
1612
 
        for (scan = archive->command->file_list; scan; scan = scan->next) {
1613
 
                FileData *fdata = scan->data;
 
1612
        for (i = 0; i < archive->command->files->len; i++) {
 
1613
                FileData *fdata = g_ptr_array_index (archive->command->files, i);
1614
1614
                if (strcmp (path, fdata->original_path) == 0)
1615
1615
                        return fdata;
1616
1616
        }
2600
2600
        /* file_list == NULL means delete all files in archive. */
2601
2601
 
2602
2602
        if (file_list == NULL) {
2603
 
                for (scan = archive->command->file_list; scan != NULL; scan = scan->next) {
2604
 
                        FileData *fdata = (FileData*) scan->data;
 
2603
                int i;
2605
2604
 
 
2605
                for (i = 0; i < archive->command->files->len; i++) {
 
2606
                        FileData *fdata = g_ptr_array_index (archive->command->files, i);
2606
2607
                        file_list = g_list_prepend (file_list, fdata->original_path);
2607
2608
                }
 
2609
 
2608
2610
                file_list_created = TRUE;
2609
2611
        }
2610
2612
 
2902
2904
static gboolean
2903
2905
archive_type_has_issues_extracting_non_empty_folders (FrArchive *archive)
2904
2906
{
2905
 
        if (archive->command->file_list == NULL)
 
2907
        if ((archive->command->files == NULL) || (archive->command->files->len == 0))
2906
2908
                return FALSE;
2907
2909
                
2908
2910
        return ((archive->command->file_type == FR_FILE_TYPE_TAR)
2963
2965
 
2964
2966
        extract_all = (file_list == NULL);
2965
2967
        if (extract_all && ! archive->command->propCanExtractAll) {
2966
 
                GList *scan;
2967
 
 
 
2968
                int i;
 
2969
                
2968
2970
                file_list = NULL;
2969
 
                for (scan = archive->command->file_list; scan; scan = scan->next) {
2970
 
                        FileData *fdata = scan->data;
 
2971
                for (i = 0; i < archive->command->files->len; i++) {
 
2972
                        FileData *fdata = g_ptr_array_index (archive->command->files, i);
2971
2973
                        file_list = g_list_prepend (file_list, g_strdup (fdata->original_path));
2972
2974
                }
2973
 
 
2974
2975
                file_list_created = TRUE;
2975
2976
        }
2976
2977
 
3033
3034
                                 && ! archive->command->propExtractCanJunkPaths)));
3034
3035
 
3035
3036
        if (extract_all && ! file_list_created) {
3036
 
                GList *scan;
 
3037
                int i;
3037
3038
 
3038
3039
                file_list = NULL;
3039
 
                for (scan = archive->command->file_list; scan; scan = scan->next) {
3040
 
                        FileData *fdata = scan->data;
 
3040
                for (i = 0; i < archive->command->files->len; i++) {
 
3041
                        FileData *fdata = g_ptr_array_index (archive->command->files, i);
3041
3042
                        file_list = g_list_prepend (file_list, g_strdup (fdata->original_path));
3042
3043
                }
3043
3044