[bug #20184] Skip vs. Abort on multi-file/dir operation



Follow-up Comment #1, bug #20184 (project mc):

can confirm this bug in cvs, 4.6.1 or 4.6.1 + patches.
it only works if the complete tree is 755, otherwise they are unlinked
without notice - however that works

i am working on a patch to support skipall, it might be possible i could fix
that too.
but looking at the code i worry about recursion :)

its on line  1356 in file.c (recursive_erase)
the returnstatus gets abused and therefore lost unless it is a FILE_CONTINE:

1346: return file_error if != FILE_CONT
1328: return_status = file_error != FILE_CONT
1338: return return_status

the operation in line 1328 seems to be the odd one, but i cannot fully
understand its working:
return_status =
  (recursive_erase
   (ctx, path, progress_count, progress_bytes)
   != FILE_CONT);

is it to end the while loop on abort?

besides the fact skip is ignored completely this should be a clean path
before adding skip (&skipall)?

thanks for i|o




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?20184>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]