From unknown Sat Sep 20 19:25:26 2025 X-Loop: help-debbugs@gnu.org Subject: bug#17420: [PATCH] grep: always convert fgrep to grep Resent-From: Norihiro Tanaka Original-Sender: "Debbugs-submit" Resent-CC: bug-grep@gnu.org Resent-Date: Tue, 06 May 2014 13:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 17420 X-GNU-PR-Package: grep X-GNU-PR-Keywords: patch To: 17420@debbugs.gnu.org X-Debbugs-Original-To: bug-grep@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.139938346126129 (code B ref -1); Tue, 06 May 2014 13:38:02 +0000 Received: (at submit) by debbugs.gnu.org; 6 May 2014 13:37:41 +0000 Received: from localhost ([127.0.0.1]:52548 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WhfYw-0006nL-VO for submit@debbugs.gnu.org; Tue, 06 May 2014 09:37:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47087) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WhfYs-0006n4-Gh for submit@debbugs.gnu.org; Tue, 06 May 2014 09:37:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WhfYb-0000xT-EU for submit@debbugs.gnu.org; Tue, 06 May 2014 09:37:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57245) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhfYb-0000xD-Bh for submit@debbugs.gnu.org; Tue, 06 May 2014 09:37:17 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhfYT-0000t2-NC for bug-grep@gnu.org; Tue, 06 May 2014 09:37:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WhfYM-0000sO-3e for bug-grep@gnu.org; Tue, 06 May 2014 09:37:09 -0400 Received: from mailgw06.kcn.ne.jp ([61.86.7.213]:60264) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhfYL-0000sK-KQ for bug-grep@gnu.org; Tue, 06 May 2014 09:37:02 -0400 Received: from imp01 (mailgw5.kcn.ne.jp [61.86.15.231]) by mailgw06.kcn.ne.jp (Postfix) with ESMTP id 20406B0004 for ; Tue, 6 May 2014 22:36:58 +0900 (JST) Received: from mail09.kcn.ne.jp ([61.86.6.188]) by imp01 with bizsmtp id ydcy1n00143QJrh01dcyd7; Tue, 06 May 2014 22:36:58 +0900 X-OrgRCPT: bug-grep@gnu.org Received: from [10.120.1.76] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) by mail09.kcn.ne.jp (Postfix) with ESMTPA id C67F11BD0097 for ; Tue, 6 May 2014 22:36:57 +0900 (JST) Date: Tue, 06 May 2014 22:36:57 +0900 From: Norihiro Tanaka Message-Id: <20140506223645.2891.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_5368DFB600000000288A_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --------_5368DFB600000000288A_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit fgrep uses different matcher from grep, but there is no reason why it must be so. Further more, fgrep matcher is slower than grep matcher in many cases, because it never uses DFA. This patch converts fgrep to grep any time. By the way, if `FGREP_NO_DFA' env. is set, fgrep still uses fgrep matcher. It may be required in some cases. fgrep matcher requires less memory than grep matcher even if a pattern is too long, and/or is faster than it in some cases to have multiple patterns. --------_5368DFB600000000288A_MULTIPART_MIXED_ Content-Type: text/plain; charset="UTF-8"; name="0001-grep-always-convert-fgrep-to-grep.patch" Content-Disposition: attachment; filename="0001-grep-always-convert-fgrep-to-grep.patch" Content-Transfer-Encoding: base64 RnJvbSBhMzI2YjVmYmZjYjNhZTU0NzAwMWRjYzA1MTI3MmFlODhjZWJjYzdkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb3JpaGlybyBUYW5ha2EgPG5vcml0bmtAa2NuLm5lLmpwPgpE YXRlOiBUdWUsIDYgTWF5IDIwMTQgMTY6MDA6MzQgKzA5MDAKU3ViamVjdDogW1BBVENIXSBncmVw OiBhbHdheXMgY29udmVydCBmZ3JlcCB0byBncmVwCgpzcmMvZ3JlcC5jIChtYWluKTogRG8gaXQu Ci0tLQogc3JjL2dyZXAuYyB8IDI2ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2dyZXAuYyBiL3NyYy9ncmVwLmMKaW5kZXggYTY2MWZjMC4uMzVmNGM3NSAxMDA2NDQKLS0t IGEvc3JjL2dyZXAuYworKysgYi9zcmMvZ3JlcC5jCkBAIC0yMzM2LDE4ICsyMzM2LDIyIEBAIG1h aW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgLyogSWYgZmdyZXAgaW4gYSBtdWx0aWJ5dGUg bG9jYWxlLCB0aGVuIHVzZSBncmVwIGlmIGVpdGhlcgogICAgICAoMSkgY2FzZSBpcyBpZ25vcmVk ICh3aGVyZSBncmVwIGlzIHR5cGljYWxseSBmYXN0ZXIpLCBvcgogICAgICAoMikgdGhlIHBhdHRl cm4gaGFzIGFuIGVuY29kaW5nIGVycm9yICh3aGVyZSBmZ3JlcCBtaWdodCBub3Qgd29yaykuICAq LwotICBpZiAoY29tcGlsZSA9PSBGY29tcGlsZSAmJiBNQl9DVVJfTUFYID4gMQotICAgICAgJiYg KG1hdGNoX2ljYXNlIHx8IGNvbnRhaW5zX2VuY29kaW5nX2Vycm9yIChrZXlzLCBrZXljYykpKQor ICBpZiAoY29tcGlsZSA9PSBGY29tcGlsZSkKICAgICB7Ci0gICAgICBzaXplX3QgbmV3X2tleWNj OwotICAgICAgY2hhciAqbmV3X2tleXM7Ci0gICAgICBmZ3JlcF90b19ncmVwX3BhdHRlcm4gKGtl eWNjLCBrZXlzLCAmbmV3X2tleWNjLCAmbmV3X2tleXMpOwotICAgICAgZnJlZSAoa2V5cyk7Ci0g ICAgICBrZXlzID0gbmV3X2tleXM7Ci0gICAgICBrZXljYyA9IG5ld19rZXljYzsKLSAgICAgIG1h dGNoZXIgPSAiZ3JlcCI7Ci0gICAgICBjb21waWxlID0gR2NvbXBpbGU7Ci0gICAgICBleGVjdXRl ID0gRUdleGVjdXRlOworICAgICAgaWYgKCFnZXRlbnYgKCJGR1JFUF9OT19ERkEiKSkKKyAgICAg ICAgeworICAgICAgICAgIHNpemVfdCBuZXdfa2V5Y2M7CisgICAgICAgICAgY2hhciAqbmV3X2tl eXM7CisgICAgICAgICAgZmdyZXBfdG9fZ3JlcF9wYXR0ZXJuIChrZXljYywga2V5cywgJm5ld19r ZXljYywgJm5ld19rZXlzKTsKKyAgICAgICAgICBmcmVlIChrZXlzKTsKKyAgICAgICAgICBrZXlz ID0gbmV3X2tleXM7CisgICAgICAgICAga2V5Y2MgPSBuZXdfa2V5Y2M7CisgICAgICAgICAgbWF0 Y2hlciA9ICJncmVwIjsKKyAgICAgICAgICBjb21waWxlID0gR2NvbXBpbGU7CisgICAgICAgICAg ZXhlY3V0ZSA9IEVHZXhlY3V0ZTsKKyAgICAgICAgfQorICAgICAgZWxzZSBpZiAoY29udGFpbnNf ZW5jb2RpbmdfZXJyb3IgKGtleXMsIGtleWNjKSkKKyAgICAgICAgZXJyb3IgKEVYSVRfVFJPVUJM RSwgMCwgXygiY29udGFpbnMgZW5jb2RpbmcgZXJyb3IiKSk7CiAgICAgfQogCiAgIGlmIChNQl9D VVJfTUFYID4gMSkKLS0gCjEuOS4yCgo= --------_5368DFB600000000288A_MULTIPART_MIXED_-- From unknown Sat Sep 20 19:25:26 2025 X-Loop: help-debbugs@gnu.org Subject: bug#17420: [PATCH] grep: always convert fgrep to grep Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-grep@gnu.org Resent-Date: Wed, 07 May 2014 07:01:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17420 X-GNU-PR-Package: grep X-GNU-PR-Keywords: patch To: Norihiro Tanaka , 17420@debbugs.gnu.org Received: via spool by 17420-submit@debbugs.gnu.org id=B17420.139944604020244 (code B ref 17420); Wed, 07 May 2014 07:01:01 +0000 Received: (at 17420) by debbugs.gnu.org; 7 May 2014 07:00:40 +0000 Received: from localhost ([127.0.0.1]:53441 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WhvqG-0005GN-0B for submit@debbugs.gnu.org; Wed, 07 May 2014 03:00:37 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:55847) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WhvqA-0005G1-5g for 17420@debbugs.gnu.org; Wed, 07 May 2014 03:00:32 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id D2100A60006; Wed, 7 May 2014 00:00:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wny8FYAcyv4H; Wed, 7 May 2014 00:00:19 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 701B039E801E; Wed, 7 May 2014 00:00:19 -0700 (PDT) Message-ID: <5369DA02.4030000@cs.ucla.edu> Date: Wed, 07 May 2014 00:00:18 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 References: <20140506223645.2891.27F6AC2D@kcn.ne.jp> In-Reply-To: <20140506223645.2891.27F6AC2D@kcn.ne.jp> Content-Type: multipart/mixed; boundary="------------050000010709090200050208" X-Spam-Score: -3.0 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) This is a multi-part message in MIME format. --------------050000010709090200050208 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Norihiro Tanaka wrote: > By the way, if `FGREP_NO_DFA' env. is set, fgrep still uses fgrep matcher. I'd rather not introduce another environment variable. GREP_COLOR and GREP_COLORS and GREP_OPTIONS are now commonly considered to have been mistakes, and I'd rather not compound them. Instead, how about removing the fgrep matcher entirely? That'll make the code simpler and easier to maintain, which is a real plus. Perhaps it'll be slower in a few cases, but as long as significant slowdowns are rare, that's OK. Something like the attached patch, say. --------------050000010709090200050208 Content-Type: text/plain; charset=UTF-8; name="0001-grep-simplify-by-removing-Fexecute-kwsearch.c-etc.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-grep-simplify-by-removing-Fexecute-kwsearch.c-etc.patch" RnJvbSBjZTdlZGI2OTQzZjZlZmQ1MGRjZGEwNmJkOTk0ODU1YWU2MDllODZjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDYgTWF5IDIwMTQgMjM6MzY6NTQgLTA3MDAKU3ViamVjdDogW1BBVENI XSBncmVwOiBzaW1wbGlmeSBieSByZW1vdmluZyBGZXhlY3V0ZSwga3dzZWFyY2guYywgZXRj LgoKVGhlc2Ugd2VyZSBwcmVzZW50IG9ubHkgZm9yIHBlcmZvcm1hbmNlLCBidXQgb2Z0ZW4g RmV4ZWN1dGUgaXMgc2xvd2VyCmFuZCB0aGlzIGNvZGUgZG9lc24ndCBzZWVtIHRvIGJlIHdv cnRoIHRoZSBtYWludGVuYW5jZSBoYXNzbGUuCkZyb20gYSBzdWdnZXN0aW9uIGJ5IE5vcmlo aXJvIFRhbmFrYSBpbjogaHR0cDovL2J1Z3MuZ251Lm9yZy8xNzQyMAoqIHNyYy9NYWtlZmls ZS5hbSAoZ3JlcF9TT1VSQ0VTKTogUmVtb3ZlIGt3c2VhcmNoLmMuCiogc3JjL2dyZXAuYyAo Y29tcGlsZSwgZXhlY3V0ZSk6IEluaXRpYWxpemUgYXQgbGluay10aW1lIGluc3RlYWQKb2Yg YXQgcnVudGltZS4KKGRvX2V4ZWN1dGUpOiBTaW1wbGlmeSwgc2luY2UgdGhlcmUgaXMgbm8g RmV4ZWN1dGUgYW55IG1vcmUuCihGY29tcGlsZSk6IE5ldyBmdW5jdGlvbiwgcmVwbGFjaW5n IHRoZSBvbGQga3dzZWFyY2guYyBmdW5jdGlvbi4KSXQgbW9zdGx5IGNvbnNpc3RzIG9mIHRo ZSBvbGQgZmdyZXBfdG9fZ3JlcF9wYXR0ZXJuJ3MgY29udGVudHMuCihtYXRjaGVycyk6IFVz ZSBFR2V4ZWN1dGUgZm9yIGZncmVwLgooY29udGFpbnNfZW5jb2RpbmdfZXJyb3IsIGZncmVw X3RvX2dyZXBfcGF0dGVybik6IFJlbW92ZS4KKG1haW4pOiBSZW1vdmUgbm8tbG9uZ2VyLW5l Y2Vzc2FyeSBpbml0aWFsaXphdGlvbnMuCk1vdmUgc3BlY2lhbC1jYXNlIGNvZGUgZm9yIC1G IGludG8gRmNvbXBpbGUuCiogc3JjL2t3c2VhcmNoLmM6IFJlbW92ZS4KKiBzcmMvc2VhcmNo LmggKEZjb21waWxlLCBGZXhlY3V0ZSk6IFJlbW92ZSBkZWNscy4KLS0tCiBzcmMvTWFrZWZp bGUuYW0gfCAgIDIgKy0KIHNyYy9ncmVwLmMgICAgICB8IDEzMCArKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy9rd3NlYXJjaC5jICB8IDE4OCAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc3Jj L3NlYXJjaC5oICAgIHwgICA0IC0tCiA0IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMo KyksIDI3NSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMva3dzZWFyY2gu YwoKZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQppbmRl eCBmOGM5NDE1Li5hZThkMTNhIDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrIGIv c3JjL01ha2VmaWxlLmFtCkBAIC0yNSw3ICsyNSw3IEBAIGJpbl9QUk9HUkFNUyA9IGdyZXAK IGJpbl9TQ1JJUFRTID0gZWdyZXAgZmdyZXAKIGdyZXBfU09VUkNFUyA9IGdyZXAuYyBzZWFy Y2h1dGlscy5jIFwKICAgICAgICAgICBkZmEuYyBkZmFzZWFyY2guYyBcCi0gICAgICAgICAg a3dzZXQuYyBrd3NlYXJjaC5jIFwKKyAgICAgICAgICBrd3NldC5jIFwKICAgICAgICAgICBw Y3Jlc2VhcmNoLmMKIG5vaW5zdF9IRUFERVJTID0gZ3JlcC5oIGRmYS5oIGt3c2V0Lmggc2Vh cmNoLmggc3lzdGVtLmgKIApkaWZmIC0tZ2l0IGEvc3JjL2dyZXAuYyBiL3NyYy9ncmVwLmMK aW5kZXggYTY2MWZjMC4uY2I1ZTQwZiAxMDA2NDQKLS0tIGEvc3JjL2dyZXAuYworKysgYi9z cmMvZ3JlcC5jCkBAIC00MTYsOCArNDE2LDkgQEAgdXNhYmxlX3N0X3NpemUgKHN0cnVjdCBz dGF0IGNvbnN0ICpzdCkKIC8qIEZ1bmN0aW9ucyB3ZSdsbCB1c2UgdG8gc2VhcmNoLiAqLwog dHlwZWRlZiB2b2lkICgqY29tcGlsZV9mcF90KSAoY2hhciBjb25zdCAqLCBzaXplX3QpOwog dHlwZWRlZiBzaXplX3QgKCpleGVjdXRlX2ZwX3QpIChjaGFyIGNvbnN0ICosIHNpemVfdCwg c2l6ZV90ICosIGNoYXIgY29uc3QgKik7Ci1zdGF0aWMgY29tcGlsZV9mcF90IGNvbXBpbGU7 Ci1zdGF0aWMgZXhlY3V0ZV9mcF90IGV4ZWN1dGU7CitzdGF0aWMgdm9pZCBHY29tcGlsZSAo Y2hhciBjb25zdCAqLCBzaXplX3QpOworc3RhdGljIGNvbXBpbGVfZnBfdCBjb21waWxlID0g R2NvbXBpbGU7CitzdGF0aWMgZXhlY3V0ZV9mcF90IGV4ZWN1dGUgPSBFR2V4ZWN1dGU7CiAK IC8qIExpa2UgZXJyb3IsIGJ1dCBzdXBwcmVzcyB0aGUgZGlhZ25vc3RpYyBpZiByZXF1ZXN0 ZWQuICAqLwogc3RhdGljIHZvaWQKQEAgLTEwNTUsOSArMTA1Niw4IEBAIGRvX2V4ZWN1dGUg KGNoYXIgY29uc3QgKmJ1Ziwgc2l6ZV90IHNpemUsIHNpemVfdCAqbWF0Y2hfc2l6ZSwKICAg c2l6ZV90IHJlc3VsdDsKICAgY29uc3QgY2hhciAqbGluZV9uZXh0OwogCi0gIC8qIFdpdGgg dGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHVzaW5nIC0taWdub3JlLWNhc2Ugd2l0aCBh IG11bHRpLWJ5dGUKLSAgICAgY2hhcmFjdGVyIHNldCBpcyB2ZXJ5IGluZWZmaWNpZW50IHdo ZW4gYXBwbGllZCB0byBhIGxhcmdlIGJ1ZmZlcgotICAgICBjb250YWluaW5nIG1hbnkgbWF0 Y2hlcy4gIFdlIGNhbiBhdm9pZCBtdWNoIG9mIHRoZSB3YXN0ZWQgZWZmb3J0CisgIC8qIC1Q aSBpbiBhIG11bHRpYnl0ZSBsb2NhbGUgaXMgaW5lZmZpY2llbnQgd2hlbiBhcHBsaWVkIHRv IGEgbGFyZ2UKKyAgICAgYnVmZmVyIGNvbnRhaW5pbmcgbWFueSBtYXRjaGVzLiAgQXZvaWQg bXVjaCBvZiB0aGUgd2FzdGVkIGVmZm9ydAogICAgICBieSBtYXRjaGluZyBsaW5lLWJ5LWxp bmUuCiAKICAgICAgRklYTUU6IHRoaXMgaXMganVzdCBhbiB1Z2x5IHdvcmthcm91bmQsIGFu ZCBpdCBkb2Vzbid0IHJlYWxseQpAQCAtMTA2Nyw4ICsxMDY3LDcgQEAgZG9fZXhlY3V0ZSAo Y2hhciBjb25zdCAqYnVmLCBzaXplX3Qgc2l6ZSwgc2l6ZV90ICptYXRjaF9zaXplLAogICAg ICB0byBzdHJ1Y3QgbWF0Y2hlciB0byBzcGxpdCB0aGUgYnVmZmVyIHBhc3NlZCB0byBleGVj dXRlLiAgSXQgd291bGQKICAgICAgcGVyZm9ybSB0aGUgbWVtY2hyIGlmIGxpbmUtYnktbGlu ZSBtYXRjaGluZyBpcyBuZWNlc3NhcnksIG9yIGp1c3QKICAgICAgcmV0dXJuIGJ1ZiArIHNp emUgb3RoZXJ3aXNlLiAgKi8KLSAgaWYgKCEgKGV4ZWN1dGUgPT0gRmV4ZWN1dGUgfHwgZXhl Y3V0ZSA9PSBQZXhlY3V0ZSkKLSAgICAgIHx8IE1CX0NVUl9NQVggPT0gMSB8fCAhbWF0Y2hf aWNhc2UpCisgIGlmICghIChleGVjdXRlID09IFBleGVjdXRlICYmIG1hdGNoX2ljYXNlICYm IE1CX0NVUl9NQVggPiAxKSkKICAgICByZXR1cm4gZXhlY3V0ZSAoYnVmLCBzaXplLCBtYXRj aF9zaXplLCBzdGFydF9wdHIpOwogCiAgIGZvciAobGluZV9uZXh0ID0gYnVmOyBsaW5lX25l eHQgPCBidWYgKyBzaXplOyApCkBAIC0xNjcxLDYgKzE2NzAsNDcgQEAgUEFjb21waWxlIChj aGFyIGNvbnN0ICpwYXR0ZXJuLCBzaXplX3Qgc2l6ZSkKICAgR0VBY29tcGlsZSAocGF0dGVy biwgc2l6ZSwgUkVfU1lOVEFYX1BPU0lYX0FXSyk7CiB9CiAKK3N0YXRpYyB2b2lkCitGY29t cGlsZSAoY2hhciBjb25zdCAqa2V5cywgc2l6ZV90IGxlbikKK3sKKyAgLyogSW1wbGVtZW50 IGdyZXAgLUYgaW4gdGVybXMgb2YgcGxhaW4gZ3JlcC4gICovCisKKyAgY2hhciAqbmV3X2tl eXMgPSB4bm1hbGxvYyAobGVuICsgMSwgMik7CisgIGNoYXIgKnAgPSBuZXdfa2V5czsKKyAg bWJzdGF0ZV90IG1iX3N0YXRlID0geyAwIH07CisgIHNpemVfdCBuOworCisgIGZvciAoOyBs ZW47IGtleXMgKz0gbiwgbGVuIC09IG4pCisgICAgeworICAgICAgd2NoYXJfdCB3YzsKKyAg ICAgIG4gPSBtYnJ0b3djICgmd2MsIGtleXMsIGxlbiwgJm1iX3N0YXRlKTsKKyAgICAgIHN3 aXRjaCAobikKKyAgICAgICAgeworICAgICAgICBjYXNlIChzaXplX3QpIC0yOgorICAgICAg ICAgIG4gPSBsZW47CisgICAgICAgICAgLyogRmFsbCB0aHJvdWdoLiAgKi8KKyAgICAgICAg ZGVmYXVsdDoKKyAgICAgICAgICBwID0gbWVtcGNweSAocCwga2V5cywgbik7CisgICAgICAg ICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSAoc2l6ZV90KSAtMToKKyAgICAgICAgICBtZW1z ZXQgKCZtYl9zdGF0ZSwgMCwgc2l6ZW9mIG1iX3N0YXRlKTsKKyAgICAgICAgICAvKiBGYWxs IHRocm91Z2guICAqLworICAgICAgICBjYXNlIDE6CisgICAgICAgICAgKnAgPSAnXFwnOwor ICAgICAgICAgIHAgKz0gc3RyY2hyICgiJCouW1xcXiIsICprZXlzKSAhPSBOVUxMOworICAg ICAgICAgIC8qIEZhbGwgdGhyb3VnaC4gICovCisgICAgICAgIGNhc2UgMDoKKyAgICAgICAg ICAqcCsrID0gKmtleXM7CisgICAgICAgICAgbiA9IDE7CisgICAgICAgICAgYnJlYWs7Cisg ICAgICAgIH0KKyAgICB9CisKKyAgR2NvbXBpbGUgKG5ld19rZXlzLCBwIC0gbmV3X2tleXMp OworICBmcmVlIChuZXdfa2V5cyk7Cit9CisKIHN0cnVjdCBtYXRjaGVyCiB7CiAgIGNoYXIg Y29uc3QgbmFtZVsxNl07CkBAIC0xNjgwLDcgKzE3MjAsNyBAQCBzdHJ1Y3QgbWF0Y2hlcgog c3RhdGljIHN0cnVjdCBtYXRjaGVyIGNvbnN0IG1hdGNoZXJzW10gPSB7CiAgIHsgImdyZXAi LCAgICAgIEdjb21waWxlLCBFR2V4ZWN1dGUgfSwKICAgeyAiZWdyZXAiLCAgICAgRWNvbXBp bGUsIEVHZXhlY3V0ZSB9LAotICB7ICJmZ3JlcCIsICAgICBGY29tcGlsZSwgIEZleGVjdXRl IH0sCisgIHsgImZncmVwIiwgICAgIEZjb21waWxlLCBFR2V4ZWN1dGUgfSwKICAgeyAiYXdr IiwgICAgICAgQWNvbXBpbGUsIEVHZXhlY3V0ZSB9LAogICB7ICJnYXdrIiwgICAgIEdBY29t cGlsZSwgRUdleGVjdXRlIH0sCiAgIHsgInBvc2l4YXdrIiwgUEFjb21waWxlLCBFR2V4ZWN1 dGUgfSwKQEAgLTE4ODcsNjEgKzE5MjcsNiBAQCBwYXJzZV9ncmVwX2NvbG9ycyAodm9pZCkK ICAgICAgIHJldHVybjsKIH0KIAotLyogUmV0dXJuIHRydWUgaWYgUEFUIChvZiBsZW5ndGgg UEFUTEVOKSBjb250YWlucyBhbiBlbmNvZGluZyBlcnJvci4gICovCi1zdGF0aWMgYm9vbAot Y29udGFpbnNfZW5jb2RpbmdfZXJyb3IgKGNoYXIgY29uc3QgKnBhdCwgc2l6ZV90IHBhdGxl bikKLXsKLSAgbWJzdGF0ZV90IG1icyA9IHsgMCB9OwotICBzaXplX3QgaSwgY2hhcmxlbjsK LQotICBmb3IgKGkgPSAwOyBpIDwgcGF0bGVuOyBpICs9IGNoYXJsZW4gKyAoY2hhcmxlbiA9 PSAwKSkKLSAgICB7Ci0gICAgICBjaGFybGVuID0gbWJybGVuIChwYXQgKyBpLCBwYXRsZW4g LSBpLCAmbWJzKTsKLSAgICAgIGlmICgoc2l6ZV90KSAtMiA8PSBjaGFybGVuKQotICAgICAg ICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gIHJldHVybiBmYWxzZTsKLX0KLQotLyogQ2hhbmdl IGEgcGF0dGVybiBmb3IgZmdyZXAgaW50byBncmVwLiAgKi8KLXN0YXRpYyB2b2lkCi1mZ3Jl cF90b19ncmVwX3BhdHRlcm4gKHNpemVfdCBsZW4sIGNoYXIgY29uc3QgKmtleXMsCi0gICAg ICAgICAgICAgICAgICAgICAgIHNpemVfdCAqbmV3X2xlbiwgY2hhciAqKm5ld19rZXlzKQot ewotICBjaGFyICpwID0gKm5ld19rZXlzID0geG5tYWxsb2MgKGxlbiArIDEsIDIpOwotICBt YnN0YXRlX3QgbWJfc3RhdGUgPSB7IDAgfTsKLSAgc2l6ZV90IG47Ci0KLSAgZm9yICg7IGxl bjsga2V5cyArPSBuLCBsZW4gLT0gbikKLSAgICB7Ci0gICAgICB3Y2hhcl90IHdjOwotICAg ICAgbiA9IG1icnRvd2MgKCZ3Yywga2V5cywgbGVuLCAmbWJfc3RhdGUpOwotICAgICAgc3dp dGNoIChuKQotICAgICAgICB7Ci0gICAgICAgIGNhc2UgKHNpemVfdCkgLTI6Ci0gICAgICAg ICAgbiA9IGxlbjsKLSAgICAgICAgICAvKiBGYWxsIHRocm91Z2guICAqLwotICAgICAgICBk ZWZhdWx0OgotICAgICAgICAgIHAgPSBtZW1wY3B5IChwLCBrZXlzLCBuKTsKLSAgICAgICAg ICBicmVhazsKLQotICAgICAgICBjYXNlIChzaXplX3QpIC0xOgotICAgICAgICAgIG1lbXNl dCAoJm1iX3N0YXRlLCAwLCBzaXplb2YgbWJfc3RhdGUpOwotICAgICAgICAgIC8qIEZhbGwg dGhyb3VnaC4gICovCi0gICAgICAgIGNhc2UgMToKLSAgICAgICAgICAqcCA9ICdcXCc7Ci0g ICAgICAgICAgcCArPSBzdHJjaHIgKCIkKi5bXFxeIiwgKmtleXMpICE9IE5VTEw7Ci0gICAg ICAgICAgLyogRmFsbCB0aHJvdWdoLiAgKi8KLSAgICAgICAgY2FzZSAwOgotICAgICAgICAg ICpwKysgPSAqa2V5czsKLSAgICAgICAgICBuID0gMTsKLSAgICAgICAgICBicmVhazsKLSAg ICAgICAgfQotICAgIH0KLQotICAqbmV3X2xlbiA9IHAgLSAqbmV3X2tleXM7Ci19Ci0KIGlu dAogbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewpAQCAtMTk4OCw4ICsxOTczLDYg QEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiAgIGxhc3RfcmVjdXJzaXZlID0g MDsKICAgcHJlcGVuZGVkID0gcHJlcGVuZF9kZWZhdWx0X29wdGlvbnMgKGdldGVudiAoIkdS RVBfT1BUSU9OUyIpLCAmYXJnYywgJmFyZ3YpOwotICBjb21waWxlID0gbWF0Y2hlcnNbMF0u Y29tcGlsZTsKLSAgZXhlY3V0ZSA9IG1hdGNoZXJzWzBdLmV4ZWN1dGU7CiAKICAgd2hpbGUg KHByZXZfb3B0aW5kID0gb3B0aW5kLAogICAgICAgICAgKG9wdCA9IGdldF9ub25kaWdpdF9v cHRpb24gKGFyZ2MsIGFyZ3YsICZkZWZhdWx0X2NvbnRleHQpKSAhPSAtMSkKQEAgLTIzMzMs MjMgKzIzMTYsNiBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgIGVsc2UKICAg ICB1c2FnZSAoRVhJVF9UUk9VQkxFKTsKIAotICAvKiBJZiBmZ3JlcCBpbiBhIG11bHRpYnl0 ZSBsb2NhbGUsIHRoZW4gdXNlIGdyZXAgaWYgZWl0aGVyCi0gICAgICgxKSBjYXNlIGlzIGln bm9yZWQgKHdoZXJlIGdyZXAgaXMgdHlwaWNhbGx5IGZhc3RlciksIG9yCi0gICAgICgyKSB0 aGUgcGF0dGVybiBoYXMgYW4gZW5jb2RpbmcgZXJyb3IgKHdoZXJlIGZncmVwIG1pZ2h0IG5v dCB3b3JrKS4gICovCi0gIGlmIChjb21waWxlID09IEZjb21waWxlICYmIE1CX0NVUl9NQVgg PiAxCi0gICAgICAmJiAobWF0Y2hfaWNhc2UgfHwgY29udGFpbnNfZW5jb2RpbmdfZXJyb3Ig KGtleXMsIGtleWNjKSkpCi0gICAgewotICAgICAgc2l6ZV90IG5ld19rZXljYzsKLSAgICAg IGNoYXIgKm5ld19rZXlzOwotICAgICAgZmdyZXBfdG9fZ3JlcF9wYXR0ZXJuIChrZXljYywg a2V5cywgJm5ld19rZXljYywgJm5ld19rZXlzKTsKLSAgICAgIGZyZWUgKGtleXMpOwotICAg ICAga2V5cyA9IG5ld19rZXlzOwotICAgICAga2V5Y2MgPSBuZXdfa2V5Y2M7Ci0gICAgICBt YXRjaGVyID0gImdyZXAiOwotICAgICAgY29tcGlsZSA9IEdjb21waWxlOwotICAgICAgZXhl Y3V0ZSA9IEVHZXhlY3V0ZTsKLSAgICB9Ci0KICAgaWYgKE1CX0NVUl9NQVggPiAxKQogICAg IGJ1aWxkX21iY2xlbl9jYWNoZSAoKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2t3c2VhcmNoLmMg Yi9zcmMva3dzZWFyY2guYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmJkNTE2 YS4uMDAwMDAwMAotLS0gYS9zcmMva3dzZWFyY2guYworKysgL2Rldi9udWxsCkBAIC0xLDE4 OCArMCwwIEBACi0vKiBrd3NlYXJjaC5jIC0gc2VhcmNoaW5nIHN1YnJvdXRpbmVzIHVzaW5n IGt3c2V0IGZvciBncmVwLgotICAgQ29weXJpZ2h0IDE5OTIsIDE5OTgsIDIwMDAsIDIwMDcs IDIwMDktMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLQotICAgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCi0gICBhbnkg bGF0ZXIgdmVyc2lvbi4KLQotICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQot ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLSAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdy aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu a2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQQotICAgMDIxMTAtMTMwMSwg VVNBLiAgKi8KLQotLyogV3JpdHRlbiBBdWd1c3QgMTk5MiBieSBNaWtlIEhhZXJ0ZWwuICov Ci0KLSNpbmNsdWRlIDxjb25maWcuaD4KLSNpbmNsdWRlICJzZWFyY2guaCIKLQotLyogV2hl dGhlciAtdyBjb25zaWRlcnMgV0MgdG8gYmUgYSB3b3JkIGNvbnN0aXR1ZW50LiAgKi8KLXN0 YXRpYyBib29sCi13b3JkY2hhciAod2ludF90IHdjKQotewotICByZXR1cm4gd2MgPT0gTCdf JyB8fCBpc3dhbG51bSAod2MpOwotfQotCi0vKiBLV3NldCBjb21waWxlZCBwYXR0ZXJuLiAg Rm9yIEVjb21waWxlIGFuZCBHY29tcGlsZSwgd2UgY29tcGlsZQotICAgYSBsaXN0IG9mIHN0 cmluZ3MsIGF0IGxlYXN0IG9uZSBvZiB3aGljaCBpcyBrbm93biB0byBvY2N1ciBpbgotICAg YW55IHN0cmluZyBtYXRjaGluZyB0aGUgcmVnZXhwLiAqLwotc3RhdGljIGt3c2V0X3Qga3dz ZXQ7Ci0KLXZvaWQKLUZjb21waWxlIChjaGFyIGNvbnN0ICpwYXR0ZXJuLCBzaXplX3Qgc2l6 ZSkKLXsKLSAgc2l6ZV90IHRvdGFsID0gc2l6ZTsKLSAgbWJfbGVuX21hcF90ICptYXAgPSBO VUxMOwotICBjaGFyIGNvbnN0ICpwYXQgPSAobWF0Y2hfaWNhc2UgJiYgTUJfQ1VSX01BWCA+ IDEKLSAgICAgICAgICAgICAgICAgICAgID8gbWJ0b3VwcGVyIChwYXR0ZXJuLCAmdG90YWws ICZtYXApCi0gICAgICAgICAgICAgICAgICAgICA6IHBhdHRlcm4pOwotCi0gIGt3c2luaXQg KCZrd3NldCk7Ci0KLSAgY2hhciBjb25zdCAqcCA9IHBhdDsKLSAgZG8KLSAgICB7Ci0gICAg ICBzaXplX3QgbGVuOwotICAgICAgY2hhciBjb25zdCAqc2VwID0gbWVtY2hyIChwLCAnXG4n LCB0b3RhbCk7Ci0gICAgICBpZiAoc2VwKQotICAgICAgICB7Ci0gICAgICAgICAgbGVuID0g c2VwIC0gcDsKLSAgICAgICAgICBzZXArKzsKLSAgICAgICAgICB0b3RhbCAtPSAobGVuICsg MSk7Ci0gICAgICAgIH0KLSAgICAgIGVsc2UKLSAgICAgICAgewotICAgICAgICAgIGxlbiA9 IHRvdGFsOwotICAgICAgICAgIHRvdGFsID0gMDsKLSAgICAgICAgfQotCi0gICAgICBjaGFy ICpidWYgPSBOVUxMOwotICAgICAgaWYgKG1hdGNoX2xpbmVzKQotICAgICAgICB7Ci0gICAg ICAgICAgYnVmID0geG1hbGxvYyAobGVuICsgMik7Ci0gICAgICAgICAgYnVmWzBdID0gZW9s Ynl0ZTsKLSAgICAgICAgICBtZW1jcHkgKGJ1ZiArIDEsIHAsIGxlbik7Ci0gICAgICAgICAg YnVmW2xlbiArIDFdID0gZW9sYnl0ZTsKLSAgICAgICAgICBwID0gYnVmOwotICAgICAgICAg IGxlbiArPSAyOwotICAgICAgICB9Ci0gICAgICBrd3NpbmNyIChrd3NldCwgcCwgbGVuKTsK LSAgICAgIGZyZWUgKGJ1Zik7Ci0KLSAgICAgIHAgPSBzZXA7Ci0gICAgfQotICB3aGlsZSAo cCk7Ci0KLSAga3dzcHJlcCAoa3dzZXQpOwotfQotCi0vKiBBcHBseSB0aGUgTUFQIChjcmVh dGVkIGJ5IG1idG91cHBlcikgdG8gdGhlIHVwcGVyY2FzZS1idWZmZXItcmVsYXRpdmUKLSAg ICpPRkYgYW5kICpMRU4sIGNvbnZlcnRpbmcgdGhlbSB0byBiZSByZWxhdGl2ZSB0byB0aGUg b3JpZ2luYWwgYnVmZmVyLiAgKi8KLQotc3RhdGljIHZvaWQKLW1iX2Nhc2VfbWFwX2FwcGx5 IChtYl9sZW5fbWFwX3QgY29uc3QgKm1hcCwgc2l6ZV90ICpvZmYsIHNpemVfdCAqbGVuKQot ewotICBpZiAobWFwKQotICAgIHsKLSAgICAgIHNpemVfdCBvZmZfaW5jciA9IDA7Ci0gICAg ICBzaXplX3QgbGVuX2luY3IgPSAwOwotICAgICAgc2l6ZV90IGs7Ci0gICAgICBmb3IgKGsg PSAwOyBrIDwgKm9mZjsgaysrKQotICAgICAgICBvZmZfaW5jciArPSBtYXBba107Ci0gICAg ICBmb3IgKDsgayA8ICpvZmYgKyAqbGVuOyBrKyspCi0gICAgICAgIGxlbl9pbmNyICs9IG1h cFtrXTsKLSAgICAgICpvZmYgKz0gb2ZmX2luY3I7Ci0gICAgICAqbGVuICs9IGxlbl9pbmNy OwotICAgIH0KLX0KLQotc2l6ZV90Ci1GZXhlY3V0ZSAoY2hhciBjb25zdCAqYnVmLCBzaXpl X3Qgc2l6ZSwgc2l6ZV90ICptYXRjaF9zaXplLAotICAgICAgICAgIGNoYXIgY29uc3QgKnN0 YXJ0X3B0cikKLXsKLSAgY2hhciBjb25zdCAqYmVnLCAqdHJ5LCAqZW5kLCAqbWJfc3RhcnQ7 Ci0gIHNpemVfdCBsZW47Ci0gIGNoYXIgZW9sID0gZW9sYnl0ZTsKLSAgc3RydWN0IGt3c21h dGNoIGt3c21hdGNoOwotICBzaXplX3QgcmV0X3ZhbDsKLSAgbWJfbGVuX21hcF90ICptYXAg PSBOVUxMOwotCi0gIGlmIChNQl9DVVJfTUFYID4gMSkKLSAgICB7Ci0gICAgICBpZiAobWF0 Y2hfaWNhc2UpCi0gICAgICAgIHsKLSAgICAgICAgICBjaGFyICpjYXNlX2J1ZiA9IG1idG91 cHBlciAoYnVmLCAmc2l6ZSwgJm1hcCk7Ci0gICAgICAgICAgaWYgKHN0YXJ0X3B0cikKLSAg ICAgICAgICAgIHN0YXJ0X3B0ciA9IGNhc2VfYnVmICsgKHN0YXJ0X3B0ciAtIGJ1Zik7Ci0g ICAgICAgICAgYnVmID0gY2FzZV9idWY7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgZm9yICht Yl9zdGFydCA9IGJlZyA9IHN0YXJ0X3B0ciA/IHN0YXJ0X3B0ciA6IGJ1ZjsgYmVnIDw9IGJ1 ZiArIHNpemU7IGJlZysrKQotICAgIHsKLSAgICAgIHNpemVfdCBvZmZzZXQgPSBrd3NleGVj IChrd3NldCwgYmVnIC0gbWF0Y2hfbGluZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYnVmICsgc2l6ZSAtIGJlZyArIG1hdGNoX2xpbmVzLCAma3dzbWF0Y2gpOwotICAg ICAgaWYgKG9mZnNldCA9PSAoc2l6ZV90KSAtMSkKLSAgICAgICAgZ290byBmYWlsdXJlOwot ICAgICAgbGVuID0ga3dzbWF0Y2guc2l6ZVswXSAtIG1hdGNoX2xpbmVzOwotICAgICAgaWYg KCFtYXRjaF9saW5lcyAmJiBNQl9DVVJfTUFYID4gMSAmJiAhdXNpbmdfdXRmOCAoKQotICAg ICAgICAgICYmIG1iX2dvYmFjayAoJm1iX3N0YXJ0LCBiZWcgKyBvZmZzZXQsIGJ1ZiArIHNp emUpICE9IDApCi0gICAgICAgIHsKLSAgICAgICAgICAvKiBUaGUgbWF0Y2ggd2FzIGEgcGFy dCBvZiBtdWx0aWJ5dGUgY2hhcmFjdGVyLCBhZHZhbmNlIGF0IGxlYXN0Ci0gICAgICAgICAg ICAgb25lIGJ5dGUgdG8gZW5zdXJlIG5vIGluZmluaXRlIGxvb3AgaGFwcGVucy4gICovCi0g ICAgICAgICAgYmVnID0gbWJfc3RhcnQ7Ci0gICAgICAgICAgY29udGludWU7Ci0gICAgICAg IH0KLSAgICAgIGJlZyArPSBvZmZzZXQ7Ci0gICAgICBpZiAoc3RhcnRfcHRyICYmICFtYXRj aF93b3JkcykKLSAgICAgICAgZ290byBzdWNjZXNzX2luX2JlZ19hbmRfbGVuOwotICAgICAg aWYgKG1hdGNoX2xpbmVzKQotICAgICAgICBnb3RvIHN1Y2Nlc3NfaW5fYmVnX2FuZF9sZW47 Ci0gICAgICBpZiAobWF0Y2hfd29yZHMpCi0gICAgICAgIGZvciAodHJ5ID0gYmVnOyA7ICkK LSAgICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod29yZGNoYXIgKG1iX3ByZXZfd2MgKGJ1 ZiwgdHJ5LCBidWYgKyBzaXplKSkpCi0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg ICAgaWYgKHdvcmRjaGFyIChtYl9uZXh0X3djICh0cnkgKyBsZW4sIGJ1ZiArIHNpemUpKSkK LSAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmICghbGVuKQotICAgICAgICAg ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgb2Zmc2V0ID0ga3dzZXhlYyAoa3dz ZXQsIGJlZywgLS1sZW4sICZrd3NtYXRjaCk7Ci0gICAgICAgICAgICAgICAgaWYgKG9mZnNl dCA9PSAoc2l6ZV90KSAtMSkKLSAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg ICAgICAgIHRyeSA9IGJlZyArIG9mZnNldDsKLSAgICAgICAgICAgICAgICBsZW4gPSBrd3Nt YXRjaC5zaXplWzBdOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmICgh c3RhcnRfcHRyKQotICAgICAgICAgICAgICBnb3RvIHN1Y2Nlc3M7Ci0gICAgICAgICAgICBl bHNlCi0gICAgICAgICAgICAgIGdvdG8gc3VjY2Vzc19pbl9iZWdfYW5kX2xlbjsKLSAgICAg ICAgICB9IC8qIGZvciAodHJ5KSAqLwotICAgICAgZWxzZQotICAgICAgICBnb3RvIHN1Y2Nl c3M7Ci0gICAgfSAvKiBmb3IgKGJlZyBpbiBidWYpICovCi0KLSBmYWlsdXJlOgotICByZXR1 cm4gLTE7Ci0KLSBzdWNjZXNzOgotICBpZiAoKGVuZCA9IG1lbWNociAoYmVnICsgbGVuLCBl b2wsIChidWYgKyBzaXplKSAtIChiZWcgKyBsZW4pKSkgIT0gTlVMTCkKLSAgICBlbmQrKzsK LSAgZWxzZQotICAgIGVuZCA9IGJ1ZiArIHNpemU7Ci0gIHdoaWxlIChidWYgPCBiZWcgJiYg YmVnWy0xXSAhPSBlb2wpCi0gICAgLS1iZWc7Ci0gIGxlbiA9IGVuZCAtIGJlZzsKLSBzdWNj ZXNzX2luX2JlZ19hbmRfbGVuOjsKLSAgc2l6ZV90IG9mZiA9IGJlZyAtIGJ1ZjsKLSAgbWJf Y2FzZV9tYXBfYXBwbHkgKG1hcCwgJm9mZiwgJmxlbik7Ci0KLSAgKm1hdGNoX3NpemUgPSBs ZW47Ci0gIHJldF92YWwgPSBvZmY7Ci0gIHJldHVybiByZXRfdmFsOwotfQpkaWZmIC0tZ2l0 IGEvc3JjL3NlYXJjaC5oIGIvc3JjL3NlYXJjaC5oCmluZGV4IDE0ODc3YmMuLmRkYjhiYmQg MTAwNjQ0Ci0tLSBhL3NyYy9zZWFyY2guaAorKysgYi9zcmMvc2VhcmNoLmgKQEAgLTUzLDEw ICs1Myw2IEBAIGV4dGVybiB3aW50X3QgbWJfbmV4dF93YyAoY2hhciBjb25zdCAqLCBjaGFy IGNvbnN0ICopOwogZXh0ZXJuIHZvaWQgR0VBY29tcGlsZSAoY2hhciBjb25zdCAqLCBzaXpl X3QsIHJlZ19zeW50YXhfdCk7CiBleHRlcm4gc2l6ZV90IEVHZXhlY3V0ZSAoY2hhciBjb25z dCAqLCBzaXplX3QsIHNpemVfdCAqLCBjaGFyIGNvbnN0ICopOwogCi0vKiBrd3NlYXJjaC5j ICovCi1leHRlcm4gdm9pZCBGY29tcGlsZSAoY2hhciBjb25zdCAqLCBzaXplX3QpOwotZXh0 ZXJuIHNpemVfdCBGZXhlY3V0ZSAoY2hhciBjb25zdCAqLCBzaXplX3QsIHNpemVfdCAqLCBj aGFyIGNvbnN0ICopOwotCiAvKiBwY3Jlc2VhcmNoLmMgKi8KIGV4dGVybiB2b2lkIFBjb21w aWxlIChjaGFyIGNvbnN0ICosIHNpemVfdCk7CiBleHRlcm4gc2l6ZV90IFBleGVjdXRlIChj aGFyIGNvbnN0ICosIHNpemVfdCwgc2l6ZV90ICosIGNoYXIgY29uc3QgKik7Ci0tIAoxLjku MAoK --------------050000010709090200050208-- From unknown Sat Sep 20 19:25:26 2025 X-Loop: help-debbugs@gnu.org Subject: bug#17420: [PATCH] grep: always convert fgrep to grep Resent-From: Norihiro Tanaka Original-Sender: "Debbugs-submit" Resent-CC: bug-grep@gnu.org Resent-Date: Fri, 09 May 2014 15:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17420 X-GNU-PR-Package: grep X-GNU-PR-Keywords: patch To: Paul Eggert Cc: 17420@debbugs.gnu.org Received: via spool by 17420-submit@debbugs.gnu.org id=B17420.13996485698978 (code B ref 17420); Fri, 09 May 2014 15:17:01 +0000 Received: (at 17420) by debbugs.gnu.org; 9 May 2014 15:16:09 +0000 Received: from localhost ([127.0.0.1]:57118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WimWu-0002Kj-F0 for submit@debbugs.gnu.org; Fri, 09 May 2014 11:16:08 -0400 Received: from mailgw06.kcn.ne.jp ([61.86.7.213]:54446) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WimWq-0002K0-VB for 17420@debbugs.gnu.org; Fri, 09 May 2014 11:16:06 -0400 Received: from imp01 (mailgw5.kcn.ne.jp [61.86.15.231]) by mailgw06.kcn.ne.jp (Postfix) with ESMTP id 814E1D8008 for <17420@debbugs.gnu.org>; Sat, 10 May 2014 00:15:59 +0900 (JST) Received: from mail09.kcn.ne.jp ([61.86.6.188]) by imp01 with bizsmtp id zrFz1n00C43QJrh01rFzd3; Sat, 10 May 2014 00:15:59 +0900 X-OrgRCPT: 17420@debbugs.gnu.org Received: from [10.120.1.47] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) by mail09.kcn.ne.jp (Postfix) with ESMTPA id 221AE1BD00C4; Sat, 10 May 2014 00:15:59 +0900 (JST) Date: Sat, 10 May 2014 00:15:59 +0900 From: Norihiro Tanaka In-Reply-To: <5369DA02.4030000@cs.ucla.edu> References: <20140506223645.2891.27F6AC2D@kcn.ne.jp> <5369DA02.4030000@cs.ucla.edu> Message-Id: <20140510001558.75FA.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Paul Eggert wrote: > but as long as significant slowdowns are rare, that's OK. That's graceful. However, I concern two slower cases. $ echo a | env LC_ALL=C time -p src/grep -Ff /usr/share/dict/linux.words real 1.34 user 1.26 sys 0.07 $ echo a | env LC_ALL=C time -p src/grep -f /usr/share/dict/linux.words real 56.79 user 6.33 sys 48.79 $ yes /usr/share/dict/linux.words | head -100 | xargs cat > k $ printf 'Python\nPerl\nPascall\nProlog\nPHP\nRuby\nHaskell\nLisp\nScheme\n' | env LC_ALL=C time -p src/grep -Ff - k >/dev/null real 1.84 user 1.78 sys 0.05 $ printf 'Python\nPerl\nPascall\nProlog\nPHP\nRuby\nHaskell\nLisp\nScheme\n' env LC_ALL=C time -p src/grep -f - k >/dev/null real 2.26 user 2.19 sys 0.06 Now, Beate Commentz-Waltertz Walter algorithm in KWset is used by only fgrep matcher. Therefore if it's effective, fgrep matcher is faster than grep matcher. In addition, Beate Commentz-Waltertz Walter algorithm is more smaller memory consumption than the DFA. However, below is very slow, so that Beate Commentz-Waltertz Walter algorithm in KWset hasn't impremented Galil rule yet. $ yes jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj | head -10000000 >k $ printf 'kjjjjjjjjjjjjjjjjjjj\nq\n' | env LC_ALL=C src/grep -Ff - k real 22.67 user 18.31 sys 3.64 $ printf 'kjjjjjjjjjjjjjjjjjjj\nq\n' | env LC_ALL=C src/grep -f - k real 1.09 user 1.03 sys 0.05 Thanks, Norihiro From unknown Sat Sep 20 19:25:26 2025 X-Loop: help-debbugs@gnu.org Subject: bug#17420: [PATCH] grep: always convert fgrep to grep Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-grep@gnu.org Resent-Date: Sat, 10 May 2014 06:45:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17420 X-GNU-PR-Package: grep X-GNU-PR-Keywords: patch To: Norihiro Tanaka Cc: 17420@debbugs.gnu.org Received: via spool by 17420-submit@debbugs.gnu.org id=B17420.139970426414981 (code B ref 17420); Sat, 10 May 2014 06:45:01 +0000 Received: (at 17420) by debbugs.gnu.org; 10 May 2014 06:44:24 +0000 Received: from localhost ([127.0.0.1]:57700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wj11D-0003tY-9L for submit@debbugs.gnu.org; Sat, 10 May 2014 02:44:23 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:38220) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wj119-0003t8-TW for 17420@debbugs.gnu.org; Sat, 10 May 2014 02:44:21 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id BE68AA6002B; Fri, 9 May 2014 23:44:13 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gjqvQFBLPIt1; Fri, 9 May 2014 23:44:05 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 1A72DA6000F; Fri, 9 May 2014 23:44:05 -0700 (PDT) Message-ID: <536DCAB1.2040805@cs.ucla.edu> Date: Fri, 09 May 2014 23:44:01 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 References: <20140506223645.2891.27F6AC2D@kcn.ne.jp> <5369DA02.4030000@cs.ucla.edu> <20140510001558.75FA.27F6AC2D@kcn.ne.jp> In-Reply-To: <20140510001558.75FA.27F6AC2D@kcn.ne.jp> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) Thanks, I see your point, so let's ignore my patch. Still, I'd rather not have the behavior depend on environment variables, and I'd rather have grep "just work" without the user having to specify options. Is there a better heuristic for deciding whether to use Commentz-Walter? If not, perhaps we should leave the code alone. > Beate Commentz-Waltertz Walter algorithm in KWset hasn't impremented Galil rule yet. Can the Galil rule be adapted to Commentz-Walter? I didn't know this was possible. Another possibility might be to replace Commentz-Walter with some other algorithm (Aho-Corasick, modified Wu-Manber, etc.) I suppose this would be a bigger project, though. From unknown Sat Sep 20 19:25:26 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Norihiro Tanaka Subject: bug#17420: closed (bug#17420: [PATCH] grep: always convert fgrep to grep) Message-ID: References: <20140511083908.6923.27F6AC2D@kcn.ne.jp> <20140506223645.2891.27F6AC2D@kcn.ne.jp> X-Gnu-PR-Message: they-closed 17420 X-Gnu-PR-Package: grep X-Gnu-PR-Keywords: patch Reply-To: 17420@debbugs.gnu.org Date: Sat, 10 May 2014 23:40:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1399765203-23595-1" This is a multi-part message in MIME format... ------------=_1399765203-23595-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #17420: [PATCH] grep: always convert fgrep to grep which was filed against the grep package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 17420@debbugs.gnu.org. --=20 17420: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D17420 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1399765203-23595-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 17420-done) by debbugs.gnu.org; 10 May 2014 23:39:17 +0000 Received: from localhost ([127.0.0.1]:58457 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WjGrM-000671-NS for submit@debbugs.gnu.org; Sat, 10 May 2014 19:39:17 -0400 Received: from mailgw06.kcn.ne.jp ([61.86.7.213]:44049) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WjGrJ-00066r-U5 for 17420-done@debbugs.gnu.org; Sat, 10 May 2014 19:39:15 -0400 Received: from imp03 (mailgw7.kcn.ne.jp [61.86.15.238]) by mailgw06.kcn.ne.jp (Postfix) with ESMTP id D9286138007 for <17420-done@debbugs.gnu.org>; Sun, 11 May 2014 08:39:09 +0900 (JST) Received: from mail04.kcn.ne.jp ([61.86.6.183]) by imp03 with bizsmtp id 0Pf91o00E3wvxAM01Pf9br; Sun, 11 May 2014 08:39:09 +0900 X-OrgRCPT: 17420-done@debbugs.gnu.org Received: from [10.120.1.49] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) by mail04.kcn.ne.jp (Postfix) with ESMTPA id 95AF8129009F; Sun, 11 May 2014 08:39:09 +0900 (JST) Date: Sun, 11 May 2014 08:39:09 +0900 From: Norihiro Tanaka To: Paul Eggert Subject: bug#17420: [PATCH] grep: always convert fgrep to grep In-Reply-To: <536DCAB1.2040805@cs.ucla.edu> References: <20140510001558.75FA.27F6AC2D@kcn.ne.jp> <536DCAB1.2040805@cs.ucla.edu> Message-Id: <20140511083908.6923.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17420-done Cc: 17420-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > Is there a better heuristic for deciding whether to use Commentz-Walter? No, I have no idea. > Can the Galil rule be adapted to Commentz-Walter? No, I don't know even whether we can do it. > Another possibility might be to replace Commentz-Walter with some other algorithm (Aho-Corasick, modified Wu-Manber, etc.). DFA is already like Aho-Corasick. So even if we imprement them, there will be no merit much in spite of big changes. The argument has convinced me that we shouldn't apply the patch now. Thanks, Norihiro ------------=_1399765203-23595-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 6 May 2014 13:37:41 +0000 Received: from localhost ([127.0.0.1]:52548 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WhfYw-0006nL-VO for submit@debbugs.gnu.org; Tue, 06 May 2014 09:37:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47087) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WhfYs-0006n4-Gh for submit@debbugs.gnu.org; Tue, 06 May 2014 09:37:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WhfYb-0000xT-EU for submit@debbugs.gnu.org; Tue, 06 May 2014 09:37:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57245) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhfYb-0000xD-Bh for submit@debbugs.gnu.org; Tue, 06 May 2014 09:37:17 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhfYT-0000t2-NC for bug-grep@gnu.org; Tue, 06 May 2014 09:37:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WhfYM-0000sO-3e for bug-grep@gnu.org; Tue, 06 May 2014 09:37:09 -0400 Received: from mailgw06.kcn.ne.jp ([61.86.7.213]:60264) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhfYL-0000sK-KQ for bug-grep@gnu.org; Tue, 06 May 2014 09:37:02 -0400 Received: from imp01 (mailgw5.kcn.ne.jp [61.86.15.231]) by mailgw06.kcn.ne.jp (Postfix) with ESMTP id 20406B0004 for ; Tue, 6 May 2014 22:36:58 +0900 (JST) Received: from mail09.kcn.ne.jp ([61.86.6.188]) by imp01 with bizsmtp id ydcy1n00143QJrh01dcyd7; Tue, 06 May 2014 22:36:58 +0900 X-OrgRCPT: bug-grep@gnu.org Received: from [10.120.1.76] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) by mail09.kcn.ne.jp (Postfix) with ESMTPA id C67F11BD0097 for ; Tue, 6 May 2014 22:36:57 +0900 (JST) Date: Tue, 06 May 2014 22:36:57 +0900 From: Norihiro Tanaka To: bug-grep@gnu.org Subject: [PATCH] grep: always convert fgrep to grep Message-Id: <20140506223645.2891.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_5368DFB600000000288A_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --------_5368DFB600000000288A_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit fgrep uses different matcher from grep, but there is no reason why it must be so. Further more, fgrep matcher is slower than grep matcher in many cases, because it never uses DFA. This patch converts fgrep to grep any time. By the way, if `FGREP_NO_DFA' env. is set, fgrep still uses fgrep matcher. It may be required in some cases. fgrep matcher requires less memory than grep matcher even if a pattern is too long, and/or is faster than it in some cases to have multiple patterns. --------_5368DFB600000000288A_MULTIPART_MIXED_ Content-Type: text/plain; charset="UTF-8"; name="0001-grep-always-convert-fgrep-to-grep.patch" Content-Disposition: attachment; filename="0001-grep-always-convert-fgrep-to-grep.patch" Content-Transfer-Encoding: base64 RnJvbSBhMzI2YjVmYmZjYjNhZTU0NzAwMWRjYzA1MTI3MmFlODhjZWJjYzdkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb3JpaGlybyBUYW5ha2EgPG5vcml0bmtAa2NuLm5lLmpwPgpE YXRlOiBUdWUsIDYgTWF5IDIwMTQgMTY6MDA6MzQgKzA5MDAKU3ViamVjdDogW1BBVENIXSBncmVw OiBhbHdheXMgY29udmVydCBmZ3JlcCB0byBncmVwCgpzcmMvZ3JlcC5jIChtYWluKTogRG8gaXQu Ci0tLQogc3JjL2dyZXAuYyB8IDI2ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2dyZXAuYyBiL3NyYy9ncmVwLmMKaW5kZXggYTY2MWZjMC4uMzVmNGM3NSAxMDA2NDQKLS0t IGEvc3JjL2dyZXAuYworKysgYi9zcmMvZ3JlcC5jCkBAIC0yMzM2LDE4ICsyMzM2LDIyIEBAIG1h aW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgLyogSWYgZmdyZXAgaW4gYSBtdWx0aWJ5dGUg bG9jYWxlLCB0aGVuIHVzZSBncmVwIGlmIGVpdGhlcgogICAgICAoMSkgY2FzZSBpcyBpZ25vcmVk ICh3aGVyZSBncmVwIGlzIHR5cGljYWxseSBmYXN0ZXIpLCBvcgogICAgICAoMikgdGhlIHBhdHRl cm4gaGFzIGFuIGVuY29kaW5nIGVycm9yICh3aGVyZSBmZ3JlcCBtaWdodCBub3Qgd29yaykuICAq LwotICBpZiAoY29tcGlsZSA9PSBGY29tcGlsZSAmJiBNQl9DVVJfTUFYID4gMQotICAgICAgJiYg KG1hdGNoX2ljYXNlIHx8IGNvbnRhaW5zX2VuY29kaW5nX2Vycm9yIChrZXlzLCBrZXljYykpKQor ICBpZiAoY29tcGlsZSA9PSBGY29tcGlsZSkKICAgICB7Ci0gICAgICBzaXplX3QgbmV3X2tleWNj OwotICAgICAgY2hhciAqbmV3X2tleXM7Ci0gICAgICBmZ3JlcF90b19ncmVwX3BhdHRlcm4gKGtl eWNjLCBrZXlzLCAmbmV3X2tleWNjLCAmbmV3X2tleXMpOwotICAgICAgZnJlZSAoa2V5cyk7Ci0g ICAgICBrZXlzID0gbmV3X2tleXM7Ci0gICAgICBrZXljYyA9IG5ld19rZXljYzsKLSAgICAgIG1h dGNoZXIgPSAiZ3JlcCI7Ci0gICAgICBjb21waWxlID0gR2NvbXBpbGU7Ci0gICAgICBleGVjdXRl ID0gRUdleGVjdXRlOworICAgICAgaWYgKCFnZXRlbnYgKCJGR1JFUF9OT19ERkEiKSkKKyAgICAg ICAgeworICAgICAgICAgIHNpemVfdCBuZXdfa2V5Y2M7CisgICAgICAgICAgY2hhciAqbmV3X2tl eXM7CisgICAgICAgICAgZmdyZXBfdG9fZ3JlcF9wYXR0ZXJuIChrZXljYywga2V5cywgJm5ld19r ZXljYywgJm5ld19rZXlzKTsKKyAgICAgICAgICBmcmVlIChrZXlzKTsKKyAgICAgICAgICBrZXlz ID0gbmV3X2tleXM7CisgICAgICAgICAga2V5Y2MgPSBuZXdfa2V5Y2M7CisgICAgICAgICAgbWF0 Y2hlciA9ICJncmVwIjsKKyAgICAgICAgICBjb21waWxlID0gR2NvbXBpbGU7CisgICAgICAgICAg ZXhlY3V0ZSA9IEVHZXhlY3V0ZTsKKyAgICAgICAgfQorICAgICAgZWxzZSBpZiAoY29udGFpbnNf ZW5jb2RpbmdfZXJyb3IgKGtleXMsIGtleWNjKSkKKyAgICAgICAgZXJyb3IgKEVYSVRfVFJPVUJM RSwgMCwgXygiY29udGFpbnMgZW5jb2RpbmcgZXJyb3IiKSk7CiAgICAgfQogCiAgIGlmIChNQl9D VVJfTUFYID4gMSkKLS0gCjEuOS4yCgo= --------_5368DFB600000000288A_MULTIPART_MIXED_-- ------------=_1399765203-23595-1-- From debbugs-submit-bounces@debbugs.gnu.org Sat May 10 20:04:21 2014 Received: (at control) by debbugs.gnu.org; 11 May 2014 00:04:21 +0000 Received: from localhost ([127.0.0.1]:58465 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WjHFd-0006rx-49 for submit@debbugs.gnu.org; Sat, 10 May 2014 20:04:21 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:38378) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WjHFZ-0006ri-SQ for control@debbugs.gnu.org; Sat, 10 May 2014 20:04:18 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 2FB80A6001B for ; Sat, 10 May 2014 17:04:11 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xcffPaQ9pxIx for ; Sat, 10 May 2014 17:04:02 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 5C3D4A6000C for ; Sat, 10 May 2014 17:04:02 -0700 (PDT) Message-ID: <536EBE72.3010602@cs.ucla.edu> Date: Sat, 10 May 2014 17:04:02 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: control@debbugs.gnu.org Subject: 17420 is lower priority Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) severity 17420 minor thanks This patch doesn't fix any bugs; it's more of a performance heuristic. So it should be lower priority.