Changes between Initial Version and Version 34 of Ticket #71


Ignore:
Timestamp:
01/11/14 22:45:05 (11 years ago)
Author:
ossi
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #71

    • Property Status changed from new to closed
    • Property Votes for changeset changed from to committed-master
    • Property Severity changed from to merged
    • Property Reporter changed from slavazanko to zlatk0
    • Property Cc m-c.org@…, zlatko-m-c-org@… added
    • Property Component changed from mc-vfs to mc-core
    • Property Version changed from to master
    • Property Branch state changed from to merged
    • Property Milestone changed from to 4.8.1
    • Property Owner set to andrew_b
    • Property Resolution changed from to fixed
  • Ticket #71 – Description

    initial v34  
    1 Original: Skip vs. Abort on multi-file/dir operation 
     1Original: http://savannah.gnu.org/bugs/?xxxxx 
    22 
    33||Submitted by:||Thomas Zajic <ZlatkO>||Submitted on:||Sat 16 Jun 2007 08:47:06 AM UTC|| 
     
    77||Release:||current (CVS or snapshot)||Operating System:||GNU/Linux|| 
    88 
    9 Discussion: 
     9Original submission: 
    1010{{{ 
    11 Sat 14 Jul 2007 09:27:33 PM UTC, comment #1: 
    12  
    13 can confirm this bug in cvs, 4.6.1 or 4.6.1 + patches. 
    14 it only works if the complete tree is 755, otherwise they are  
    15 unlinked without notice - however that works 
    16  
    17 i am working on a patch to support skipall, it might be possible i  
    18 could fix that too. 
    19 but looking at the code i worry about recursion :) 
    20  
    21 its on line 1356 in file.c (recursive_erase) 
    22 the returnstatus gets abused and therefore lost unless it is a  
    23 FILE_CONTINE: 
    24  
    25 1346: return file_error if != FILE_CONT 
    26 1328: return_status = file_error != FILE_CONT 
    27 1338: return return_status 
    28  
    29 the operation in line 1328 seems to be the odd one, but i cannot  
    30 fully understand its working: 
    31 return_status = 
    32 (recursive_erase 
    33 (ctx, path, progress_count, progress_bytes) 
    34 != FILE_CONT); 
    35  
    36 is it to end the while loop on abort? 
    37  
    38 besides the fact skip is ignored completely this should be a clean  
    39 path before adding skip (&skipall)? 
    40  
    41 thanks for i|o 
    42         me <me4mc> 
    43 Sat 16 Jun 2007 08:47:06 AM UTC, original submission: 
    44  
    4511When mc encounters an error (eg. permission denied) while operating  
    4612on multiple files and/or directories (eg. move, delete), it presents 
     
    7844With multiple codepages support  
    7945}}} 
     46 
     47Comment 1 by me <me4mc> at Sat 14 Jul 2007 09:27:33 PM UTC: 
     48{{{ 
     49can confirm this bug in cvs, 4.6.1 or 4.6.1 + patches. 
     50it only works if the complete tree is 755, otherwise they are  
     51unlinked without notice - however that works 
     52 
     53i am working on a patch to support skipall, it might be possible i  
     54could fix that too. 
     55but looking at the code i worry about recursion :) 
     56 
     57its on line 1356 in file.c (recursive_erase) 
     58the returnstatus gets abused and therefore lost unless it is a  
     59FILE_CONTINE: 
     60 
     611346: return file_error if != FILE_CONT 
     621328: return_status = file_error != FILE_CONT 
     631338: return return_status 
     64 
     65the operation in line 1328 seems to be the odd one, but i cannot  
     66fully understand its working: 
     67return_status = 
     68(recursive_erase 
     69(ctx, path, progress_count, progress_bytes) 
     70!= FILE_CONT); 
     71 
     72is it to end the while loop on abort? 
     73 
     74besides the fact skip is ignored completely this should be a clean  
     75path before adding skip (&skipall)? 
     76 
     77thanks for i|o 
     78}}}