535 deletelist_add, &del)) |
535 deletelist_add, &del)) |
536 { |
536 { |
537 return 1; |
537 return 1; |
538 } |
538 } |
539 |
539 |
|
540 // add root to list of dir list |
|
541 DeleteFile root; |
|
542 root.path = op->path; |
|
543 root.s = *op->stat; |
|
544 UcxList root_elm; |
|
545 root_elm.data = &root; |
|
546 root_elm.prev = NULL; |
|
547 root_elm.next = del.dirs_begin; |
|
548 |
|
549 if(del.dirs_begin) { |
|
550 del.dirs_begin->prev = &root_elm; |
|
551 del.dirs_begin = &root_elm; |
|
552 } else { |
|
553 del.dirs_begin = &root_elm; |
|
554 del.dirs_end = &root_elm; |
|
555 } |
|
556 |
540 // delete files first |
557 // delete files first |
541 UCX_FOREACH(elm, del.files_begin) { |
558 UCX_FOREACH(elm, del.files_begin) { |
542 DeleteFile *file = elm->data; |
559 DeleteFile *file = elm->data; |
543 WebdavVFSOperation sub = webdav_vfs_sub_op(op, file->path, &file->s); |
560 WebdavVFSOperation sub = webdav_vfs_sub_op(op, file->path, &file->s); |
544 if(webdav_vfs_op_do(&sub, WEBDAV_VFS_DELETE)) { |
561 if(webdav_vfs_op_do(&sub, WEBDAV_VFS_DELETE)) { |