diff --git a/src/delete.c b/src/delete.c index ee95e54c096c06d89c153793c3934bce040596c9..6ffe922c32d4addb50a27347c77ac1b68e3fc0b4 100644 --- a/src/delete.c +++ b/src/delete.c @@ -194,12 +194,14 @@ delete_nxt: if(r == -1 && !ignoreerr) { state = DS_FAILED; lasterrno = errno; + curdir = dr; while(state == DS_FAILED) if(input_handle(0)) return 1; - } - - freedir(dr); + } else + freedir(dr); + if(r == -1 && root == dr) + return 1; return 0; }