From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: rm -d in coreutils 8.19 Resent-From: Michael Price Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 22 Aug 2012 16:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 12260@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.134565153810349 (code B ref -1); Wed, 22 Aug 2012 16:06:02 +0000 Received: (at submit) by debbugs.gnu.org; 22 Aug 2012 16:05:38 +0000 Received: from localhost ([127.0.0.1]:43561 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4DR3-0002gq-GM for submit@debbugs.gnu.org; Wed, 22 Aug 2012 12:05:38 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57804) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4DKm-0002XV-Sk for submit@debbugs.gnu.org; Wed, 22 Aug 2012 11:59:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4DKM-0005OR-VB for submit@debbugs.gnu.org; Wed, 22 Aug 2012 11:58:43 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:55997) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4DKM-0005ON-Rn for submit@debbugs.gnu.org; Wed, 22 Aug 2012 11:58:42 -0400 Received: from eggs.gnu.org ([208.118.235.92]:51754) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4DKM-0001WL-4l for bug-coreutils@gnu.org; Wed, 22 Aug 2012 11:58:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4DKL-0005O8-9J for bug-coreutils@gnu.org; Wed, 22 Aug 2012 11:58:42 -0400 Received: from mailfo02.lmco.com ([192.35.35.12]:45731) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4DKL-0005JZ-4m for bug-coreutils@gnu.org; Wed, 22 Aug 2012 11:58:41 -0400 Received: from emss04g01.ems.lmco.com ([166.17.13.122]) by mailfo02.lmco.com (8.14.5/8.14.5) with ESMTP id q7MFvX6p011675 for ; Wed, 22 Aug 2012 16:57:33 +0100 Received: from CONVERSION2-DAEMON.lmco.com by lmco.com (PMDF V6.4 #31806) id <0M9500501YYYDV@lmco.com> for bug-coreutils@gnu.org; Wed, 22 Aug 2012 15:57:33 +0000 (GMT) Received: from enterprise.atl.lmco.com ([166.17.240.20]) by lmco.com (PMDF V6.4 #31806) with ESMTP id <0M9500LYWYZO4P@lmco.com> for bug-coreutils@gnu.org; Wed, 22 Aug 2012 15:57:24 +0000 (GMT) Received: from ganon.atl.lmco.com (ganon.atl.lmco.com [166.17.245.238]) by enterprise.atl.lmco.com (Postfix) with ESMTP id 73642A81B for ; Wed, 22 Aug 2012 11:57:24 -0400 (EDT) Date: Wed, 22 Aug 2012 11:57:24 -0400 From: Michael Price Message-id: <50350164.8050005@atl.lmco.com> Organization: Lockheed Martin ATL MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7BIT User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120718 Thunderbird/14.0 OpenPGP: id=39584A11; url=https://docs.google.com/document/d/1zsY3s20wY1YUgHQhtnt2LrrOsof5uPUJLcgH1rTAV98/edit?pli=1 X-Enigmail-Version: 1.4.3 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.7.7855, 1.0.260, 0.0.0000 definitions=2012-08-22_03:2012-08-22, 2012-08-22, 1970-01-01 signatures=0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.9 (------) X-Mailman-Approved-At: Wed, 22 Aug 2012 12:05:36 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) This seems wrong: $ mkdir bar $ rm -d bar $ mkdir bar $ rm -i -d bar rm: cannot remove 'bar': Is a directory From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: rm -d in coreutils 8.19 References: <50350164.8050005@atl.lmco.com> In-Reply-To: <50350164.8050005@atl.lmco.com> Resent-From: Robert Day Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 22 Aug 2012 22:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 12260@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.134567445817550 (code B ref -1); Wed, 22 Aug 2012 22:28:02 +0000 Received: (at submit) by debbugs.gnu.org; 22 Aug 2012 22:27:38 +0000 Received: from localhost ([127.0.0.1]:43895 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4JOk-0004Z1-Dn for submit@debbugs.gnu.org; Wed, 22 Aug 2012 18:27:38 -0400 Received: from eggs.gnu.org ([208.118.235.92]:45191) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4JLh-0004Ub-0n for submit@debbugs.gnu.org; Wed, 22 Aug 2012 18:24:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4JLA-0002IZ-KT for submit@debbugs.gnu.org; Wed, 22 Aug 2012 18:24:02 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:52359) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4JLA-0002IV-Gx for submit@debbugs.gnu.org; Wed, 22 Aug 2012 18:23:56 -0400 Received: from eggs.gnu.org ([208.118.235.92]:44563) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4JL9-0000M2-Ez for bug-coreutils@gnu.org; Wed, 22 Aug 2012 18:23:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4JL4-0002Hq-0X for bug-coreutils@gnu.org; Wed, 22 Aug 2012 18:23:55 -0400 Received: from mail-vc0-f169.google.com ([209.85.220.169]:38251) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4JL3-0002Hi-Qe for bug-coreutils@gnu.org; Wed, 22 Aug 2012 18:23:49 -0400 Received: by vcbfl10 with SMTP id fl10so145297vcb.0 for ; Wed, 22 Aug 2012 15:23:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=68/fyFr3CnEborIczuDu1Y6oKFUhumj8cmfaKAuuSas=; b=Gk7t+63HpY7YRflppwQRsJjc8tVOTTBkJJ1GWhvwny9OlpzXd//QcqJ4PSeK7PBIiN 8RFDfZhNbP7x+pRVeWBx+rUSUU1dY97Ql6YhMSrDw3nHZxbMydSwgD7mxlGLLz20AQJ9 WwRO84Q7l7HvBUrfjgP4Xua0hxmR1yCWtaiCEtQ1KQqTpRZstrx9tUzQsfLe60DP66qv FcIkdXdXPPiz1LTEzJPeAcMfsZhZEKG6NyZac96hkxZ48XTnTpxM0Kvvc1nHHYA/yqOY LO7HeYeYN5YF2GCG6MWjEu0r5+Wdnqj6NtYCedjMb3oBeYq/4orFwlSwLmDiR44EpSf4 bukg== MIME-Version: 1.0 Received: by 10.52.97.227 with SMTP id ed3mr15264158vdb.103.1345674229252; Wed, 22 Aug 2012 15:23:49 -0700 (PDT) Received: by 10.58.116.165 with HTTP; Wed, 22 Aug 2012 15:23:49 -0700 (PDT) Date: Wed, 22 Aug 2012 23:23:49 +0100 Message-ID: From: Robert Day Content-Type: multipart/mixed; boundary=20cf307abeed6b027604c7e232d5 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.1 (------) X-Mailman-Approved-At: Wed, 22 Aug 2012 18:27:37 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) --20cf307abeed6b027604c7e232d5 Content-Type: multipart/alternative; boundary=20cf307abeed6b027204c7e232d3 --20cf307abeed6b027204c7e232d3 Content-Type: text/plain; charset=ISO-8859-1 It looks as though the bug is that the prompt() function does its own checking, returning EISDIR unless x->recursive is set, and this code wasn't updated with the addition of -d. I've attached a patch which fixes this bug and adds a test of that code path. The fixes can also be retrieved from https://github.com/rkd91/coreutils_rm_di_patch. I haven't submitted patches for coreutils before; if there's somewhere else I should post this patch to, I'm happy to be pointed there. Best, Rob --20cf307abeed6b027204c7e232d3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable It looks as though the bug is that the prompt() function does its own check= ing, returning EISDIR unless x->recursive is set, and this code wasn'= ;t updated with the addition of -d. I've attached a patch which fixes t= his bug and adds a test of that code path. The fixes can also be retrieved = from https://git= hub.com/rkd91/coreutils_rm_di_patch.

I haven't submitted patches for coreutils before; if there's so= mewhere else I should post this patch to, I'm happy to be pointed there= .

Best,
Rob --20cf307abeed6b027204c7e232d3-- --20cf307abeed6b027604c7e232d5 Content-Type: application/octet-stream; name="rm.patch" Content-Disposition: attachment; filename="rm.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h66zljwx0 RnJvbSA5YjhkNmU3NTI3NjdlMjg2Y2NjODQ3ZjAzNTE4ZGVjNWFmOWFiYmM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2IgRGF5IDxyb2JlcnRrZGF5QGdtYWlsLmNvbT4KRGF0ZTog V2VkLCAyMiBBdWcgMjAxMiAyMzowNDoxOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBybTog YWRkIHRlc3QgdG8gY2hlY2sgdGhhdCBybSAtZCAtaSB3b3JrcwoKLS0tCiB0ZXN0cy9NYWtlZmls ZS5hbSB8ICAxICsKIHRlc3RzL3JtL2QtMyAgICAgIHwgMzcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA3NTUgdGVzdHMvcm0vZC0zCgpkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUu YW0gYi90ZXN0cy9NYWtlZmlsZS5hbQppbmRleCBhY2Q4MTZkLi44N2Q2Y2FkIDEwMDY0NAotLS0g YS90ZXN0cy9NYWtlZmlsZS5hbQorKysgYi90ZXN0cy9NYWtlZmlsZS5hbQpAQCAtMTAxLDYgKzEw MSw3IEBAIFRFU1RTID0JCQkJCQlcCiAgIG1pc2MvbHMtdGltZQkJCQkJXAogICBybS9kLTEJCQkJ CVwKICAgcm0vZC0yCQkJCQlcCisgIHJtL2QtMwkJCQkJXAogICBybS9kZWVwLTEJCQkJCVwKICAg cm0vZGVlcC0yCQkJCQlcCiAgIHJtL2Rpci1uby13CQkJCQlcCmRpZmYgLS1naXQgYS90ZXN0cy9y bS9kLTMgYi90ZXN0cy9ybS9kLTMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4u NmVjMDY3ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3JtL2QtMwpAQCAtMCwwICsxLDM3IEBA CisjIS9iaW4vc2gKKyMgRW5zdXJlIHRoYXQgJ3JtIC1kIGRpcicgKGkuZS4sIHdpdGhvdXQgLS1y ZWN1cnNpdmUpIGdpdmVzIGEgcmVhc29uYWJsZQorIyBkaWFnbm9zdGljIHdoZW4gZmFpbGluZy4K KworIyBDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisK KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorCisuICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5k XyAuLi9zcmMKK3ByaW50X3Zlcl8gcm0KKworbWtkaXIgZCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8K KworZWNobyAieSIgfCBybSAtaSAtZCAtLXZlcmJvc2UgZCA+IG91dCAyPiBvdXQuZXJyIHx8IGZh aWw9MQorcHJpbnRmICIlcyIgXAorICAgICJybTogcmVtb3ZlIGRpcmVjdG9yeSAnZCc/ICIgXAor ICAgID4gZXhwLmVyciB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKworcHJpbnRmICIlc1xuIiBcCisg ICAgInJlbW92ZWQgZGlyZWN0b3J5OiAnZCciIFwKKyAgICA+IGV4cCB8fCBmcmFtZXdvcmtfZmFp bHVyZV8KKworY29tcGFyZSBleHAgb3V0IHx8IGZhaWw9MQorY29tcGFyZSBleHAuZXJyIG91dC5l cnIgfHwgZmFpbD0xCisKK0V4aXQgJGZhaWwKLS0gCjEuNy4xMS4yCgoKRnJvbSA4NmQ0NzlmMzNi ZmU0OWMyZmEyYjk1NDY1MDEyZTUwMWUzNWFlNWIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBSb2IgRGF5IDxyb2JlcnRrZGF5QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBBdWcgMjAx MiAyMzowNjo1NSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBybTogZml4ZWQgYnVnICMxMjI2 MCAocm0gLWQgLWkpCgotLS0KIHNyYy9yZW1vdmUuYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9yZW1vdmUu YyBiL3NyYy9yZW1vdmUuYwppbmRleCBjNDk3MmFjLi4yZjllODZiIDEwMDY0NAotLS0gYS9zcmMv cmVtb3ZlLmMKKysrIGIvc3JjL3JlbW92ZS5jCkBAIC0yMzgsNyArMjM4LDkgQEAgcHJvbXB0IChG VFMgY29uc3QgKmZ0cywgRlRTRU5UIGNvbnN0ICplbnQsIGJvb2wgaXNfZGlyLAogICAgICAgICAg ICAgYnJlYWs7CiAKICAgICAgICAgICBjYXNlIERUX0RJUjoKLSAgICAgICAgICAgIGlmICgheC0+ cmVjdXJzaXZlKQorICAgICAgICAgICAgaWYgKCF4LT5yZWN1cnNpdmUKKyAgICAgICAgICAgICAg ICAmJiAhKHgtPnJlbW92ZV9lbXB0eV9kaXJlY3RvcmllcworICAgICAgICAgICAgICAgICAgICAg JiYgaXNfZW1wdHlfZGlyIChmdHMtPmZ0c19jd2RfZmQsIGVudC0+ZnRzX2FjY3BhdGgpKSkKICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHdyaXRlX3Byb3RlY3RlZCA9IC0xOwogICAg ICAgICAgICAgICAgIHdwX2Vycm5vID0gRUlTRElSOwotLSAKMS43LjExLjIKCg== --20cf307abeed6b027604c7e232d5-- From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: [patch] rm -d in coreutils 8.19 References: <50350164.8050005@atl.lmco.com> In-Reply-To: <50350164.8050005@atl.lmco.com> Resent-From: Robert Day Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 23 Aug 2012 11:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 12260@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.134572066922944 (code B ref -1); Thu, 23 Aug 2012 11:18:02 +0000 Received: (at submit) by debbugs.gnu.org; 23 Aug 2012 11:17:49 +0000 Received: from localhost ([127.0.0.1]:44640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4VQ5-0005y1-EY for submit@debbugs.gnu.org; Thu, 23 Aug 2012 07:17:49 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36126) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4VQ2-0005xt-P7 for submit@debbugs.gnu.org; Thu, 23 Aug 2012 07:17:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4VPX-0003TL-T3 for submit@debbugs.gnu.org; Thu, 23 Aug 2012 07:17:16 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:42469) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4VPX-0003TH-PV for submit@debbugs.gnu.org; Thu, 23 Aug 2012 07:17:15 -0400 Received: from eggs.gnu.org ([208.118.235.92]:53533) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4VPW-0002Ul-Oi for bug-coreutils@gnu.org; Thu, 23 Aug 2012 07:17:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4VPU-0003Sw-Re for bug-coreutils@gnu.org; Thu, 23 Aug 2012 07:17:14 -0400 Received: from mail-vb0-f41.google.com ([209.85.212.41]:49279) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4VPU-0003Sj-ME for bug-coreutils@gnu.org; Thu, 23 Aug 2012 07:17:12 -0400 Received: by vbkv13 with SMTP id v13so724296vbk.0 for ; Thu, 23 Aug 2012 04:17:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=ofaLJO1heebKfNJDAgK+CoHdk7kc0yUypBCaN29XB/E=; b=B4pur4uHFhf3OpQGBF+cCODXVDFOW6GgmB//R6b5+A9hu/WOfWmzT8w64gGmXZavhO idKI9sY4PW0qJ38OOVwJ502H45k3pzcYyQEQWhBefv3IY/BsZO+CQSdThUTdr+4ZavHO opQh7B4ZRZdzXzfqTUq7++F6Qb7LYOUypsuVMZ2JPElyHhIajdHeN3Oz5Eu35oP80/Ko K/CD0KnhGetMqKQmVge28qfXbUmHUhw8JoMtgdE5C6JdL7Jsbb7XvmLvQXKek+i7LUiG CglapxI3iFz6YytFqByzueDUONMYPgofqaC/56x6d9ayCR+rCRTeSOHPryMPrJNQmi/G VrEA== MIME-Version: 1.0 Received: by 10.221.11.71 with SMTP id pd7mr896392vcb.45.1345720632266; Thu, 23 Aug 2012 04:17:12 -0700 (PDT) Received: by 10.58.116.165 with HTTP; Thu, 23 Aug 2012 04:17:11 -0700 (PDT) Date: Thu, 23 Aug 2012 12:17:11 +0100 Message-ID: From: Robert Day Content-Type: multipart/mixed; boundary=bcaec54fb0c040ce4904c7ed0033 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.1 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) --bcaec54fb0c040ce4904c7ed0033 Content-Type: multipart/alternative; boundary=bcaec54fb0c040ce4604c7ed0031 --bcaec54fb0c040ce4604c7ed0031 Content-Type: text/plain; charset=ISO-8859-1 On 22 August 2012 23:23, Robert Day wrote: > I've attached a patch which fixes this bug and adds a test of that code > path. The fixes can also be retrieved from > https://github.com/rkd91/coreutils_rm_di_patch. > I've made a couple of related fixes (comments/code niceness and adding a NEWS item), so I've attached a new patch and updated my github. Best, Rob -- Robert K. Day robert.day@merton.oxon.org > > --bcaec54fb0c040ce4604c7ed0031 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On = 22 August 2012 23:23, Robert Day <robertkday@gmail.com> w= rote:
I've attached a patch which fixes this bug and adds a test of that code= path. The fixes can also be retrieved from https://github.com/rkd91/core= utils_rm_di_patch.
=A0
I've made a couple of related fix= es (comments/code niceness and adding a NEWS item), so I've attached a = new patch and updated my github.

Best,
Rob


-- =
Robert K. Dayrobert.day= @merton.oxon.org


--bcaec54fb0c040ce4604c7ed0031-- --bcaec54fb0c040ce4904c7ed0033 Content-Type: application/octet-stream; name="rm.2.patch" Content-Disposition: attachment; filename="rm.2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h67j55o41 RnJvbSA5YjhkNmU3NTI3NjdlMjg2Y2NjODQ3ZjAzNTE4ZGVjNWFmOWFiYmM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2IgRGF5IDxyb2JlcnRrZGF5QGdtYWlsLmNvbT4KRGF0ZTog V2VkLCAyMiBBdWcgMjAxMiAyMzowNDoxOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSBybTog YWRkIHRlc3QgdG8gY2hlY2sgdGhhdCBybSAtZCAtaSB3b3JrcwoKLS0tCiB0ZXN0cy9NYWtlZmls ZS5hbSB8ICAxICsKIHRlc3RzL3JtL2QtMyAgICAgIHwgMzcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA3NTUgdGVzdHMvcm0vZC0zCgpkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUu YW0gYi90ZXN0cy9NYWtlZmlsZS5hbQppbmRleCBhY2Q4MTZkLi44N2Q2Y2FkIDEwMDY0NAotLS0g YS90ZXN0cy9NYWtlZmlsZS5hbQorKysgYi90ZXN0cy9NYWtlZmlsZS5hbQpAQCAtMTAxLDYgKzEw MSw3IEBAIFRFU1RTID0JCQkJCQlcCiAgIG1pc2MvbHMtdGltZQkJCQkJXAogICBybS9kLTEJCQkJ CVwKICAgcm0vZC0yCQkJCQlcCisgIHJtL2QtMwkJCQkJXAogICBybS9kZWVwLTEJCQkJCVwKICAg cm0vZGVlcC0yCQkJCQlcCiAgIHJtL2Rpci1uby13CQkJCQlcCmRpZmYgLS1naXQgYS90ZXN0cy9y bS9kLTMgYi90ZXN0cy9ybS9kLTMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4u NmVjMDY3ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3JtL2QtMwpAQCAtMCwwICsxLDM3IEBA CisjIS9iaW4vc2gKKyMgRW5zdXJlIHRoYXQgJ3JtIC1kIGRpcicgKGkuZS4sIHdpdGhvdXQgLS1y ZWN1cnNpdmUpIGdpdmVzIGEgcmVhc29uYWJsZQorIyBkaWFnbm9zdGljIHdoZW4gZmFpbGluZy4K KworIyBDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisK KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorCisuICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5k XyAuLi9zcmMKK3ByaW50X3Zlcl8gcm0KKworbWtkaXIgZCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8K KworZWNobyAieSIgfCBybSAtaSAtZCAtLXZlcmJvc2UgZCA+IG91dCAyPiBvdXQuZXJyIHx8IGZh aWw9MQorcHJpbnRmICIlcyIgXAorICAgICJybTogcmVtb3ZlIGRpcmVjdG9yeSAnZCc/ICIgXAor ICAgID4gZXhwLmVyciB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKworcHJpbnRmICIlc1xuIiBcCisg ICAgInJlbW92ZWQgZGlyZWN0b3J5OiAnZCciIFwKKyAgICA+IGV4cCB8fCBmcmFtZXdvcmtfZmFp bHVyZV8KKworY29tcGFyZSBleHAgb3V0IHx8IGZhaWw9MQorY29tcGFyZSBleHAuZXJyIG91dC5l cnIgfHwgZmFpbD0xCisKK0V4aXQgJGZhaWwKLS0gCjEuNy4xMS4yCgoKRnJvbSA4NmQ0NzlmMzNi ZmU0OWMyZmEyYjk1NDY1MDEyZTUwMWUzNWFlNWIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBSb2IgRGF5IDxyb2JlcnRrZGF5QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBBdWcgMjAx MiAyMzowNjo1NSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSBybTogZml4ZWQgYnVnICMxMjI2 MCAocm0gLWQgLWkpCgotLS0KIHNyYy9yZW1vdmUuYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9yZW1vdmUu YyBiL3NyYy9yZW1vdmUuYwppbmRleCBjNDk3MmFjLi4yZjllODZiIDEwMDY0NAotLS0gYS9zcmMv cmVtb3ZlLmMKKysrIGIvc3JjL3JlbW92ZS5jCkBAIC0yMzgsNyArMjM4LDkgQEAgcHJvbXB0IChG VFMgY29uc3QgKmZ0cywgRlRTRU5UIGNvbnN0ICplbnQsIGJvb2wgaXNfZGlyLAogICAgICAgICAg ICAgYnJlYWs7CiAKICAgICAgICAgICBjYXNlIERUX0RJUjoKLSAgICAgICAgICAgIGlmICgheC0+ cmVjdXJzaXZlKQorICAgICAgICAgICAgaWYgKCF4LT5yZWN1cnNpdmUKKyAgICAgICAgICAgICAg ICAmJiAhKHgtPnJlbW92ZV9lbXB0eV9kaXJlY3RvcmllcworICAgICAgICAgICAgICAgICAgICAg JiYgaXNfZW1wdHlfZGlyIChmdHMtPmZ0c19jd2RfZmQsIGVudC0+ZnRzX2FjY3BhdGgpKSkKICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHdyaXRlX3Byb3RlY3RlZCA9IC0xOwogICAg ICAgICAgICAgICAgIHdwX2Vycm5vID0gRUlTRElSOwotLSAKMS43LjExLjIKCgpGcm9tIDBlYTNk YmQ2MjMyYmNiZmQ4ZmZmMDE2NjdmMjhjYjg2MDMyZTMyMDAgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFJvYiBEYXkgPHJvYmVydGtkYXlAZ21haWwuY29tPgpEYXRlOiBUaHUsIDIzIEF1 ZyAyMDEyIDAwOjM2OjMzICswMTAwClN1YmplY3Q6IFtQQVRDSCAzLzVdIHJtOiB1cGRhdGVkIGNv bW1lbnQgaW4gdGVzdCBybS9kLTMKCi0tLQogdGVzdHMvcm0vZC0zIHwgNCArKy0tCiAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rl c3RzL3JtL2QtMyBiL3Rlc3RzL3JtL2QtMwppbmRleCA2ZWMwNjdkLi4yZjJjZjc0IDEwMDc1NQot LS0gYS90ZXN0cy9ybS9kLTMKKysrIGIvdGVzdHMvcm0vZC0zCkBAIC0xLDYgKzEsNiBAQAogIyEv YmluL3NoCi0jIEVuc3VyZSB0aGF0ICdybSAtZCBkaXInIChpLmUuLCB3aXRob3V0IC0tcmVjdXJz aXZlKSBnaXZlcyBhIHJlYXNvbmFibGUKLSMgZGlhZ25vc3RpYyB3aGVuIGZhaWxpbmcuCisjIEVu c3VyZSB0aGF0ICdybSAtZCAtaSBkaXInIChpLmUuLCB3aXRob3V0IC0tcmVjdXJzaXZlKSBnaXZl cyBhIHByb21wdCBhbmQKKyMgdGhlbiBkZWxldGVzIHRoZSBkaXJlY3RvcnkgaWYgaXQgaXMgZW1w dHkKIAogIyBDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CiAKLS0gCjEuNy4xMS4yCgoKRnJvbSBiNGUwM2I4ODM0ZmI3YzYwNmEwMDAwZjFhZjA2NjZiYTUy YzMyYmIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2IgRGF5IDxyb2JlcnRrZGF5 QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyMyBBdWcgMjAxMiAwMDo0NTo1NyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggNC81XSBybTogdXBkYXRlZCBORVdTIHRvIGluY2x1ZGUgZml4IG9mIGJ1ZyAjMTIy NjAKCi0tLQogTkVXUyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9ORVdTIGIvTkVXUwppbmRleCBkOGE0N2FiLi4yNTc0ODliIDEwMDY0NAotLS0g YS9ORVdTCisrKyBiL05FV1MKQEAgLTksNiArOSw4IEBAIEdOVSBjb3JldXRpbHMgTkVXUyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBvdXRsaW5lIC0qLQogICBpdCBkZXRl Y3RzIHRoaXMgcHJlY2lzZSB0eXBlIG9mIGN5Y2xlLCBkaWFnbm9zZXMgaXQgYXMgc3VjaCBhbmQK ICAgZXZlbnR1YWxseSBleGl0cyBub256ZXJvLgogCisgIHJtIC1pIC1kIG5vdyBwcm9tcHRzIHRo ZSB1c2VyIHRoZW4gcmVtb3ZlcyBhbiBlbXB0eSBkaXJlY3RvcnksIHJhdGhlciB0aGFuCisgIGln bm9yaW5nIHRoZSAtZCBvcHRpb24gYW5kIGZhaWxpbmcgd2l0aCBhbiAnSXMgYSBkaXJlY3Rvcnkn IGVycm9yLgogCiAqIE5vdGV3b3J0aHkgY2hhbmdlcyBpbiByZWxlYXNlIDguMTkgKDIwMTItMDgt MjApIFtzdGFibGVdCiAKLS0gCjEuNy4xMS4yCgoKRnJvbSA2YzZjYThjZjdmMTFlYTQxZjIwMTNh YTA2NjM0ZTExOWU1MTY3NDRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2IgRGF5 IDxyb2JlcnRrZGF5QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyMyBBdWcgMjAxMiAwODoyMzoyOCAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggNS81XSBybTogaW1wcm92ZWQgY29tbWVudHM7IG1vdmVkIHRo ZSBpc19lbXB0eSBib29sIGVhcmxpZXIKIGluIHRoZSBjb2RlCgotLS0KIHNyYy9yZW1vdmUuYyB8 IDI4ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNl cnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvcmVtb3ZlLmMgYi9z cmMvcmVtb3ZlLmMKaW5kZXggMmY5ZTg2Yi4uMDZiYzkyNiAxMDA2NDQKLS0tIGEvc3JjL3JlbW92 ZS5jCisrKyBiL3NyYy9yZW1vdmUuYwpAQCAtMTkwLDYgKzE5MCwxNiBAQCBwcm9tcHQgKEZUUyBj b25zdCAqZnRzLCBGVFNFTlQgY29uc3QgKmVudCwgYm9vbCBpc19kaXIsCiAgIGludCBkaXJlbnRf dHlwZSA9IGlzX2RpciA/IERUX0RJUiA6IERUX1VOS05PV047CiAgIGludCB3cml0ZV9wcm90ZWN0 ZWQgPSAwOwogCisgIGJvb2wgaXNfZW1wdHk7CisgIGlmIChpc19lbXB0eV9wKQorICAgIHsKKyAg ICAgIGlzX2VtcHR5ID0gaXNfZW1wdHlfZGlyIChmZF9jd2QsIGZpbGVuYW1lKTsKKyAgICAgICpp c19lbXB0eV9wID0gaXNfZW1wdHkgPyBUX1lFUyA6IFRfTk87CisgICAgfQorICBlbHNlCisgICAg aXNfZW1wdHkgPSBmYWxzZTsKKworCiAgIC8qIFdoZW4gbm9uemVybywgdGhpcyBpbmRpY2F0ZXMg dGhhdCB3ZSBmYWlsZWQgdG8gcmVtb3ZlIGEgY2hpbGQgZW50cnksCiAgICAgIGVpdGhlciBiZWNh dXNlIHRoZSB1c2VyIGRlY2xpbmVkIGFuIGludGVyYWN0aXZlIHByb21wdCwgb3IgZHVlIHRvCiAg ICAgIHNvbWUgb3RoZXIgZmFpbHVyZSwgbGlrZSBwZXJtaXNzaW9ucy4gICovCkBAIC0yMzgsOSAr MjQ4LDExIEBAIHByb21wdCAoRlRTIGNvbnN0ICpmdHMsIEZUU0VOVCBjb25zdCAqZW50LCBib29s IGlzX2RpciwKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgY2FzZSBEVF9ESVI6Cisg ICAgICAgICAgICAgLyogVW5sZXNzIHdlJ3JlIGVpdGhlciBkZWxldGluZyBkaXJlY3RvcmllcyBv ciBkZWxldGluZworICAgICAgICAgICAgICAqIHJlY3Vyc2l2ZWx5LCB3ZSB3YW50IHRvIHJhaXNl IGFuIEVJU0RJUiBlcnJvciByYXRoZXIgdGhhbgorICAgICAgICAgICAgICAqIHByb21wdGluZyB0 aGUgdXNlciAgKi8KICAgICAgICAgICAgIGlmICgheC0+cmVjdXJzaXZlCi0gICAgICAgICAgICAg ICAgJiYgISh4LT5yZW1vdmVfZW1wdHlfZGlyZWN0b3JpZXMKLSAgICAgICAgICAgICAgICAgICAg ICYmIGlzX2VtcHR5X2RpciAoZnRzLT5mdHNfY3dkX2ZkLCBlbnQtPmZ0c19hY2NwYXRoKSkpCisg ICAgICAgICAgICAgICAgJiYgISh4LT5yZW1vdmVfZW1wdHlfZGlyZWN0b3JpZXMgJiYgaXNfZW1w dHkpKQogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgd3JpdGVfcHJvdGVjdGVkID0g LTE7CiAgICAgICAgICAgICAgICAgd3BfZXJybm8gPSBFSVNESVI7CkBAIC0yNTYsMTUgKzI2OCw2 IEBAIHByb21wdCAoRlRTIGNvbnN0ICpmdHMsIEZUU0VOVCBjb25zdCAqZW50LCBib29sIGlzX2Rp ciwKICAgICAgICAgICByZXR1cm4gUk1fRVJST1I7CiAgICAgICAgIH0KIAotICAgICAgYm9vbCBp c19lbXB0eTsKLSAgICAgIGlmIChpc19lbXB0eV9wKQotICAgICAgICB7Ci0gICAgICAgICAgaXNf ZW1wdHkgPSBpc19lbXB0eV9kaXIgKGZkX2N3ZCwgZmlsZW5hbWUpOwotICAgICAgICAgICppc19l bXB0eV9wID0gaXNfZW1wdHkgPyBUX1lFUyA6IFRfTk87Ci0gICAgICAgIH0KLSAgICAgIGVsc2UK LSAgICAgICAgaXNfZW1wdHkgPSBmYWxzZTsKLQogICAgICAgLyogSXNzdWUgdGhlIHByb21wdC4g ICovCiAgICAgICBpZiAoZGlyZW50X3R5cGUgPT0gRFRfRElSCiAgICAgICAgICAgJiYgbW9kZSA9 PSBQQV9ERVNDRU5EX0lOVE9fRElSCkBAIC00MjIsNyArNDI1LDggQEAgcm1fZnRzIChGVFMgKmZ0 cywgRlRTRU5UICplbnQsIHN0cnVjdCBybV9vcHRpb25zIGNvbnN0ICp4KQogICAgICAgICB7CiAg ICAgICAgICAgLyogVGhpcyBpcyB0aGUgZmlyc3QgKHByZS1vcmRlcikgZW5jb3VudGVyIHdpdGgg YSBkaXJlY3RvcnkKICAgICAgICAgICAgICB0aGF0IHdlIGNhbm5vdCBkZWxldGUuCi0gICAgICAg ICAgICAgTm90IHJlY3Vyc2l2ZSwgc28gYXJyYW5nZSB0byBza2lwIGNvbnRlbnRzLiAgKi8KKyAg ICAgICAgICAgICBOb3QgcmVjdXJzaXZlLCBhbmQgaXQncyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5 IChpZiB3ZSdyZSByZW1vdmluZworICAgICAgICAgICAgIHRoZW0pICBzbyBhcnJhbmdlIHRvIHNr aXAgY29udGVudHMuICAqLwogICAgICAgICAgIGludCBlcnIgPSB4LT5yZW1vdmVfZW1wdHlfZGly ZWN0b3JpZXMgPyBFTk9URU1QVFkgOiBFSVNESVI7CiAgICAgICAgICAgZXJyb3IgKDAsIGVyciwg XygiY2Fubm90IHJlbW92ZSAlcyIpLCBxdW90ZSAoZW50LT5mdHNfcGF0aCkpOwogICAgICAgICAg IG1hcmtfYW5jZXN0b3JfZGlycyAoZW50KTsKLS0gCjEuNy4xMS4yCgo= --bcaec54fb0c040ce4904c7ed0033-- From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: [patch] rm -d in coreutils 8.19 Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 23 Aug 2012 11:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Robert Day Cc: 12260@debbugs.gnu.org Received: via spool by 12260-submit@debbugs.gnu.org id=B12260.134572229328427 (code B ref 12260); Thu, 23 Aug 2012 11:45:02 +0000 Received: (at 12260) by debbugs.gnu.org; 23 Aug 2012 11:44:53 +0000 Received: from localhost ([127.0.0.1]:44662 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4VqE-0007OQ-PS for submit@debbugs.gnu.org; Thu, 23 Aug 2012 07:44:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:21934) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4VqA-0007OH-Vf for 12260@debbugs.gnu.org; Thu, 23 Aug 2012 07:44:48 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q7NBiGxn003792 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 23 Aug 2012 07:44:16 -0400 Received: from [10.36.116.68] (ovpn-116-68.ams2.redhat.com [10.36.116.68]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q7NBiDbo030087 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Thu, 23 Aug 2012 07:44:15 -0400 Message-ID: <5036178D.9070402@draigBrady.com> Date: Thu, 23 Aug 2012 12:44:13 +0100 From: =?UTF-8?Q?P=C3=A1draig?= Brady User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 Thunderbird/6.0 MIME-Version: 1.0 References: <50350164.8050005@atl.lmco.com> In-Reply-To: X-Enigmail-Version: 1.3.2 Content-Type: text/plain; charset=ISO-8859-1 X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by mx1.redhat.com id q7NBiGxn003792 X-Spam-Score: -6.9 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) On 08/23/2012 12:17 PM, Robert Day wrote: > On 22 August 2012 23:23, Robert Day wrote: >=20 >> I've attached a patch which fixes this bug and adds a test of that cod= e >> path. The fixes can also be retrieved from >> https://github.com/rkd91/coreutils_rm_di_patch. >> >=20 > I've made a couple of related fixes (comments/code niceness and adding = a > NEWS item), so I've attached a new patch and updated my github. Thanks for handling that Robert. It's on the borderline for copyright assignment (which I don't think you have?). It's probably OK to waive in this case anyway. I've not got time to fully squash/review your patches just now, but we'll add them in soon. cheers, P=E1draig. From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: rm -d in coreutils 8.19 Resent-From: Rob Day Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 23 Aug 2012 15:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 12260@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.134573699317407 (code B ref -1); Thu, 23 Aug 2012 15:50:02 +0000 Received: (at submit) by debbugs.gnu.org; 23 Aug 2012 15:49:53 +0000 Received: from localhost ([127.0.0.1]:45203 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4ZfN-0004Wh-4L for submit@debbugs.gnu.org; Thu, 23 Aug 2012 11:49:53 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58308) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4RrX-0008PY-JK for submit@debbugs.gnu.org; Thu, 23 Aug 2012 03:29:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4Rr3-0003Ti-I1 for submit@debbugs.gnu.org; Thu, 23 Aug 2012 03:29:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:33889) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4Rr3-0003TX-Dy for submit@debbugs.gnu.org; Thu, 23 Aug 2012 03:29:25 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50171) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4Rqx-0008L8-Ql for bug-coreutils@gnu.org; Thu, 23 Aug 2012 03:29:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4Rqw-0003RX-Ly for bug-coreutils@gnu.org; Thu, 23 Aug 2012 03:29:19 -0400 Received: from mail-vc0-f169.google.com ([209.85.220.169]:37392) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4Rqw-0003RS-G1 for bug-coreutils@gnu.org; Thu, 23 Aug 2012 03:29:18 -0400 Received: by vcbfl10 with SMTP id fl10so555249vcb.0 for ; Thu, 23 Aug 2012 00:29:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=sR9uGvY/1Hc3IKK50NuAdleCnuBo1IOTpYWGpUOvFLM=; b=xO88I1/AAJy5mwC+xd2VFbSyv6oI3i4Zu8gOMVFy2DBIUPaholdDVTQRorKe/a6mu5 8ZmLgDGt7nhC1hgmB/KlpjNR6bZ4CXejGpI8DhjiRk+DSS454TIHTRmMQESQ7uygEgI3 ABP8uDijK5vCXVkQe+5agAwCKYHnrDk9/KLc65vMqmHDwzDUm6UFbG1OmDHe1vc3ZUNI TwwRlGe8RIQlAgOej9gxIEstve7Fc/iCAk6BlxuDWcTuCZlbwS9GT1Kdfv2gG/RSqJWl 4n7NtWjzi8kKKZQFlxTzDka306i0k1mQc58Xyh2XY9GFjbybnZu5UO8infGIQU5Ksww2 d0mA== MIME-Version: 1.0 Received: by 10.58.85.2 with SMTP id d2mr510892vez.33.1345706957879; Thu, 23 Aug 2012 00:29:17 -0700 (PDT) Received: by 10.58.116.165 with HTTP; Thu, 23 Aug 2012 00:29:17 -0700 (PDT) In-Reply-To: References: Date: Thu, 23 Aug 2012 08:29:17 +0100 X-Google-Sender-Auth: A2YTo5UmWMGkhSk9s-X-poW9Mcs Message-ID: From: Rob Day Content-Type: multipart/mixed; boundary=047d7b6dbfd4323a6804c7e9d119 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.1 (------) X-Mailman-Approved-At: Thu, 23 Aug 2012 11:49:52 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) --047d7b6dbfd4323a6804c7e9d119 Content-Type: multipart/alternative; boundary=047d7b6dbfd4323a6004c7e9d117 --047d7b6dbfd4323a6004c7e9d117 Content-Type: text/plain; charset=ISO-8859-1 On 22 August 2012 23:23, Robert Day wrote: > I've attached a patch which fixes this bug and adds a test of that code > path. The fixes can also be retrieved from > https://github.com/rkd91/coreutils_rm_di_patch. > I've made a couple of related fixes (comments/code niceness and adding a NEWS item), so I've attached a new patch and updated my github. Best, Rob -- Robert K. Day robert.day@merton.oxon.org --047d7b6dbfd4323a6004c7e9d117 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On 22 August 2012 23:23, Robert Day <robertk= day@gmail.com> wrote:
I've attached a patch which fixes this bug and adds a test of that code= path. The fixes can also be retrieved from https://github.com/rkd91/core= utils_rm_di_patch.
=A0
I've made a couple of related fixes (co= mments/code niceness and adding a NEWS item), so I've attached a new pa= tch and updated my github.

Best,
Rob


--
Robert K. Day
--047d7b6dbfd4323a6004c7e9d117-- --047d7b6dbfd4323a6804c7e9d119 Content-Type: application/octet-stream; name="rm.2.patch" Content-Disposition: attachment; filename="rm.2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h67j55o41 RnJvbSA5YjhkNmU3NTI3NjdlMjg2Y2NjODQ3ZjAzNTE4ZGVjNWFmOWFiYmM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2IgRGF5IDxyb2JlcnRrZGF5QGdtYWlsLmNvbT4KRGF0ZTog V2VkLCAyMiBBdWcgMjAxMiAyMzowNDoxOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSBybTog YWRkIHRlc3QgdG8gY2hlY2sgdGhhdCBybSAtZCAtaSB3b3JrcwoKLS0tCiB0ZXN0cy9NYWtlZmls ZS5hbSB8ICAxICsKIHRlc3RzL3JtL2QtMyAgICAgIHwgMzcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA3NTUgdGVzdHMvcm0vZC0zCgpkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUu YW0gYi90ZXN0cy9NYWtlZmlsZS5hbQppbmRleCBhY2Q4MTZkLi44N2Q2Y2FkIDEwMDY0NAotLS0g YS90ZXN0cy9NYWtlZmlsZS5hbQorKysgYi90ZXN0cy9NYWtlZmlsZS5hbQpAQCAtMTAxLDYgKzEw MSw3IEBAIFRFU1RTID0JCQkJCQlcCiAgIG1pc2MvbHMtdGltZQkJCQkJXAogICBybS9kLTEJCQkJ CVwKICAgcm0vZC0yCQkJCQlcCisgIHJtL2QtMwkJCQkJXAogICBybS9kZWVwLTEJCQkJCVwKICAg cm0vZGVlcC0yCQkJCQlcCiAgIHJtL2Rpci1uby13CQkJCQlcCmRpZmYgLS1naXQgYS90ZXN0cy9y bS9kLTMgYi90ZXN0cy9ybS9kLTMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4u NmVjMDY3ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3JtL2QtMwpAQCAtMCwwICsxLDM3IEBA CisjIS9iaW4vc2gKKyMgRW5zdXJlIHRoYXQgJ3JtIC1kIGRpcicgKGkuZS4sIHdpdGhvdXQgLS1y ZWN1cnNpdmUpIGdpdmVzIGEgcmVhc29uYWJsZQorIyBkaWFnbm9zdGljIHdoZW4gZmFpbGluZy4K KworIyBDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisK KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorCisuICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5k XyAuLi9zcmMKK3ByaW50X3Zlcl8gcm0KKworbWtkaXIgZCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8K KworZWNobyAieSIgfCBybSAtaSAtZCAtLXZlcmJvc2UgZCA+IG91dCAyPiBvdXQuZXJyIHx8IGZh aWw9MQorcHJpbnRmICIlcyIgXAorICAgICJybTogcmVtb3ZlIGRpcmVjdG9yeSAnZCc/ICIgXAor ICAgID4gZXhwLmVyciB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKworcHJpbnRmICIlc1xuIiBcCisg ICAgInJlbW92ZWQgZGlyZWN0b3J5OiAnZCciIFwKKyAgICA+IGV4cCB8fCBmcmFtZXdvcmtfZmFp bHVyZV8KKworY29tcGFyZSBleHAgb3V0IHx8IGZhaWw9MQorY29tcGFyZSBleHAuZXJyIG91dC5l cnIgfHwgZmFpbD0xCisKK0V4aXQgJGZhaWwKLS0gCjEuNy4xMS4yCgoKRnJvbSA4NmQ0NzlmMzNi ZmU0OWMyZmEyYjk1NDY1MDEyZTUwMWUzNWFlNWIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBSb2IgRGF5IDxyb2JlcnRrZGF5QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBBdWcgMjAx MiAyMzowNjo1NSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSBybTogZml4ZWQgYnVnICMxMjI2 MCAocm0gLWQgLWkpCgotLS0KIHNyYy9yZW1vdmUuYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9yZW1vdmUu YyBiL3NyYy9yZW1vdmUuYwppbmRleCBjNDk3MmFjLi4yZjllODZiIDEwMDY0NAotLS0gYS9zcmMv cmVtb3ZlLmMKKysrIGIvc3JjL3JlbW92ZS5jCkBAIC0yMzgsNyArMjM4LDkgQEAgcHJvbXB0IChG VFMgY29uc3QgKmZ0cywgRlRTRU5UIGNvbnN0ICplbnQsIGJvb2wgaXNfZGlyLAogICAgICAgICAg ICAgYnJlYWs7CiAKICAgICAgICAgICBjYXNlIERUX0RJUjoKLSAgICAgICAgICAgIGlmICgheC0+ cmVjdXJzaXZlKQorICAgICAgICAgICAgaWYgKCF4LT5yZWN1cnNpdmUKKyAgICAgICAgICAgICAg ICAmJiAhKHgtPnJlbW92ZV9lbXB0eV9kaXJlY3RvcmllcworICAgICAgICAgICAgICAgICAgICAg JiYgaXNfZW1wdHlfZGlyIChmdHMtPmZ0c19jd2RfZmQsIGVudC0+ZnRzX2FjY3BhdGgpKSkKICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHdyaXRlX3Byb3RlY3RlZCA9IC0xOwogICAg ICAgICAgICAgICAgIHdwX2Vycm5vID0gRUlTRElSOwotLSAKMS43LjExLjIKCgpGcm9tIDBlYTNk YmQ2MjMyYmNiZmQ4ZmZmMDE2NjdmMjhjYjg2MDMyZTMyMDAgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFJvYiBEYXkgPHJvYmVydGtkYXlAZ21haWwuY29tPgpEYXRlOiBUaHUsIDIzIEF1 ZyAyMDEyIDAwOjM2OjMzICswMTAwClN1YmplY3Q6IFtQQVRDSCAzLzVdIHJtOiB1cGRhdGVkIGNv bW1lbnQgaW4gdGVzdCBybS9kLTMKCi0tLQogdGVzdHMvcm0vZC0zIHwgNCArKy0tCiAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rl c3RzL3JtL2QtMyBiL3Rlc3RzL3JtL2QtMwppbmRleCA2ZWMwNjdkLi4yZjJjZjc0IDEwMDc1NQot LS0gYS90ZXN0cy9ybS9kLTMKKysrIGIvdGVzdHMvcm0vZC0zCkBAIC0xLDYgKzEsNiBAQAogIyEv YmluL3NoCi0jIEVuc3VyZSB0aGF0ICdybSAtZCBkaXInIChpLmUuLCB3aXRob3V0IC0tcmVjdXJz aXZlKSBnaXZlcyBhIHJlYXNvbmFibGUKLSMgZGlhZ25vc3RpYyB3aGVuIGZhaWxpbmcuCisjIEVu c3VyZSB0aGF0ICdybSAtZCAtaSBkaXInIChpLmUuLCB3aXRob3V0IC0tcmVjdXJzaXZlKSBnaXZl cyBhIHByb21wdCBhbmQKKyMgdGhlbiBkZWxldGVzIHRoZSBkaXJlY3RvcnkgaWYgaXQgaXMgZW1w dHkKIAogIyBDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CiAKLS0gCjEuNy4xMS4yCgoKRnJvbSBiNGUwM2I4ODM0ZmI3YzYwNmEwMDAwZjFhZjA2NjZiYTUy YzMyYmIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2IgRGF5IDxyb2JlcnRrZGF5 QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyMyBBdWcgMjAxMiAwMDo0NTo1NyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggNC81XSBybTogdXBkYXRlZCBORVdTIHRvIGluY2x1ZGUgZml4IG9mIGJ1ZyAjMTIy NjAKCi0tLQogTkVXUyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9ORVdTIGIvTkVXUwppbmRleCBkOGE0N2FiLi4yNTc0ODliIDEwMDY0NAotLS0g YS9ORVdTCisrKyBiL05FV1MKQEAgLTksNiArOSw4IEBAIEdOVSBjb3JldXRpbHMgTkVXUyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBvdXRsaW5lIC0qLQogICBpdCBkZXRl Y3RzIHRoaXMgcHJlY2lzZSB0eXBlIG9mIGN5Y2xlLCBkaWFnbm9zZXMgaXQgYXMgc3VjaCBhbmQK ICAgZXZlbnR1YWxseSBleGl0cyBub256ZXJvLgogCisgIHJtIC1pIC1kIG5vdyBwcm9tcHRzIHRo ZSB1c2VyIHRoZW4gcmVtb3ZlcyBhbiBlbXB0eSBkaXJlY3RvcnksIHJhdGhlciB0aGFuCisgIGln bm9yaW5nIHRoZSAtZCBvcHRpb24gYW5kIGZhaWxpbmcgd2l0aCBhbiAnSXMgYSBkaXJlY3Rvcnkn IGVycm9yLgogCiAqIE5vdGV3b3J0aHkgY2hhbmdlcyBpbiByZWxlYXNlIDguMTkgKDIwMTItMDgt MjApIFtzdGFibGVdCiAKLS0gCjEuNy4xMS4yCgoKRnJvbSA2YzZjYThjZjdmMTFlYTQxZjIwMTNh YTA2NjM0ZTExOWU1MTY3NDRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2IgRGF5 IDxyb2JlcnRrZGF5QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyMyBBdWcgMjAxMiAwODoyMzoyOCAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggNS81XSBybTogaW1wcm92ZWQgY29tbWVudHM7IG1vdmVkIHRo ZSBpc19lbXB0eSBib29sIGVhcmxpZXIKIGluIHRoZSBjb2RlCgotLS0KIHNyYy9yZW1vdmUuYyB8 IDI4ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNl cnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvcmVtb3ZlLmMgYi9z cmMvcmVtb3ZlLmMKaW5kZXggMmY5ZTg2Yi4uMDZiYzkyNiAxMDA2NDQKLS0tIGEvc3JjL3JlbW92 ZS5jCisrKyBiL3NyYy9yZW1vdmUuYwpAQCAtMTkwLDYgKzE5MCwxNiBAQCBwcm9tcHQgKEZUUyBj b25zdCAqZnRzLCBGVFNFTlQgY29uc3QgKmVudCwgYm9vbCBpc19kaXIsCiAgIGludCBkaXJlbnRf dHlwZSA9IGlzX2RpciA/IERUX0RJUiA6IERUX1VOS05PV047CiAgIGludCB3cml0ZV9wcm90ZWN0 ZWQgPSAwOwogCisgIGJvb2wgaXNfZW1wdHk7CisgIGlmIChpc19lbXB0eV9wKQorICAgIHsKKyAg ICAgIGlzX2VtcHR5ID0gaXNfZW1wdHlfZGlyIChmZF9jd2QsIGZpbGVuYW1lKTsKKyAgICAgICpp c19lbXB0eV9wID0gaXNfZW1wdHkgPyBUX1lFUyA6IFRfTk87CisgICAgfQorICBlbHNlCisgICAg aXNfZW1wdHkgPSBmYWxzZTsKKworCiAgIC8qIFdoZW4gbm9uemVybywgdGhpcyBpbmRpY2F0ZXMg dGhhdCB3ZSBmYWlsZWQgdG8gcmVtb3ZlIGEgY2hpbGQgZW50cnksCiAgICAgIGVpdGhlciBiZWNh dXNlIHRoZSB1c2VyIGRlY2xpbmVkIGFuIGludGVyYWN0aXZlIHByb21wdCwgb3IgZHVlIHRvCiAg ICAgIHNvbWUgb3RoZXIgZmFpbHVyZSwgbGlrZSBwZXJtaXNzaW9ucy4gICovCkBAIC0yMzgsOSAr MjQ4LDExIEBAIHByb21wdCAoRlRTIGNvbnN0ICpmdHMsIEZUU0VOVCBjb25zdCAqZW50LCBib29s IGlzX2RpciwKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgY2FzZSBEVF9ESVI6Cisg ICAgICAgICAgICAgLyogVW5sZXNzIHdlJ3JlIGVpdGhlciBkZWxldGluZyBkaXJlY3RvcmllcyBv ciBkZWxldGluZworICAgICAgICAgICAgICAqIHJlY3Vyc2l2ZWx5LCB3ZSB3YW50IHRvIHJhaXNl IGFuIEVJU0RJUiBlcnJvciByYXRoZXIgdGhhbgorICAgICAgICAgICAgICAqIHByb21wdGluZyB0 aGUgdXNlciAgKi8KICAgICAgICAgICAgIGlmICgheC0+cmVjdXJzaXZlCi0gICAgICAgICAgICAg ICAgJiYgISh4LT5yZW1vdmVfZW1wdHlfZGlyZWN0b3JpZXMKLSAgICAgICAgICAgICAgICAgICAg ICYmIGlzX2VtcHR5X2RpciAoZnRzLT5mdHNfY3dkX2ZkLCBlbnQtPmZ0c19hY2NwYXRoKSkpCisg ICAgICAgICAgICAgICAgJiYgISh4LT5yZW1vdmVfZW1wdHlfZGlyZWN0b3JpZXMgJiYgaXNfZW1w dHkpKQogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgd3JpdGVfcHJvdGVjdGVkID0g LTE7CiAgICAgICAgICAgICAgICAgd3BfZXJybm8gPSBFSVNESVI7CkBAIC0yNTYsMTUgKzI2OCw2 IEBAIHByb21wdCAoRlRTIGNvbnN0ICpmdHMsIEZUU0VOVCBjb25zdCAqZW50LCBib29sIGlzX2Rp ciwKICAgICAgICAgICByZXR1cm4gUk1fRVJST1I7CiAgICAgICAgIH0KIAotICAgICAgYm9vbCBp c19lbXB0eTsKLSAgICAgIGlmIChpc19lbXB0eV9wKQotICAgICAgICB7Ci0gICAgICAgICAgaXNf ZW1wdHkgPSBpc19lbXB0eV9kaXIgKGZkX2N3ZCwgZmlsZW5hbWUpOwotICAgICAgICAgICppc19l bXB0eV9wID0gaXNfZW1wdHkgPyBUX1lFUyA6IFRfTk87Ci0gICAgICAgIH0KLSAgICAgIGVsc2UK LSAgICAgICAgaXNfZW1wdHkgPSBmYWxzZTsKLQogICAgICAgLyogSXNzdWUgdGhlIHByb21wdC4g ICovCiAgICAgICBpZiAoZGlyZW50X3R5cGUgPT0gRFRfRElSCiAgICAgICAgICAgJiYgbW9kZSA9 PSBQQV9ERVNDRU5EX0lOVE9fRElSCkBAIC00MjIsNyArNDI1LDggQEAgcm1fZnRzIChGVFMgKmZ0 cywgRlRTRU5UICplbnQsIHN0cnVjdCBybV9vcHRpb25zIGNvbnN0ICp4KQogICAgICAgICB7CiAg ICAgICAgICAgLyogVGhpcyBpcyB0aGUgZmlyc3QgKHByZS1vcmRlcikgZW5jb3VudGVyIHdpdGgg YSBkaXJlY3RvcnkKICAgICAgICAgICAgICB0aGF0IHdlIGNhbm5vdCBkZWxldGUuCi0gICAgICAg ICAgICAgTm90IHJlY3Vyc2l2ZSwgc28gYXJyYW5nZSB0byBza2lwIGNvbnRlbnRzLiAgKi8KKyAg ICAgICAgICAgICBOb3QgcmVjdXJzaXZlLCBhbmQgaXQncyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5 IChpZiB3ZSdyZSByZW1vdmluZworICAgICAgICAgICAgIHRoZW0pICBzbyBhcnJhbmdlIHRvIHNr aXAgY29udGVudHMuICAqLwogICAgICAgICAgIGludCBlcnIgPSB4LT5yZW1vdmVfZW1wdHlfZGly ZWN0b3JpZXMgPyBFTk9URU1QVFkgOiBFSVNESVI7CiAgICAgICAgICAgZXJyb3IgKDAsIGVyciwg XygiY2Fubm90IHJlbW92ZSAlcyIpLCBxdW90ZSAoZW50LT5mdHNfcGF0aCkpOwogICAgICAgICAg IG1hcmtfYW5jZXN0b3JfZGlycyAoZW50KTsKLS0gCjEuNy4xMS4yCgo= --047d7b6dbfd4323a6804c7e9d119-- From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: [patch] rm -d in coreutils 8.19 Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 23 Aug 2012 17:30:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: 12260@debbugs.gnu.org, Robert Day Received: via spool by 12260-submit@debbugs.gnu.org id=B12260.134574294826108 (code B ref 12260); Thu, 23 Aug 2012 17:30:01 +0000 Received: (at 12260) by debbugs.gnu.org; 23 Aug 2012 17:29:08 +0000 Received: from localhost ([127.0.0.1]:45314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4bDP-0006n2-EA for submit@debbugs.gnu.org; Thu, 23 Aug 2012 13:29:08 -0400 Received: from mx.meyering.net ([88.168.87.75]:54075) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4bDM-0006mu-8m for 12260@debbugs.gnu.org; Thu, 23 Aug 2012 13:29:05 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 7C14460098; Thu, 23 Aug 2012 19:28:31 +0200 (CEST) From: Jim Meyering In-Reply-To: <5036178D.9070402@draigBrady.com> ("=?UTF-8?Q?P=C3=A1draig?= Brady"'s message of "Thu, 23 Aug 2012 12:44:13 +0100") References: <50350164.8050005@atl.lmco.com> <5036178D.9070402@draigBrady.com> Date: Thu, 23 Aug 2012 19:28:31 +0200 Message-ID: <87a9xlldq8.fsf@rho.meyering.net> Lines: 51 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.1 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.1 (--) P=E1draig Brady wrote: > On 08/23/2012 12:17 PM, Robert Day wrote: >> On 22 August 2012 23:23, Robert Day wrote: >> >>> I've attached a patch which fixes this bug and adds a test of that code >>> path. The fixes can also be retrieved from >>> https://github.com/rkd91/coreutils_rm_di_patch. >>> >> >> I've made a couple of related fixes (comments/code niceness and adding a >> NEWS item), so I've attached a new patch and updated my github. > > Thanks for handling that Robert. > It's on the borderline for copyright assignment > (which I don't think you have?). > It's probably OK to waive in this case anyway. I agree that it's borderline, but also that it's ok. > I've not got time to fully squash/review your > patches just now, but we'll add them in soon. I'm going through it now, constructing a proper commit log, attributing the reporter, fixing NEWS to avoid the minor syntax-check failure, adjusting comment formatting, e.g., diff --git a/src/remove.c b/src/remove.c index 06bc926..2dbb441 100644 --- a/src/remove.c +++ b/src/remove.c @@ -199,7 +199,6 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_dir, else is_empty =3D false; - /* When nonzero, this indicates that we failed to remove a child entry, either because the user declined an interactive prompt, or due to some other failure, like permissions. */ @@ -249,8 +248,8 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_dir, case DT_DIR: /* Unless we're either deleting directories or deleting - * recursively, we want to raise an EISDIR error rather than - * prompting the user */ + recursively, we want to raise an EISDIR error rather than + prompting the user */ if (!x->recursive && !(x->remove_empty_directories && is_empty)) { I'll post for final review shortly. From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: [patch] rm -d in coreutils 8.19 Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 23 Aug 2012 17:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: 12260@debbugs.gnu.org, Robert Day Received: via spool by 12260-submit@debbugs.gnu.org id=B12260.134574353827010 (code B ref 12260); Thu, 23 Aug 2012 17:39:02 +0000 Received: (at 12260) by debbugs.gnu.org; 23 Aug 2012 17:38:58 +0000 Received: from localhost ([127.0.0.1]:45344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4bMw-00071b-11 for submit@debbugs.gnu.org; Thu, 23 Aug 2012 13:38:58 -0400 Received: from mx.meyering.net ([88.168.87.75]:54107) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4bMs-00071S-Jl for 12260@debbugs.gnu.org; Thu, 23 Aug 2012 13:38:56 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 0F9416000E; Thu, 23 Aug 2012 19:38:21 +0200 (CEST) From: Jim Meyering In-Reply-To: <87a9xlldq8.fsf@rho.meyering.net> (Jim Meyering's message of "Thu, 23 Aug 2012 19:28:31 +0200") References: <50350164.8050005@atl.lmco.com> <5036178D.9070402@draigBrady.com> <87a9xlldq8.fsf@rho.meyering.net> Date: Thu, 23 Aug 2012 19:38:21 +0200 Message-ID: <874nntld9u.fsf@rho.meyering.net> Lines: 101 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.1 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.1 (--) Jim Meyering wrote: > P=E1draig Brady wrote: >> On 08/23/2012 12:17 PM, Robert Day wrote: >>> On 22 August 2012 23:23, Robert Day wrote: >>> >>>> I've attached a patch which fixes this bug and adds a test of that code >>>> path. The fixes can also be retrieved from >>>> https://github.com/rkd91/coreutils_rm_di_patch. >>>> >>> >>> I've made a couple of related fixes (comments/code niceness and adding a >>> NEWS item), so I've attached a new patch and updated my github. >> >> Thanks for handling that Robert. >> It's on the borderline for copyright assignment >> (which I don't think you have?). >> It's probably OK to waive in this case anyway. > > I agree that it's borderline, but also that it's ok. > >> I've not got time to fully squash/review your >> patches just now, but we'll add them in soon. > > I'm going through it now, constructing a proper commit log, attributing > the reporter, fixing NEWS to avoid the minor syntax-check failure, > adjusting comment formatting, e.g., > > diff --git a/src/remove.c b/src/remove.c > index 06bc926..2dbb441 100644 > --- a/src/remove.c > +++ b/src/remove.c > @@ -199,7 +199,6 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_di= r, > else > is_empty =3D false; > > - > /* When nonzero, this indicates that we failed to remove a child entry, > either because the user declined an interactive prompt, or due to > some other failure, like permissions. */ > @@ -249,8 +248,8 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_di= r, > > case DT_DIR: > /* Unless we're either deleting directories or deleting > - * recursively, we want to raise an EISDIR error rather than > - * prompting the user */ > + recursively, we want to raise an EISDIR error rather than > + prompting the user */ > if (!x->recursive > && !(x->remove_empty_directories && is_empty)) > { > > I'll post for final review shortly. Here's another few code changes: The first hunk is because I don't like dangling single-line brace-less "else" bodies when the then block has braces, and beside that first hunk saves one line. The second factors out an "!", and makes it a little easier to read. The third removes a stray doubled space. diff --git a/src/remove.c b/src/remove.c index 2dbb441..69faae6 100644 --- a/src/remove.c +++ b/src/remove.c @@ -190,14 +190,12 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_di= r, int dirent_type =3D is_dir ? DT_DIR : DT_UNKNOWN; int write_protected =3D 0; - bool is_empty; + bool is_empty =3D false; if (is_empty_p) { is_empty =3D is_empty_dir (fd_cwd, filename); *is_empty_p =3D is_empty ? T_YES : T_NO; } - else - is_empty =3D false; /* When nonzero, this indicates that we failed to remove a child entry, either because the user declined an interactive prompt, or due to @@ -250,8 +248,7 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_dir, /* Unless we're either deleting directories or deleting recursively, we want to raise an EISDIR error rather than prompting the user */ - if (!x->recursive - && !(x->remove_empty_directories && is_empty)) + if ( ! (x->recursive || (x->remove_empty_directories && is_emp= ty))) { write_protected =3D -1; wp_errno =3D EISDIR; @@ -425,7 +422,7 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const = *x) /* This is the first (pre-order) encounter with a directory that we cannot delete. Not recursive, and it's not an empty directory (if we're remo= ving - them) so arrange to skip contents. */ + them) so arrange to skip contents. */ int err =3D x->remove_empty_directories ? ENOTEMPTY : EISDIR; error (0, err, _("cannot remove %s"), quote (ent->fts_path)); mark_ancestor_dirs (ent); From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: [patch] rm -d in coreutils 8.19 Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 23 Aug 2012 18:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: 12260@debbugs.gnu.org, Robert Day Received: via spool by 12260-submit@debbugs.gnu.org id=B12260.13457480391071 (code B ref 12260); Thu, 23 Aug 2012 18:54:01 +0000 Received: (at 12260) by debbugs.gnu.org; 23 Aug 2012 18:53:59 +0000 Received: from localhost ([127.0.0.1]:45390 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4cXW-0000HD-QB for submit@debbugs.gnu.org; Thu, 23 Aug 2012 14:53:59 -0400 Received: from mx.meyering.net ([88.168.87.75]:54295) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4cXT-0000H4-96 for 12260@debbugs.gnu.org; Thu, 23 Aug 2012 14:53:57 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 694A160096; Thu, 23 Aug 2012 20:53:22 +0200 (CEST) From: Jim Meyering In-Reply-To: <874nntld9u.fsf@rho.meyering.net> (Jim Meyering's message of "Thu, 23 Aug 2012 19:38:21 +0200") References: <50350164.8050005@atl.lmco.com> <5036178D.9070402@draigBrady.com> <87a9xlldq8.fsf@rho.meyering.net> <874nntld9u.fsf@rho.meyering.net> Date: Thu, 23 Aug 2012 20:53:22 +0200 Message-ID: <87y5l5jv8d.fsf@rho.meyering.net> Lines: 196 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.1 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.1 (--) Jim Meyering wrote: > Jim Meyering wrote: >> P=E1draig Brady wrote: >>> On 08/23/2012 12:17 PM, Robert Day wrote: >>>> On 22 August 2012 23:23, Robert Day wrote: >>>> >>>>> I've attached a patch which fixes this bug and adds a test of that co= de >>>>> path. The fixes can also be retrieved from >>>>> https://github.com/rkd91/coreutils_rm_di_patch. >>>>> >>>> >>>> I've made a couple of related fixes (comments/code niceness and adding= a >>>> NEWS item), so I've attached a new patch and updated my github. >>> >>> Thanks for handling that Robert. >>> It's on the borderline for copyright assignment >>> (which I don't think you have?). >>> It's probably OK to waive in this case anyway. >> >> I agree that it's borderline, but also that it's ok. >> >>> I've not got time to fully squash/review your >>> patches just now, but we'll add them in soon. >> >> I'm going through it now, constructing a proper commit log, attributing >> the reporter, fixing NEWS to avoid the minor syntax-check failure, >> adjusting comment formatting, e.g., Thanks again for the patch, Robert. I'll wait for your ACK before pushing this. >From dd22da8e9539cc88193987b6997769ae4ede2b15 Mon Sep 17 00:00:00 2001 From: Rob Day Date: Wed, 22 Aug 2012 23:04:19 +0100 Subject: [PATCH] rm: fix the new --dir (-d) option to work with -i * src/remove.c (prompt): Hoist the computation of is_empty, since we'll need it slightly earlier. Before, this function would arrange to fail with EISDIR when processing a directory without --recursive (-r). Adjust the condition to exempt an empty directory when --dir has been specified. Improve comments. * tests/rm/d-3: New file, to ensure that rm -d -i dir works. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. * THANKS.in: Update. Reported by Michael Price in http://bugs.gnu.org/12260 --- NEWS | 4 ++++ THANKS.in | 1 + src/remove.c | 24 +++++++++++++----------- tests/Makefile.am | 1 + tests/rm/d-3 | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 56 insertions(+), 11 deletions(-) create mode 100755 tests/rm/d-3 diff --git a/NEWS b/NEWS index d8a47ab..e6d79bf 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ GNU coreutils NEWS -*- = outline -*- it detects this precise type of cycle, diagnoses it as such and eventually exits nonzero. + rm -i -d now prompts the user then removes an empty directory, rather + than ignoring the -d option and failing with an 'Is a directory' error. + [bug introduced in coreutils-8.19, with the addition of --dir (-d)] + * Noteworthy changes in release 8.19 (2012-08-20) [stable] diff --git a/THANKS.in b/THANKS.in index ca22e15..f288174 100644 --- a/THANKS.in +++ b/THANKS.in @@ -425,6 +425,7 @@ Michael McFarland sidlon@yahoo.com Michael McLagan mmclagan@invlogic.com Michael Mol mikemol@gmail.com Michael Piefel piefel@informatik.hu-berlin.de +Michael Price mprice@atl.lmco.com Michael Steffens michael.steffens@s.netic.de Michael Stummvoll michael@stummi.org Michael Stutz stutz@dsl.org diff --git a/src/remove.c b/src/remove.c index c4972ac..69faae6 100644 --- a/src/remove.c +++ b/src/remove.c @@ -190,6 +190,13 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_dir, int dirent_type =3D is_dir ? DT_DIR : DT_UNKNOWN; int write_protected =3D 0; + bool is_empty =3D false; + if (is_empty_p) + { + is_empty =3D is_empty_dir (fd_cwd, filename); + *is_empty_p =3D is_empty ? T_YES : T_NO; + } + /* When nonzero, this indicates that we failed to remove a child entry, either because the user declined an interactive prompt, or due to some other failure, like permissions. */ @@ -238,7 +245,10 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_dir, break; case DT_DIR: - if (!x->recursive) + /* Unless we're either deleting directories or deleting + recursively, we want to raise an EISDIR error rather than + prompting the user */ + if ( ! (x->recursive || (x->remove_empty_directories && is_emp= ty))) { write_protected =3D -1; wp_errno =3D EISDIR; @@ -254,15 +264,6 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_dir, return RM_ERROR; } - bool is_empty; - if (is_empty_p) - { - is_empty =3D is_empty_dir (fd_cwd, filename); - *is_empty_p =3D is_empty ? T_YES : T_NO; - } - else - is_empty =3D false; - /* Issue the prompt. */ if (dirent_type =3D=3D DT_DIR && mode =3D=3D PA_DESCEND_INTO_DIR @@ -420,7 +421,8 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const = *x) { /* This is the first (pre-order) encounter with a directory that we cannot delete. - Not recursive, so arrange to skip contents. */ + Not recursive, and it's not an empty directory (if we're remo= ving + them) so arrange to skip contents. */ int err =3D x->remove_empty_directories ? ENOTEMPTY : EISDIR; error (0, err, _("cannot remove %s"), quote (ent->fts_path)); mark_ancestor_dirs (ent); diff --git a/tests/Makefile.am b/tests/Makefile.am index acd816d..87d6cad 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -101,6 +101,7 @@ TESTS =3D \ misc/ls-time \ rm/d-1 \ rm/d-2 \ + rm/d-3 \ rm/deep-1 \ rm/deep-2 \ rm/dir-no-w \ diff --git a/tests/rm/d-3 b/tests/rm/d-3 new file mode 100755 index 0000000..2f2cf74 --- /dev/null +++ b/tests/rm/d-3 @@ -0,0 +1,37 @@ +#!/bin/sh +# Ensure that 'rm -d -i dir' (i.e., without --recursive) gives a prompt and +# then deletes the directory if it is empty + +# Copyright (C) 2012 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +. "${srcdir=3D.}/init.sh"; path_prepend_ ../src +print_ver_ rm + +mkdir d || framework_failure_ + +echo "y" | rm -i -d --verbose d > out 2> out.err || fail=3D1 +printf "%s" \ + "rm: remove directory 'd'? " \ + > exp.err || framework_failure_ + +printf "%s\n" \ + "removed directory: 'd'" \ + > exp || framework_failure_ + +compare exp out || fail=3D1 +compare exp.err out.err || fail=3D1 + +Exit $fail -- 1.7.12.70.g851f7e6 From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: [patch] rm -d in coreutils 8.19 Resent-From: Robert Day Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 23 Aug 2012 19:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jim Meyering Cc: 12260@debbugs.gnu.org, =?UTF-8?Q?P=C3=A1draig?= Brady Received: via spool by 12260-submit@debbugs.gnu.org id=B12260.13457488242221 (code B ref 12260); Thu, 23 Aug 2012 19:08:02 +0000 Received: (at 12260) by debbugs.gnu.org; 23 Aug 2012 19:07:04 +0000 Received: from localhost ([127.0.0.1]:45418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4ckB-0000Zk-3e for submit@debbugs.gnu.org; Thu, 23 Aug 2012 15:07:04 -0400 Received: from mail-vc0-f172.google.com ([209.85.220.172]:46787) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4ck8-0000ZL-95 for 12260@debbugs.gnu.org; Thu, 23 Aug 2012 15:07:02 -0400 Received: by vcbfo14 with SMTP id fo14so1479351vcb.3 for <12260@debbugs.gnu.org>; Thu, 23 Aug 2012 12:06:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=jar+fXdAHCK8vqgYw4dtv5971hmNzALT+EM3RUxRO0w=; b=emJ8/Nw9a8RJXLcLl4owuHc1pUewiMBWwxoyWBlQohLGrF5aTssaoq2Qx0cexlDs/1 RU3cpz0pt7ogwipaDROuxwAhBG4uTncBKouKV6RtkNq8qQlzLjQ3hPAtwgmqHqCKE1TW i5P+0u8RjgE0kbUz0gTml4a1jHY/+ojXVuuk4go92XDtHm37q/oNnQ2pEZWFqqwZEL9N +fiklp/M53mt9A684F4w5CkBj+L1Ob5Zidc30V/o/JsLXBhjfxsizNpXL/lK+hQDVRUD /sdJDvW28KhojZxl/w/zg6WQreFvCtdZAj6omTpzwtT0GJCBt4mqQMOe3qXmqXFAzFuQ a7gA== MIME-Version: 1.0 Received: by 10.52.33.165 with SMTP id s5mr1882594vdi.51.1345748787879; Thu, 23 Aug 2012 12:06:27 -0700 (PDT) Received: by 10.58.116.165 with HTTP; Thu, 23 Aug 2012 12:06:27 -0700 (PDT) In-Reply-To: <87y5l5jv8d.fsf@rho.meyering.net> References: <50350164.8050005@atl.lmco.com> <5036178D.9070402@draigBrady.com> <87a9xlldq8.fsf@rho.meyering.net> <874nntld9u.fsf@rho.meyering.net> <87y5l5jv8d.fsf@rho.meyering.net> Date: Thu, 23 Aug 2012 20:06:27 +0100 Message-ID: From: Robert Day Content-Type: multipart/alternative; boundary=20cf3079bc70755e5104c7f38e9a X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) --20cf3079bc70755e5104c7f38e9a Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Looks good to me; feel free to push it. I'll be mindful of your comments on else-statement style, comment formatting etc. if and when I submit another coreutils patch. Cheers, Rob On 23 August 2012 19:53, Jim Meyering wrote: > Jim Meyering wrote: > > Jim Meyering wrote: > >> P=E1draig Brady wrote: > >>> On 08/23/2012 12:17 PM, Robert Day wrote: > >>>> On 22 August 2012 23:23, Robert Day wrote: > >>>> > >>>>> I've attached a patch which fixes this bug and adds a test of that > code > >>>>> path. The fixes can also be retrieved from > >>>>> https://github.com/rkd91/coreutils_rm_di_patch. > >>>>> > >>>> > >>>> I've made a couple of related fixes (comments/code niceness and > adding a > >>>> NEWS item), so I've attached a new patch and updated my github. > >>> > >>> Thanks for handling that Robert. > >>> It's on the borderline for copyright assignment > >>> (which I don't think you have?). > >>> It's probably OK to waive in this case anyway. > >> > >> I agree that it's borderline, but also that it's ok. > >> > >>> I've not got time to fully squash/review your > >>> patches just now, but we'll add them in soon. > >> > >> I'm going through it now, constructing a proper commit log, attributin= g > >> the reporter, fixing NEWS to avoid the minor syntax-check failure, > >> adjusting comment formatting, e.g., > > Thanks again for the patch, Robert. > I'll wait for your ACK before pushing this. > > From dd22da8e9539cc88193987b6997769ae4ede2b15 Mon Sep 17 00:00:00 2001 > From: Rob Day > Date: Wed, 22 Aug 2012 23:04:19 +0100 > Subject: [PATCH] rm: fix the new --dir (-d) option to work with -i > > * src/remove.c (prompt): Hoist the computation of is_empty, since we'll > need it slightly earlier. > Before, this function would arrange to fail with EISDIR when processing > a directory without --recursive (-r). Adjust the condition to exempt > an empty directory when --dir has been specified. > Improve comments. > * tests/rm/d-3: New file, to ensure that rm -d -i dir works. > * tests/Makefile.am (TESTS): Add it. > * NEWS (Bug fixes): Mention it. > * THANKS.in: Update. > Reported by Michael Price in http://bugs.gnu.org/12260 > --- > NEWS | 4 ++++ > THANKS.in | 1 + > src/remove.c | 24 +++++++++++++----------- > tests/Makefile.am | 1 + > tests/rm/d-3 | 37 +++++++++++++++++++++++++++++++++++++ > 5 files changed, 56 insertions(+), 11 deletions(-) > create mode 100755 tests/rm/d-3 > > diff --git a/NEWS b/NEWS > index d8a47ab..e6d79bf 100644 > --- a/NEWS > +++ b/NEWS > @@ -9,6 +9,10 @@ GNU coreutils NEWS -*= - > outline -*- > it detects this precise type of cycle, diagnoses it as such and > eventually exits nonzero. > > + rm -i -d now prompts the user then removes an empty directory, rather > + than ignoring the -d option and failing with an 'Is a directory' error= . > + [bug introduced in coreutils-8.19, with the addition of --dir (-d)] > + > > * Noteworthy changes in release 8.19 (2012-08-20) [stable] > > diff --git a/THANKS.in b/THANKS.in > index ca22e15..f288174 100644 > --- a/THANKS.in > +++ b/THANKS.in > @@ -425,6 +425,7 @@ Michael McFarland sidlon@yahoo.com > Michael McLagan mmclagan@invlogic.com > Michael Mol mikemol@gmail.com > Michael Piefel piefel@informatik.hu-berlin.de > +Michael Price mprice@atl.lmco.com > Michael Steffens michael.steffens@s.netic.de > Michael Stummvoll michael@stummi.org > Michael Stutz stutz@dsl.org > diff --git a/src/remove.c b/src/remove.c > index c4972ac..69faae6 100644 > --- a/src/remove.c > +++ b/src/remove.c > @@ -190,6 +190,13 @@ prompt (FTS const *fts, FTSENT const *ent, bool > is_dir, > int dirent_type =3D is_dir ? DT_DIR : DT_UNKNOWN; > int write_protected =3D 0; > > + bool is_empty =3D false; > + if (is_empty_p) > + { > + is_empty =3D is_empty_dir (fd_cwd, filename); > + *is_empty_p =3D is_empty ? T_YES : T_NO; > + } > + > /* When nonzero, this indicates that we failed to remove a child entry= , > either because the user declined an interactive prompt, or due to > some other failure, like permissions. */ > @@ -238,7 +245,10 @@ prompt (FTS const *fts, FTSENT const *ent, bool > is_dir, > break; > > case DT_DIR: > - if (!x->recursive) > + /* Unless we're either deleting directories or deleting > + recursively, we want to raise an EISDIR error rather tha= n > + prompting the user */ > + if ( ! (x->recursive || (x->remove_empty_directories && > is_empty))) > { > write_protected =3D -1; > wp_errno =3D EISDIR; > @@ -254,15 +264,6 @@ prompt (FTS const *fts, FTSENT const *ent, bool > is_dir, > return RM_ERROR; > } > > - bool is_empty; > - if (is_empty_p) > - { > - is_empty =3D is_empty_dir (fd_cwd, filename); > - *is_empty_p =3D is_empty ? T_YES : T_NO; > - } > - else > - is_empty =3D false; > - > /* Issue the prompt. */ > if (dirent_type =3D=3D DT_DIR > && mode =3D=3D PA_DESCEND_INTO_DIR > @@ -420,7 +421,8 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options cons= t > *x) > { > /* This is the first (pre-order) encounter with a directory > that we cannot delete. > - Not recursive, so arrange to skip contents. */ > + Not recursive, and it's not an empty directory (if we're > removing > + them) so arrange to skip contents. */ > int err =3D x->remove_empty_directories ? ENOTEMPTY : EISDIR; > error (0, err, _("cannot remove %s"), quote (ent->fts_path)); > mark_ancestor_dirs (ent); > diff --git a/tests/Makefile.am b/tests/Makefile.am > index acd816d..87d6cad 100644 > --- a/tests/Makefile.am > +++ b/tests/Makefile.am > @@ -101,6 +101,7 @@ TESTS =3D = \ > misc/ls-time \ > rm/d-1 \ > rm/d-2 \ > + rm/d-3 \ > rm/deep-1 \ > rm/deep-2 \ > rm/dir-no-w \ > diff --git a/tests/rm/d-3 b/tests/rm/d-3 > new file mode 100755 > index 0000000..2f2cf74 > --- /dev/null > +++ b/tests/rm/d-3 > @@ -0,0 +1,37 @@ > +#!/bin/sh > +# Ensure that 'rm -d -i dir' (i.e., without --recursive) gives a prompt > and > +# then deletes the directory if it is empty > + > +# Copyright (C) 2012 Free Software Foundation, Inc. > + > +# This program is free software: you can redistribute it and/or modify > +# it under the terms of the GNU General Public License as published by > +# the Free Software Foundation, either version 3 of the License, or > +# (at your option) any later version. > + > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > + > +# You should have received a copy of the GNU General Public License > +# along with this program. If not, see . > + > +. "${srcdir=3D.}/init.sh"; path_prepend_ ../src > +print_ver_ rm > + > +mkdir d || framework_failure_ > + > +echo "y" | rm -i -d --verbose d > out 2> out.err || fail=3D1 > +printf "%s" \ > + "rm: remove directory 'd'? " \ > + > exp.err || framework_failure_ > + > +printf "%s\n" \ > + "removed directory: 'd'" \ > + > exp || framework_failure_ > + > +compare exp out || fail=3D1 > +compare exp.err out.err || fail=3D1 > + > +Exit $fail > -- > 1.7.12.70.g851f7e6 > --20cf3079bc70755e5104c7f38e9a Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Looks good to me; feel free to push it. I'll be mindful of your comment= s on else-statement style, comment formatting etc. if and when I submit ano= ther coreutils patch.

Cheers,
Rob

On 23 August 2012 19:53, Jim Meyering <jim@meyering.net> wrot= e:
Jim Meyering wrote:
> Jim Meyering wrote:
>> P=E1draig Brady wrote:
>>> On 08/23/2012 12:17 PM, Robert Day wrote:
>>>> On 22 August 2012 23:23, Robert Day <robertkday@gmail.com> wrote:
>>>>
>>>>> I've attached a patch which fixes this bug and add= s a test of that code
>>>>> path. The fixes can also be retrieved from
>>>>> https://github.com/rkd91/coreutils_rm_di_patch.<= br> >>>>>
>>>>
>>>> I've made a couple of related fixes (comments/code nic= eness and adding a
>>>> NEWS item), so I've attached a new patch and updated m= y github.
>>>
>>> Thanks for handling that Robert.
>>> It's on the borderline for copyright assignment
>>> (which I don't think you have?).
>>> It's probably OK to waive in this case anyway.
>>
>> I agree that it's borderline, but also that it's ok.
>>
>>> I've not got time to fully squash/review your
>>> patches just now, but we'll add them in soon.
>>
>> I'm going through it now, constructing a proper commit log, at= tributing
>> the reporter, fixing NEWS to avoid the minor syntax-check failure,=
>> adjusting comment formatting, e.g.,

Thanks again for the patch, Robert.
I'll wait for your ACK before pushing this.

>From dd22da8e9539cc88193987b6997769ae4ede2b15 Mon Sep 17 00:00:00 2001
From: Rob Day <robertkday@gmail.= com>
Date: Wed, 22 Aug 2012 23:04:19 +0100
Subject: [PATCH] rm: fix the new --dir (-d) option to work with -i

* src/remove.c (prompt): Hoist the computation of is_empty, since we'll=
need it slightly earlier.
Before, this function would arrange to fail with EISDIR when processing
a directory without --recursive (-r). =A0Adjust the condition to exempt
an empty directory when --dir has been specified.
Improve comments.
* tests/rm/d-3: New file, to ensure that rm -d -i dir works.
* tests/Makefile.am (TESTS): Add it.
* NEWS (Bug fixes): Mention it.
* THANKS.in: Update.
Reported by Michael Price in http://bugs.gnu.org/12260
---
=A0NEWS =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A04 ++++
=A0THANKS.in =A0 =A0 =A0 =A0 | =A01 +
=A0src/remove.c =A0 =A0 =A0| 24 +++++++++++++-----------
=A0tests/Makefile.am | =A01 +
=A0tests/rm/d-3 =A0 =A0 =A0| 37 +++++++++++++++++++++++++++++++++++++
=A05 files changed, 56 insertions(+), 11 deletions(-)
=A0create mode 100755 tests/rm/d-3

diff --git a/NEWS b/NEWS
index d8a47ab..e6d79bf 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,10 @@ GNU coreutils NEWS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0-*- outline -*-
=A0 =A0it detects this precise type of cycle, diagnoses it as such and
=A0 =A0eventually exits nonzero.

+ =A0rm -i -d now prompts the user then removes an empty directory, rather<= br> + =A0than ignoring the -d option and failing with an 'Is a directory= 9; error.
+ =A0[bug introduced in coreutils-8.19, with the addition of --dir (-d)] +

=A0* Noteworthy changes in release 8.19 (2012-08-20) [stable]

diff --git a/THANKS.in b/THANKS.in
index ca22e15..f288174 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -425,6 +425,7 @@ Michael McFarland =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 <= a href=3D"mailto:sidlon@yahoo.com">sidlon@yahoo.com
=A0Michael McLagan =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 mmclagan@invlogic.com
=A0Michael Mol =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 mikemol@gmail.com
=A0Michael Piefel =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0piefel@informatik.hu-berlin.de
+Michael Price =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 mprice@atl.lmco.com
=A0Michael Steffens =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0michael.steffens@s.netic.de
=A0Michael Stummvoll =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 michael@stummi.org
=A0Michael Stutz =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 stutz@dsl.org
diff --git a/src/remove.c b/src/remove.c
index c4972ac..69faae6 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -190,6 +190,13 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_dir= ,
=A0 =A0int dirent_type =3D is_dir ? DT_DIR : DT_UNKNOWN;<= br> =A0 =A0int write_protected =3D 0;

+ =A0bool is_empty =3D false;
+ =A0if (is_empty_p)
+ =A0 =A0{
+ =A0 =A0 =A0is_empty =3D is_empty_dir (fd_cwd, filename);
+ =A0 =A0 =A0*is_empty_p =3D is_empty ? T_YES : T_NO;
+ =A0 =A0}
+
=A0 =A0/* When nonzero, this indicates that we failed to remove a child ent= ry,
=A0 =A0 =A0 either because the user declined an interactive prompt, or due = to
=A0 =A0 =A0 some other failure, like permissions. =A0*/
@@ -238,7 +245,10 @@ prompt (FTS const *fts, FTSENT const *ent, bool = is_dir,
=A0 =A0 =A0 =A0 =A0 =A0 =A0break;

=A0 =A0 =A0 =A0 =A0 =A0case DT_DIR:
- =A0 =A0 =A0 =A0 =A0 =A0if (!x->recursive)
+ =A0 =A0 =A0 =A0 =A0 =A0 /* Unless we're either deleting directories o= r deleting
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0recursively, we want to = raise an EISDIR error rather than
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0prompting the user =A0*/
+ =A0 =A0 =A0 =A0 =A0 =A0if ( ! (x->recursive ||= (x->remove_empty_directories && is_empty)))
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0{
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0write_protected =3D -1;
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0wp_errno =3D EISDIR;
@@ -254,15 +264,6 @@ prompt (FTS const *fts, FTSENT const *ent, bool = is_dir,
=A0 =A0 =A0 =A0 =A0 =A0return RM_ERROR;
=A0 =A0 =A0 =A0 =A0}

- =A0 =A0 =A0bool is_empty;
- =A0 =A0 =A0if (is_empty_p)
- =A0 =A0 =A0 =A0{
- =A0 =A0 =A0 =A0 =A0is_empty =3D is_empty_dir (fd_cwd, filename);
- =A0 =A0 =A0 =A0 =A0*is_empty_p =3D is_empty ? T_YES : T_NO;
- =A0 =A0 =A0 =A0}
- =A0 =A0 =A0else
- =A0 =A0 =A0 =A0is_empty =3D false;
-
=A0 =A0 =A0 =A0/* Issue the prompt. =A0*/
=A0 =A0 =A0 =A0if (dirent_type =3D=3D DT_DIR
=A0 =A0 =A0 =A0 =A0 =A0&& mode =3D=3D PA_DESCEND_INTO_DIR
@@ -420,7 +421,8 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const = *x)
=A0 =A0 =A0 =A0 =A0{
=A0 =A0 =A0 =A0 =A0 =A0/* This is the first (pre-order) encounter with a di= rectory
=A0 =A0 =A0 =A0 =A0 =A0 =A0 that we cannot delete.
- =A0 =A0 =A0 =A0 =A0 =A0 Not recursive, so arrange to skip contents.= =A0*/
+ =A0 =A0 =A0 =A0 =A0 =A0 Not recursive, and it's not an empty director= y (if we're removing
+ =A0 =A0 =A0 =A0 =A0 =A0 them) so arrange to skip conten= ts. =A0*/
=A0 =A0 =A0 =A0 =A0 =A0int err =3D x->remove_empty_directories ? ENOTEMP= TY : EISDIR;
=A0 =A0 =A0 =A0 =A0 =A0error (0, err, _("cannot remove %s"), quot= e (ent->fts_path));
=A0 =A0 =A0 =A0 =A0 =A0mark_ancestor_dirs (ent);
diff --git a/tests/Makefile.am b/tests/Makefile.am
index acd816d..87d6cad 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -101,6 +101,7 @@ TESTS =3D =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
=A0 =A0misc/ls-time =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 \
=A0 =A0rm/d-1 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 \
=A0 =A0rm/d-2 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 \
+ =A0rm/d-3 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 \
=A0 =A0rm/deep-1 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0\
=A0 =A0rm/deep-2 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0\
=A0 =A0rm/dir-no-w =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0\
diff --git a/tests/rm/d-3 b/tests/rm/d-3
new file mode 100755
index 0000000..2f2cf74
--- /dev/null
+++ b/tests/rm/d-3
@@ -0,0 +1,37 @@
+#!/bin/sh
+# Ensure that 'rm -d -i dir' (i.e., without --recursive) gives a p= rompt and
+# then deletes the directory if it is empty
+
+# Copyright (C) 2012 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =A0See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. =A0If not, see <http://www.gnu.org/licenses/>.
+
+. "${srcdir=3D.}/init.sh"; path_prepend_ ../src
+print_ver_ rm
+
+mkdir d || framework_failure_
+
+echo "y" | rm -i -d --verbose d > out 2> out.err || fail= =3D1
+printf "%s" \
+ =A0 =A0"rm: remove directory 'd'? " \
+ =A0 =A0> exp.err || framework_failure_
+
+printf "%s\n" \
+ =A0 =A0"removed directory: 'd'" \
+ =A0 =A0> exp || framework_failure_
+
+compare exp out || fail=3D1
+compare exp.err out.err || fail=3D1
+
+Exit $fail
--
1.7.12.70.g851f7e6

--20cf3079bc70755e5104c7f38e9a-- From unknown Sat Jun 21 05:09:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12260: [patch] rm -d in coreutils 8.19 Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 23 Aug 2012 19:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12260 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Robert Day Cc: 12260@debbugs.gnu.org, =?UTF-8?Q?P=C3=A1draig?= Brady Received: via spool by 12260-submit@debbugs.gnu.org id=B12260.13457509905392 (code B ref 12260); Thu, 23 Aug 2012 19:44:01 +0000 Received: (at 12260) by debbugs.gnu.org; 23 Aug 2012 19:43:10 +0000 Received: from localhost ([127.0.0.1]:45513 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4dJ8-0001Ov-5u for submit@debbugs.gnu.org; Thu, 23 Aug 2012 15:43:10 -0400 Received: from mx.meyering.net ([88.168.87.75]:54435) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4dJ6-0001On-Hk for 12260@debbugs.gnu.org; Thu, 23 Aug 2012 15:43:09 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 4C3CF600AE; Thu, 23 Aug 2012 21:42:35 +0200 (CEST) From: Jim Meyering In-Reply-To: (Robert Day's message of "Thu, 23 Aug 2012 20:06:27 +0100") References: <50350164.8050005@atl.lmco.com> <5036178D.9070402@draigBrady.com> <87a9xlldq8.fsf@rho.meyering.net> <874nntld9u.fsf@rho.meyering.net> <87y5l5jv8d.fsf@rho.meyering.net> Date: Thu, 23 Aug 2012 21:42:35 +0200 Message-ID: <87k3wpjsyc.fsf@rho.meyering.net> Lines: 16 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.1 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.1 (--) Robert Day wrote: > Looks good to me; feel free to push it. I'll be mindful of your comments on > else-statement style, comment formatting etc. if and when I submit another > coreutils patch. Pushed. Looking forward to more from you. BTW, I noticed that your message was more than double the length of the one to which you replied. Oh... text *and* HTML. Please tell your mail client to send only text (no HTML) to this list. Some readers tend to ignore HTML-formatted messages. Also, it's good netiquette to trim quoted text that is not relevant. In this case, you could have elided almost everything that was quoted. From unknown Sat Jun 21 05:09:35 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Michael Price Subject: bug#12260: closed (Re: bug#12260: [patch] rm -d in coreutils 8.19) Message-ID: References: <87392jwpre.fsf@rho.meyering.net> <50350164.8050005@atl.lmco.com> X-Gnu-PR-Message: they-closed 12260 X-Gnu-PR-Package: coreutils Reply-To: 12260@debbugs.gnu.org Date: Sat, 15 Sep 2012 10:23:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1347704582-31829-1" This is a multi-part message in MIME format... ------------=_1347704582-31829-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #12260: rm -d in coreutils 8.19 which was filed against the coreutils package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 12260@debbugs.gnu.org. --=20 12260: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12260 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1347704582-31829-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 12260-done) by debbugs.gnu.org; 15 Sep 2012 10:22:15 +0000 Received: from localhost ([127.0.0.1]:34853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TCpVv-0008GK-7a for submit@debbugs.gnu.org; Sat, 15 Sep 2012 06:22:15 -0400 Received: from mx.meyering.net ([88.168.87.75]:49050) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TCpVs-0008GA-QB for 12260-done@debbugs.gnu.org; Sat, 15 Sep 2012 06:22:13 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id DAEDA60073 for <12260-done@debbugs.gnu.org>; Sat, 15 Sep 2012 12:21:09 +0200 (CEST) From: Jim Meyering To: 12260-done@debbugs.gnu.org Subject: Re: bug#12260: [patch] rm -d in coreutils 8.19 In-Reply-To: <87k3wpjsyc.fsf@rho.meyering.net> (Jim Meyering's message of "Thu, 23 Aug 2012 21:42:35 +0200") References: <50350164.8050005@atl.lmco.com> <5036178D.9070402@draigBrady.com> <87a9xlldq8.fsf@rho.meyering.net> <874nntld9u.fsf@rho.meyering.net> <87y5l5jv8d.fsf@rho.meyering.net> <87k3wpjsyc.fsf@rho.meyering.net> Date: Sat, 15 Sep 2012 12:21:09 +0200 Message-ID: <87392jwpre.fsf@rho.meyering.net> Lines: 10 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 12260-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.4 (--) Jim Meyering wrote: > Robert Day wrote: >> Looks good to me; feel free to push it. I'll be mindful of your comments on >> else-statement style, comment formatting etc. if and when I submit another >> coreutils patch. > > Pushed. and now (belatedly) marking this issue as "done" ------------=_1347704582-31829-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 22 Aug 2012 16:05:38 +0000 Received: from localhost ([127.0.0.1]:43561 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4DR3-0002gq-GM for submit@debbugs.gnu.org; Wed, 22 Aug 2012 12:05:38 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57804) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T4DKm-0002XV-Sk for submit@debbugs.gnu.org; Wed, 22 Aug 2012 11:59:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4DKM-0005OR-VB for submit@debbugs.gnu.org; Wed, 22 Aug 2012 11:58:43 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:55997) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4DKM-0005ON-Rn for submit@debbugs.gnu.org; Wed, 22 Aug 2012 11:58:42 -0400 Received: from eggs.gnu.org ([208.118.235.92]:51754) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4DKM-0001WL-4l for bug-coreutils@gnu.org; Wed, 22 Aug 2012 11:58:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4DKL-0005O8-9J for bug-coreutils@gnu.org; Wed, 22 Aug 2012 11:58:42 -0400 Received: from mailfo02.lmco.com ([192.35.35.12]:45731) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4DKL-0005JZ-4m for bug-coreutils@gnu.org; Wed, 22 Aug 2012 11:58:41 -0400 Received: from emss04g01.ems.lmco.com ([166.17.13.122]) by mailfo02.lmco.com (8.14.5/8.14.5) with ESMTP id q7MFvX6p011675 for ; Wed, 22 Aug 2012 16:57:33 +0100 Received: from CONVERSION2-DAEMON.lmco.com by lmco.com (PMDF V6.4 #31806) id <0M9500501YYYDV@lmco.com> for bug-coreutils@gnu.org; Wed, 22 Aug 2012 15:57:33 +0000 (GMT) Received: from enterprise.atl.lmco.com ([166.17.240.20]) by lmco.com (PMDF V6.4 #31806) with ESMTP id <0M9500LYWYZO4P@lmco.com> for bug-coreutils@gnu.org; Wed, 22 Aug 2012 15:57:24 +0000 (GMT) Received: from ganon.atl.lmco.com (ganon.atl.lmco.com [166.17.245.238]) by enterprise.atl.lmco.com (Postfix) with ESMTP id 73642A81B for ; Wed, 22 Aug 2012 11:57:24 -0400 (EDT) Date: Wed, 22 Aug 2012 11:57:24 -0400 From: Michael Price Subject: rm -d in coreutils 8.19 To: bug-coreutils@gnu.org Message-id: <50350164.8050005@atl.lmco.com> Organization: Lockheed Martin ATL MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7BIT User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120718 Thunderbird/14.0 OpenPGP: id=39584A11; url=https://docs.google.com/document/d/1zsY3s20wY1YUgHQhtnt2LrrOsof5uPUJLcgH1rTAV98/edit?pli=1 X-Enigmail-Version: 1.4.3 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.7.7855, 1.0.260, 0.0.0000 definitions=2012-08-22_03:2012-08-22, 2012-08-22, 1970-01-01 signatures=0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 22 Aug 2012 12:05:36 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) This seems wrong: $ mkdir bar $ rm -d bar $ mkdir bar $ rm -i -d bar rm: cannot remove 'bar': Is a directory ------------=_1347704582-31829-1--