From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 22 12:05:38 2012 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 From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 22 18:27:38 2012 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: Subject: bug#12260: rm -d in coreutils 8.19 From: Robert Day To: bug-coreutils@gnu.org 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-Debbugs-Envelope-To: submit 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 23 07:17:49 2012 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: Subject: bug#12260: [patch] rm -d in coreutils 8.19 From: Robert Day To: bug-coreutils@gnu.org 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-Debbugs-Envelope-To: submit 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 23 07:44:53 2012 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: =?ISO-8859-1?Q?P=E1draig_Brady?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 Thunderbird/6.0 MIME-Version: 1.0 To: Robert Day Subject: Re: bug#12260: [patch] rm -d in coreutils 8.19 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-Debbugs-Envelope-To: 12260 Cc: 12260@debbugs.gnu.org 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 23 11:49:53 2012 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: Subject: Re: bug#12260: rm -d in coreutils 8.19 From: Rob Day To: bug-coreutils@gnu.org 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-Debbugs-Envelope-To: submit 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 23 13:29:08 2012 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 To: =?iso-8859-1?Q?P=E1draig?= Brady Subject: Re: bug#12260: [patch] rm -d in coreutils 8.19 In-Reply-To: <5036178D.9070402@draigBrady.com> (=?iso-8859-1?Q?=22P=E1drai?= =?iso-8859-1?Q?g?= 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-Debbugs-Envelope-To: 12260 Cc: 12260@debbugs.gnu.org, Robert Day 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 23 13:38:58 2012 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 To: =?iso-8859-1?Q?P=E1draig?= Brady Subject: Re: bug#12260: [patch] rm -d in coreutils 8.19 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-Debbugs-Envelope-To: 12260 Cc: 12260@debbugs.gnu.org, Robert Day 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 23 14:53:59 2012 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 To: =?iso-8859-1?Q?P=E1draig?= Brady Subject: Re: bug#12260: [patch] rm -d in coreutils 8.19 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-Debbugs-Envelope-To: 12260 Cc: 12260@debbugs.gnu.org, Robert Day 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 23 15:07:04 2012 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: Subject: Re: bug#12260: [patch] rm -d in coreutils 8.19 From: Robert Day To: Jim Meyering Content-Type: multipart/alternative; boundary=20cf3079bc70755e5104c7f38e9a X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 12260 Cc: 12260@debbugs.gnu.org, =?ISO-8859-1?Q?P=E1draig_Brady?= 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 debbugs-submit-bounces@debbugs.gnu.org Thu Aug 23 15:43:10 2012 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 To: Robert Day Subject: Re: bug#12260: [patch] rm -d in coreutils 8.19 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-Debbugs-Envelope-To: 12260 Cc: 12260@debbugs.gnu.org, =?iso-8859-1?Q?P=E1draig?= Brady 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 debbugs-submit-bounces@debbugs.gnu.org Sat Sep 15 06:22:15 2012 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" From unknown Sat Jun 21 03:25:07 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 13 Oct 2012 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator