The following reply was made to PR bin/166554; it has been noted by GNATS. From: Matthew Story <matthewst...@gmail.com> To: Richard Kettlewell <r...@greenend.org.uk> Cc: freebsd-gnats-sub...@freebsd.org Subject: Re: bin/166554: find -delete is silent when failing to rmdir nonempty directories Date: Sun, 1 Apr 2012 14:10:04 -0400
--bcaec51d21a4a5912104bca1fbed Content-Type: text/plain; charset=ISO-8859-1 On Sun, Apr 1, 2012 at 5:29 AM, Richard Kettlewell <r...@greenend.org.uk> wrote: > find -delete is documented as removing files and/or directories. However > since it uses rmdir() it cannot remove nonempty directories. This is fine, > but it suppresses the error message in this case. This leads to considerable > user confusion. > > I suggest that: > > 1. The limitation that it can only remove nonempty directories be documented. > 2. The error message not be suppressed (i.e. that the ENOTEMPTY test be > removed). > > GNU find -delete does produce an error message in this case. I agree with this assessment, patch attached for consideration. Following the patch: $ # old behavior $ mkdir -p foo/bar/baz $ find ./foo -depth 1 -delete $ find ./foo -depth 1 ./foo/bar $ # new behavior $ mkdir -p foo/bar/baz $ find ./foo -depth 1 -delete find: -delete: rmdir(./foo/bar): Directory not empty $ find ./foo -depth 1 ./foo/bar > > -delete seems to be an extension compare to SUS find, so I don't believe > there are any standards-compliance questions here. POSIX 2008 does not define any -delete primary, so there are no standards-compliance questions. Patch is also available via HTTP here: http://axe0.blackskyresearch.net/patches/matt/freebsd.PR166554.patch.txt -- regards, matt --bcaec51d21a4a5912104bca1fbed Content-Type: text/plain; charset=US-ASCII; name="freebsd.PR166554.patch.txt" Content-Disposition: attachment; filename="freebsd.PR166554.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h0iem7k00 SW5kZXg6IGZpbmQuMQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBmaW5kLjEJKHJldmlzaW9uIDIzMzc1OSkKKysr IGZpbmQuMQkod29ya2luZyBjb3B5KQpAQCAtMzE5LDYgKzMxOSwxMSBAQAogLkRxIFBhIFwmLgog Zm9yIHNlY3VyaXR5IHJlYXNvbnMuCiBEZXB0aC1maXJzdCB0cmF2ZXJzYWwgcHJvY2Vzc2luZyBp cyBpbXBsaWVkIGJ5IHRoaXMgb3B0aW9uLgorVGhlIAorLkljIC1kZWxldGUKK3ByaW1hcnkgd2ls bCBmYWlsIHRvIAorLlhyIHJtZGlyIDIKK2EgZGlyZWN0b3J5IGlmIGl0IGlzIG5vdCBlbXB0eSBm b3IgYW55IHJlYXNvbi4KIEZvbGxvd2luZyBzeW1saW5rcyBpcyBpbmNvbXBhdGlibGUgd2l0aCB0 aGlzIG9wdGlvbi4KIC5JdCBJYyAtZGVwdGgKIEFsd2F5cyB0cnVlOwpJbmRleDogZnVuY3Rpb24u Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBmdW5jdGlvbi5jCShyZXZpc2lvbiAyMzM3NTkpCisrKyBmdW5jdGlv bi5jCSh3b3JraW5nIGNvcHkpCkBAIC00NTMsNyArNDUzLDcgQEAKIAogCS8qIHJtZGlyIGRpcmVj dG9yaWVzLCB1bmxpbmsgZXZlcnl0aGluZyBlbHNlICovCiAJaWYgKFNfSVNESVIoZW50cnktPmZ0 c19zdGF0cC0+c3RfbW9kZSkpIHsKLQkJaWYgKHJtZGlyKGVudHJ5LT5mdHNfYWNjcGF0aCkgPCAw ICYmIGVycm5vICE9IEVOT1RFTVBUWSkKKwkJaWYgKHJtZGlyKGVudHJ5LT5mdHNfYWNjcGF0aCkg PCAwKQogCQkJd2FybigiLWRlbGV0ZTogcm1kaXIoJXMpIiwgZW50cnktPmZ0c19wYXRoKTsKIAl9 IGVsc2UgewogCQlpZiAodW5saW5rKGVudHJ5LT5mdHNfYWNjcGF0aCkgPCAwKQo= --bcaec51d21a4a5912104bca1fbed-- _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"