diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2016-11-13 21:30:48 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2016-11-13 21:42:29 -0500 |
commit | 196cf9f617ca17acec75eafbcd9e5e7989752dcb (patch) | |
tree | 2240fb256e83c9bca18bed43591f6c2800c6a42a | |
parent | f63aa21beaffbb8da4978bfa37f070170cb8122e (diff) | |
download | bfs-196cf9f617ca17acec75eafbcd9e5e7989752dcb.tar.xz |
Don't try to -delete the current directory.
-rw-r--r-- | eval.c | 5 | ||||
-rwxr-xr-x | tests.sh | 7 |
2 files changed, 11 insertions, 1 deletions
@@ -243,6 +243,11 @@ bool eval_uid(const struct expr *expr, struct eval_state *state) { bool eval_delete(const struct expr *expr, struct eval_state *state) { struct BFTW *ftwbuf = state->ftwbuf; + // Don't try to delete the current directory + if (strcmp(ftwbuf->path, ".") == 0) { + return true; + } + int flag = 0; if (ftwbuf->typeflag == BFTW_DIR) { flag |= AT_REMOVEDIR; @@ -448,7 +448,12 @@ function test_0081() { find_diff "$basic/" -depth } -for i in {1..81}; do +function test_0082() { + # Don't try to delete . + (cd "$scratch" && "$BFS" -delete) +} + +for i in {1..82}; do test="test_$(printf '%04d' $i)" if [ -t 1 ]; then |