| 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 | | |
| | 46 | |
| | 47 | Comment 1 by me <me4mc> at Sat 14 Jul 2007 09:27:33 PM UTC: |
| | 48 | {{{ |
| | 49 | can confirm this bug in cvs, 4.6.1 or 4.6.1 + patches. |
| | 50 | it only works if the complete tree is 755, otherwise they are |
| | 51 | unlinked without notice - however that works |
| | 52 | |
| | 53 | i am working on a patch to support skipall, it might be possible i |
| | 54 | could fix that too. |
| | 55 | but looking at the code i worry about recursion :) |
| | 56 | |
| | 57 | its on line 1356 in file.c (recursive_erase) |
| | 58 | the returnstatus gets abused and therefore lost unless it is a |
| | 59 | FILE_CONTINE: |
| | 60 | |
| | 61 | 1346: return file_error if != FILE_CONT |
| | 62 | 1328: return_status = file_error != FILE_CONT |
| | 63 | 1338: return return_status |
| | 64 | |
| | 65 | the operation in line 1328 seems to be the odd one, but i cannot |
| | 66 | fully understand its working: |
| | 67 | return_status = |
| | 68 | (recursive_erase |
| | 69 | (ctx, path, progress_count, progress_bytes) |
| | 70 | != FILE_CONT); |
| | 71 | |
| | 72 | is it to end the while loop on abort? |
| | 73 | |
| | 74 | besides the fact skip is ignored completely this should be a clean |
| | 75 | path before adding skip (&skipall)? |
| | 76 | |
| | 77 | thanks for i|o |
| | 78 | }}} |