From unknown Fri Jun 20 18:01:50 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#16823 <16823@debbugs.gnu.org> To: bug#16823 <16823@debbugs.gnu.org> Subject: Status: Use DFA regex engine on fgrep matcher Reply-To: bug#16823 <16823@debbugs.gnu.org> Date: Sat, 21 Jun 2025 01:01:50 +0000 retitle 16823 Use DFA regex engine on fgrep matcher reassign 16823 grep submitter 16823 Norihiro Tanaka severity 16823 normal tag 16823 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 20 08:26:56 2014 Received: (at submit) by debbugs.gnu.org; 20 Feb 2014 13:26:57 +0000 Received: from localhost ([127.0.0.1]:33168 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WGTeQ-0003k2-Ty for submit@debbugs.gnu.org; Thu, 20 Feb 2014 08:26:55 -0500 Received: from pbsg500.nifty.com ([202.248.238.70]:46211) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WGTeL-0003jh-39 for submit@debbugs.gnu.org; Thu, 20 Feb 2014 08:26:52 -0500 Received: from [10.120.1.54] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) (authenticated) by pbsg500.nifty.com with ESMTP id s1KDQZGg020216 for ; Thu, 20 Feb 2014 22:26:36 +0900 X-Nifty-SrcIP: [118.21.128.66] Date: Thu, 20 Feb 2014 22:26:35 +0900 From: Norihiro Tanaka To: submit@debbugs.gnu.org Subject: Use DFA regex engine on fgrep matcher Message-Id: <20140220222634.6EC6.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_52D2369D000000001525_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.64.06 [ja] X-Spam-Score: 2.8 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Package: grep Tags: patch In recent years, grep matcher is very fast by improving the dfa engine. On the other hands, fgrep matcher only uses kwset engine, which isn't generally very good at for case-insensitive matching. [...] Content analysis details: (2.8 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.6 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 3.4 OBFU_TEXT_ATTACH BODY: Text attachment with non-text MIME type 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: 2.8 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Package: grep Tags: patch In recent years, grep matcher is very fast by improving the dfa engine. On the other hands, fgrep matcher only uses kwset engine, which isn't generally very good at for case-insensitive matching. [...] Content analysis details: (2.8 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.6 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 3.4 OBFU_TEXT_ATTACH BODY: Text attachment with non-text MIME type --------_52D2369D000000001525_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Package: grep Tags: patch In recent years, grep matcher is very fast by improving the dfa engine. On the other hands, fgrep matcher only uses kwset engine, which isn't generally very good at for case-insensitive matching. The patch enables to switch case-insensitive matching with fgrep matcher into one with grep matcher, which can use DFA engine, make --ignore-case (-i) with fgrep master faster (about 30-40x) in UTF locale. - Before the patch $ yes $(printf '%078dm' 0)| head -1000000 | tr 0 a > in $ for i in 1 2 3 4 5; do env LC_ALL=en_US.UTF-8 time src/fgrep -i 'n' in; done Command exited with non-zero status 1 6.06user 2.23system 0:08.59elapsed 96%CPU (0avgtext+0avgdata 2624maxresident)k 0inputs+0outputs (0major+188minor)pagefaults 0swaps Command exited with non-zero status 1 6.23user 2.15system 0:08.64elapsed 97%CPU (0avgtext+0avgdata 2608maxresident)k 0inputs+0outputs (0major+187minor)pagefaults 0swaps Command exited with non-zero status 1 6.83user 1.44system 0:08.47elapsed 97%CPU (0avgtext+0avgdata 2608maxresident)k 0inputs+0outputs (0major+187minor)pagefaults 0swaps Command exited with non-zero status 1 7.35user 1.25system 0:08.77elapsed 98%CPU (0avgtext+0avgdata 2624maxresident)k 0inputs+0outputs (0major+188minor)pagefaults 0swaps Command exited with non-zero status 1 7.60user 0.63system 0:08.48elapsed 97%CPU (0avgtext+0avgdata 2608maxresident)k 0inputs+0outputs (0major+187minor)pagefaults 0swaps - After the patch $ yes $(printf '%078dm' 0)| head -1000000 | tr 0 a > in $ for i in 1 2 3 4 5; do env LC_ALL=en_US.UTF-8 time src/fgrep -i 'n' in; done Command exited with non-zero status 1 0.19user 0.10system 0:00.30elapsed 97%CPU (0avgtext+0avgdata 2976maxresident)k 0inputs+0outputs (0major+210minor)pagefaults 0swaps Command exited with non-zero status 1 0.16user 0.06system 0:00.22elapsed 99%CPU (0avgtext+0avgdata 2976maxresident)k 0inputs+0outputs (0major+210minor)pagefaults 0swaps Command exited with non-zero status 1 0.18user 0.04system 0:00.23elapsed 95%CPU (0avgtext+0avgdata 2976maxresident)k 0inputs+0outputs (0major+210minor)pagefaults 0swaps Command exited with non-zero status 1 0.15user 0.07system 0:00.23elapsed 96%CPU (0avgtext+0avgdata 2976maxresident)k 0inputs+0outputs (0major+210minor)pagefaults 0swaps Command exited with non-zero status 1 0.17user 0.04system 0:00.24elapsed 93%CPU (0avgtext+0avgdata 2976maxresident)k 0inputs+0outputs (0major+210minor)pagefaults 0swaps Norihiro --------_52D2369D000000001525_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="dfa_fgrep.txt" Content-Disposition: attachment; filename="dfa_fgrep.txt" Content-Transfer-Encoding: base64 RnJvbSA2Yjc1MmE2MDRlYzg1ZDI3ZDU1NTEzODRhZTYxNTNhOTI0MTg5ZWM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb3JpaGlybyBUYW5ha2EgPG5vcml0bmtAa2NuLm5lLmpwPgpE YXRlOiBUaHUsIDIwIEZlYiAyMDE0IDIyOjEwOjAwICswOTAwClN1YmplY3Q6IFtQQVRDSF0gVXNl IERGQSBlbmdpbmUgb24gZmdyZXAgbWF0Y2hlci4KCi0tLQogc3JjL2ZncmVwLmMgfCAgIDcgKysr Kwogc3JjL21haW4uYyAgfCAxMDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDExMSBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9mZ3JlcC5jIGIvc3JjL2ZncmVw LmMKaW5kZXggYTA5NDBjYy4uMWNlYjI3NCAxMDA2NDQKLS0tIGEvc3JjL2ZncmVwLmMKKysrIGIv c3JjL2ZncmVwLmMKQEAgLTEsOCArMSwxNSBAQAogI2luY2x1ZGUgPGNvbmZpZy5oPgogI2luY2x1 ZGUgInNlYXJjaC5oIgogCitzdGF0aWMgdm9pZAorR2NvbXBpbGUgKGNoYXIgY29uc3QgKnBhdHRl cm4sIHNpemVfdCBzaXplKQoreworICBHRUFjb21waWxlIChwYXR0ZXJuLCBzaXplLCBSRV9TWU5U QVhfR1JFUCB8IFJFX05PX0VNUFRZX1JBTkdFUyk7Cit9CisKIHN0cnVjdCBtYXRjaGVyIGNvbnN0 IG1hdGNoZXJzW10gPSB7CiAgIHsgImZncmVwIiwgRmNvbXBpbGUsIEZleGVjdXRlIH0sCisgIHsg ImdyZXAiLCAgR2NvbXBpbGUsIEVHZXhlY3V0ZSB9LAogICB7IE5VTEwsIE5VTEwsIE5VTEwgfSwK IH07CiAKZGlmZiAtLWdpdCBhL3NyYy9tYWluLmMgYi9zcmMvbWFpbi5jCmluZGV4IGJkMjAyOTcu LmVmYThlMmEgMTAwNjQ0Ci0tLSBhL3NyYy9tYWluLmMKKysrIGIvc3JjL21haW4uYwpAQCAtMTg3 NCw2ICsxODc0LDgzIEBAIHBhcnNlX2dyZXBfY29sb3JzICh2b2lkKQogICAgKCoocykgPSB3Y3Rv YiAoKHdpbnRfdCkgKHdjKSksIDEpIDogXAogICAgd2NydG9tYiAoKHMpLCAod2MpLCAocHMpKSkK IAorLyogQ2hlY2sgd2V0aGVyIGFueSBhbHBoYWJldHMgYXJlIGluY2x1ZGVkIGluIHN0cmluZyAq Lworc3RhdGljIGJvb2wKK2NoZWNrX2FueV9hbHBoYWJldHMgKHNpemVfdCBsZW4sIGNoYXIgY29u c3QgKmtleXMpCit7CisgIG1ic3RhdGVfdCBtYl9zdGF0ZTsKKyAgbWVtc2V0ICgmbWJfc3RhdGUs IDAsIHNpemVvZiBtYl9zdGF0ZSk7CisgIHdoaWxlIChsZW4pCisgICAgeworICAgICAgd2NoYXJf dCB3Yywgd2MyOworICAgICAgaW50IG4gPSBNQlJUT1dDICgmd2MsIGtleXMsIGxlbiwgJm1iX3N0 YXRlKTsKKworICAgICAgaWYgKG4gPD0gMCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAg IHdjMiA9IGlzd2FscGhhICh3YykgPyAoaXN3dXBwZXIgKHdjKSA/IHRvd2xvd2VyICh3YykgOiB0 b3d1cHBlciAod2MpKSA6IHdjOworCisgICAgICBpZiAod2MyICE9IHdjKQorICAgICAgICByZXR1 cm4gdHJ1ZTsKKworICAgICAga2V5cyArPSBuOworICAgICAgbGVuIC09IG47CisgICAgfQorCisg IHJldHVybiBmYWxzZTsKK30KKworc3RhdGljIGJvb2wKK2ZncmVwX3RvX2dyZXAgKHNpemVfdCBs ZW4sIGNoYXIgY29uc3QgKmtleXMsCisgICAgICAgICAgICAgICBzaXplX3QgKm5ld19sZW4sIGNo YXIgKipuZXdfa2V5cykKK3sKKyAgKm5ld19rZXlzID0geG1hbGxvYyAoMiAqIGxlbiArIDEpOwor ICBjaGFyICpwID0gKm5ld19rZXlzOworCisgIG1ic3RhdGVfdCBtYl9zdGF0ZTsKKyAgbWVtc2V0 ICgmbWJfc3RhdGUsIDAsIHNpemVvZiBtYl9zdGF0ZSk7CisgIHdoaWxlIChsZW4pCisgICAgewor ICAgICAgd2NoYXJfdCB3YzsKKyAgICAgIGludCBuID0gTUJSVE9XQyAoJndjLCBrZXlzLCBsZW4s ICZtYl9zdGF0ZSk7CisKKyAgICAgIGlmIChuIDw9IDApCisgICAgICAgIHsKKyAgICAgICAgICBm cmVlICgqbmV3X2tleXMpOworICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisg ICAgICBpZiAobiA9PSAxKQorICAgICAgICB7CisgICAgICAgICAgc3dpdGNoICgqa2V5cykKKyAg ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgY2FzZSAnXFwnOgorICAgICAgICAgICAgICBjYXNl ICdbJzoKKyAgICAgICAgICAgICAgY2FzZSAnXSc6CisgICAgICAgICAgICAgIGNhc2UgJ14nOgor ICAgICAgICAgICAgICBjYXNlICckJzoKKyAgICAgICAgICAgICAgY2FzZSAnLic6CisgICAgICAg ICAgICAgIGNhc2UgJyonOgorICAgICAgICAgICAgICAgICpwKysgPSAnXFwnOworICAgICAgICAg ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICpwKysgPSAqa2V5czsKKyAgICAgICAgICAg IH0KKyAgICAgICAgfQorICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgbWVtY3B5IChw LCBrZXlzLCBuKTsKKyAgICAgICAgICBwICs9IG47CisgICAgICAgIH0KKworICAgICAga2V5cyAr PSBuOworICAgICAgbGVuIC09IG47CisgICAgfQorCisgICpuZXdfbGVuID0gcCAtICpuZXdfa2V5 czsKKworICByZXR1cm4gdHJ1ZTsKK30KKwogLyogSWYgdGhlIG5ld2xpbmUtc2VwYXJhdGVkIHJl Z3VsYXIgZXhwcmVzc2lvbnMsIEtFWVMgKHdpdGggbGVuZ3RoLCBMRU4KICAgIGFuZCBubyB0cmFp bGluZyBOVUwgYnl0ZSksIGFyZSBhbWVuYWJsZSB0byB0cmFuc2Zvcm1hdGlvbiBpbnRvCiAgICBv dGhlcndpc2UgZXF1aXZhbGVudCBjYXNlLWlnbm9yaW5nIG9uZXMsIHBlcmZvcm0gdGhlIHRyYW5z Zm9ybWF0aW9uLApAQCAtMTg5OCw3ICsxOTc1LDcgQEAgdHJpdmlhbF9jYXNlX2lnbm9yZSAoc2l6 ZV90IGxlbiwgY2hhciBjb25zdCAqa2V5cywKICAgbWVtc2V0ICgmbWJfc3RhdGUsIDAsIHNpemVv ZiBtYl9zdGF0ZSk7CiAgIHdoaWxlIChsZW4pCiAgICAgewotICAgICAgd2NoYXJfdCB3YzsKKyAg ICAgIHdjaGFyX3Qgd2MsIHdjMjsKICAgICAgIGludCBuID0gTUJSVE9XQyAoJndjLCBrZXlzLCBs ZW4sICZtYl9zdGF0ZSk7CiAKICAgICAgIC8qIEZvciBhbiBpbnZhbGlkLCBpbmNvbXBsZXRlIG9y IEwnXDAnLCBza2lwIHRoaXMgb3B0aW1pemF0aW9uLiAgKi8KQEAgLTE5MTMsNyArMTk5MCw5IEBA IHRyaXZpYWxfY2FzZV9pZ25vcmUgKHNpemVfdCBsZW4sIGNoYXIgY29uc3QgKmtleXMsCiAgICAg ICBrZXlzICs9IG47CiAgICAgICBsZW4gLT0gbjsKIAotICAgICAgaWYgKCFpc3dhbHBoYSAod2Mp KQorICAgICAgd2MyID0gaXN3YWxwaGEgKHdjKSA/IChpc3d1cHBlciAod2MpID8gdG93bG93ZXIg KHdjKSA6IHRvd3VwcGVyICh3YykpIDogd2M7CisKKyAgICAgIGlmICh3YzIgPT0gd2MpCiAgICAg ICAgIHsKICAgICAgICAgICBtZW1jcHkgKHAsIG9yaWcsIG4pOwogICAgICAgICAgIHAgKz0gbjsK QEAgLTE5MjQsNyArMjAwMyw2IEBAIHRyaXZpYWxfY2FzZV9pZ25vcmUgKHNpemVfdCBsZW4sIGNo YXIgY29uc3QgKmtleXMsCiAgICAgICAgICAgbWVtY3B5IChwLCBvcmlnLCBuKTsKICAgICAgICAg ICBwICs9IG47CiAKLSAgICAgICAgICB3Y2hhcl90IHdjMiA9IGlzd3VwcGVyICh3YykgPyB0b3ds b3dlciAod2MpIDogdG93dXBwZXIgKHdjKTsKICAgICAgICAgICBjaGFyIGJ1ZltNQl9DVVJfTUFY XTsKICAgICAgICAgICBpbnQgbjIgPSBXQ1JUT01CIChidWYsIHdjMiwgJm1iX3N0YXRlKTsKICAg ICAgICAgICBpZiAobjIgPD0gMCkKQEAgLTIzMzYsNiArMjQxNCwyOSBAQCBtYWluIChpbnQgYXJn YywgY2hhciAqKmFyZ3YpCiAgIGVsc2UKICAgICB1c2FnZSAoRVhJVF9UUk9VQkxFKTsKIAorICAv KiBJZiBNYXRjaGVyIGlzIGZncmVwIGFuZCBjYXNlLWluc2Vuc2l0aXZlIGFuZCBrZXlzIGluY2x1 ZGUgYW55IGFscGhhYmV0cywKKyAgICAgZXNjYXBlIGtleXMgYW5kIGNoYW5nZSBtYXRjaGVyIGlu dG8gImdyZXAiIHRvIHVzZSBERkEuICovCisgIGlmIChtYXRjaF9pY2FzZSAmJiBNQl9DVVJfTUFY ID4gMSAmJiBrZXljYworICAgICAgJiYgKCghbWF0Y2hlciAmJiBTVFJFUSAobWF0Y2hlcnNbMF0u bmFtZSwgImZncmVwIikpCisgICAgICAgICAgfHwgKG1hdGNoZXIgJiYgU1RSRVEgKG1hdGNoZXIs ICJmZ3JlcCIpKSkpCisgICAgeworICAgICAgaWYgKGNoZWNrX2FueV9hbHBoYWJldHMgKGtleWNj LCBrZXlzKSkKKyAgICAgICAgeworICAgICAgICAgIHNpemVfdCBuZXdfa2V5Y2M7CisgICAgICAg ICAgY2hhciAqbmV3X2tleXM7CisgICAgICAgICAgaWYgKGZncmVwX3RvX2dyZXAgKGtleWNjLCBr ZXlzLCAmbmV3X2tleWNjLCAmbmV3X2tleXMpKQorICAgICAgICAgICAgeworICAgICAgICAgICAg ICBtYXRjaGVyID0gTlVMTDsKKyAgICAgICAgICAgICAgc2V0bWF0Y2hlciAoImdyZXAiKTsKKyAg ICAgICAgICAgICAgZnJlZSAoa2V5cyk7CisgICAgICAgICAgICAgIGtleXMgPSBuZXdfa2V5czsK KyAgICAgICAgICAgICAga2V5Y2MgPSBuZXdfa2V5Y2M7CisgICAgICAgICAgICB9CisgICAgICAg IH0KKyAgICAgIGVsc2UKKyAgICAgICAgbWF0Y2hfaWNhc2UgPSAwOworICAgIH0KKwogICAvKiBB cyBjdXJyZW50bHkgaW1wbGVtZW50ZWQsIGNhc2UtaW5zZW5zaXRpdmUgbWF0Y2hpbmcgaXMgZXhw ZW5zaXZlIGluCiAgICAgIG11bHRpLWJ5dGUgbG9jYWxlcyBiZWNhdXNlIG9mIGEgZmV3IG91dGxp ZXIgbG9jYWxlcyBpbiB3aGljaCBzb21lCiAgICAgIGNoYXJhY3RlcnMgY2hhbmdlIHNpemUgd2hl biBjb252ZXJ0ZWQgdG8gdXBwZXIgb3IgbG93ZXIgY2FzZS4gIFRvCi0tIAoxLjguNS4yCgo= --------_52D2369D000000001525_MULTIPART_MIXED_-- From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 20 09:28:43 2014 Received: (at 16823) by debbugs.gnu.org; 20 Feb 2014 14:28:43 +0000 Received: from localhost ([127.0.0.1]:33203 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WGUcF-0005Pu-2j for submit@debbugs.gnu.org; Thu, 20 Feb 2014 09:28:43 -0500 Received: from pbsg501.nifty.com ([202.248.238.71]:62605) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WGUc7-0005Pc-EL for 16823@debbugs.gnu.org; Thu, 20 Feb 2014 09:28:38 -0500 Received: from [10.120.1.54] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) (authenticated) by pbsg501.nifty.com with ESMTP id s1KESJCc004134; Thu, 20 Feb 2014 23:28:20 +0900 X-Nifty-SrcIP: [118.21.128.66] Date: Thu, 20 Feb 2014 23:28:19 +0900 From: Norihiro Tanaka To: Norihiro Tanaka Subject: Re: bug#16823: Use DFA regex engine on fgrep matcher In-Reply-To: <20140220222634.6EC6.27F6AC2D@kcn.ne.jp> References: <20140220222634.6EC6.27F6AC2D@kcn.ne.jp> Message-Id: <20140220232814.353D.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Mailer: Becky! ver. 2.64.06 [ja] X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 16823 Cc: 16823@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.6 (/) In following case, about 200-400x faster. It's equal to performance of grep. Patch#16232 may also work effectively. - Before the patch $ yes $(printf '%078dm' 0)| head -1000000 | tr 0 a > in $ for i in 1 2 3 4 5; do env LC_ALL=ja_JP.UTF-8 time src/fgrep -i 'a' in; done Command exited with non-zero status 1 7.46user 0.91system 0:08.62elapsed 97%CPU (0avgtext+0avgdata 2624maxresident)k 0inputs+0outputs (0major+188minor)pagefaults 0swaps Command exited with non-zero status 1 7.94user 0.84system 0:09.13elapsed 96%CPU (0avgtext+0avgdata 2624maxresident)k 0inputs+0outputs (0major+188minor)pagefaults 0swaps Command exited with non-zero status 1 7.72user 0.76system 0:08.83elapsed 96%CPU (0avgtext+0avgdata 2624maxresident)k 0inputs+0outputs (0major+188minor)pagefaults 0swaps Command exited with non-zero status 1 7.77user 0.62system 0:08.74elapsed 96%CPU (0avgtext+0avgdata 2608maxresident)k 0inputs+0outputs (0major+187minor)pagefaults 0swaps Command exited with non-zero status 1 8.03user 0.71system 0:09.08elapsed 96%CPU (0avgtext+0avgdata 2624maxresident)k 0inputs+0outputs (0major+188minor)pagefaults 0swaps - After the patch $ yes $(printf '%078dm' 0)| head -1000000 | tr 0 a > in $ for i in 1 2 3 4 5; do env LC_ALL=ja_JP.UTF-8 time src/fgrep -i 'a' in; done Command exited with non-zero status 1 0.04user 0.08system 0:00.14elapsed 90%CPU (0avgtext+0avgdata 3008maxresident)k 0inputs+0outputs (0major+212minor)pagefaults 0swaps Command exited with non-zero status 1 0.02user 0.04system 0:00.08elapsed 89%CPU (0avgtext+0avgdata 3008maxresident)k 0inputs+0outputs (0major+226minor)pagefaults 0swaps Command exited with non-zero status 1 0.02user 0.05system 0:00.08elapsed 89%CPU (0avgtext+0avgdata 3024maxresident)k 0inputs+0outputs (0major+213minor)pagefaults 0swaps Command exited with non-zero status 1 0.02user 0.05system 0:00.09elapsed 83%CPU (0avgtext+0avgdata 3024maxresident)k 0inputs+0outputs (0major+213minor)pagefaults 0swaps Command exited with non-zero status 1 0.02user 0.04system 0:00.07elapsed 93%CPU (0avgtext+0avgdata 3024maxresident)k 0inputs+0outputs (0major+213minor)pagefaults 0swaps From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 09 10:51:16 2014 Received: (at 16823) by debbugs.gnu.org; 9 Mar 2014 14:51:16 +0000 Received: from localhost ([127.0.0.1]:58279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WMf4N-0004Ji-SK for submit@debbugs.gnu.org; Sun, 09 Mar 2014 10:51:16 -0400 Received: from pbsg501.nifty.com ([202.248.238.71]:34504) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WMf4H-0004JS-W6 for 16823@debbugs.gnu.org; Sun, 09 Mar 2014 10:51:12 -0400 Received: from [10.120.1.33] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) (authenticated) by pbsg501.nifty.com with ESMTP id s29Ep6je028967 for <16823@debbugs.gnu.org>; Sun, 9 Mar 2014 23:51:06 +0900 X-Nifty-SrcIP: [118.21.128.66] Date: Sun, 09 Mar 2014 23:51:05 +0900 From: Norihiro Tanaka To: 16823@debbugs.gnu.org Subject: bug#16823: Use DFA regex engine on fgrep matcher In-Reply-To: <20140220222634.6EC6.27F6AC2D@kcn.ne.jp> References: <20140220222634.6EC6.27F6AC2D@kcn.ne.jp> Message-Id: <20140309235104.3EA7.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_531C7EEC000000003ED1_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.64.06 [ja] X-Spam-Score: 3.8 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: I make an update and add the draft of the commit log for the patch. Norihiro [...] Content analysis details: (3.8 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -0.0 SPF_PASS SPF: sender matches SPF record 3.8 OBFU_TEXT_ATTACH BODY: Text attachment with non-text MIME type X-Debbugs-Envelope-To: 16823 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.8 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: I make an update and add the draft of the commit log for the patch. Norihiro [...] Content analysis details: (3.8 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -0.0 SPF_PASS SPF: sender matches SPF record 3.8 OBFU_TEXT_ATTACH BODY: Text attachment with non-text MIME type --------_531C7EEC000000003ED1_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit I make an update and add the draft of the commit log for the patch. Norihiro --------_531C7EEC000000003ED1_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 RnJvbSBmYzk1NmIyMGViYWNmMmY4Y2VkYWQxOTZiYTM4Nzk3ZDhlYzM3MjRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb3JpaGlybyBUYW5ha2EgPG5vcml0bmtAa2NuLm5lLmpwPgpE YXRlOiBTdW4sIDkgTWFyIDIwMTQgMjM6NDM6MzQgKzA5MDAKU3ViamVjdDogW1BBVENIXSBncmVw OiBvcHRpbWl6YXRpb24gZm9yIGZncmVwIHdpdGggY2hhbmdpbmcgdGhlIG1hY2hlciB0byBncmVw CiBtYWNoZXIuCgpmZ3JlcCBtYWNoZXIgaXMgb25seSB1c2Uga3dzZXQgZW5naW5lLiAgSG93ZXZl ciwgaXQncyB2ZXJ5IHNsb3cgZm9yCmNhc2UtaW5zZW5zaXRpdmUgbWF0Y2hpbmcgaW4gbXVsdGli eXRlIGxvY2FsZXMuCgpBbmQgc28sIGlmIHRoZSBtYXRjaGVyIGlzIGZncmVwIGFuZCBjYXNlLWlu c2Vuc2l0aXZlIGFuZCBrZXlzIGluY2x1ZGluZwphbnkgYWxwaGFiZXRzLCBjaGFuZ2UgaXQgaW50 byBncmVwIG1hdGNoZXIgYnkgZXNjYXBlIG9mIGtleXMuICBPVE9ILCBpZgprZXlzIGluY2x1ZGUg bm8gYWxwaGFiZXQsIHR1cm4gbWF0Y2hfaWNhc2UgZmxhZyBvZmYuCgpJIHByZXBhcmUgZm9sbG93 aW5nIHN0cmluZyB0byBtZWFzdXJlIHRoZSBwZXJmb3JtYW5jZS4KCiAgICB5ZXMgJChwcmludGYg JyUwNzhkbScgMCl8IGhlYWQgLTEwMDAwMDAgfCB0ciAwIGEgPiBpbgogICAgQT1gcHJpbnRmICdc eGVmXHhiY1x4YTEnYCAgICMgRlVMTFdJRFRIIExBVElOIENBUElUQUwgTEVUVEVSIEEKCkkgcnVu IHRocmVlIHRlc3RzIHdpdGggdGhpcyBwYXRjaCAoYmVzdC1vZi01IHRyaWFscyk6CgogICAgZW52 IExDX0FMTD1lbl9VUy5VVEYtOCB0aW1lIC1wIHNyYy9mZ3JlcCAtaSAiJEEiIGluCiAgICAgICAg cmVhbCA4LjU0ICAgICAgIHVzZXIgNy4xMyAgICAgICBzeXMgMS4xNgoKQmFjayBvdXQgdGhhdCBj b21taXQgKHRlbXBvcmFyaWx5KSwgcmVjb21waWxlLCBhbmQgcmVydW4gdGhlIGV4cGVyaW1lbnQ6 CgogICAgZW52IExDX0FMTD1lbl9VUy5VVEYtOCB0aW1lIC1wIHNyYy9mZ3JlcCAtaSAiJEEiIGlu CiAgICAgICAgcmVhbCAwLjA3ICAgICAgIHVzZXIgMC4wMiAgICAgICBzeXMgMC4wNQoKKiBzcmMv ZmdyZXAuYyAoR2NvbXBpbGUpIE5ldyBmdW5jdGlvbi4KKiBzcmMvbWFpbi5jIChjaGVja19hbnlf YWxwaGFiZXRzKSBOZXcgZnVuY3Rpb24uCihmZ3JlcF90b19ncmVwX3BhdHRlcm4pIE5ldyBmdW5j dGlvbi4KKG1haW4pIFVzZSB0aGVtLgotLS0KIHNyYy9mZ3JlcC5jIHwgIDcgKysrKysKIHNyYy9t YWluLmMgIHwgOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL3NyYy9mZ3JlcC5jIGIvc3JjL2ZncmVwLmMKaW5kZXggYTA5NDBjYy4uMWNlYjI3 NCAxMDA2NDQKLS0tIGEvc3JjL2ZncmVwLmMKKysrIGIvc3JjL2ZncmVwLmMKQEAgLTEsOCArMSwx NSBAQAogI2luY2x1ZGUgPGNvbmZpZy5oPgogI2luY2x1ZGUgInNlYXJjaC5oIgogCitzdGF0aWMg dm9pZAorR2NvbXBpbGUgKGNoYXIgY29uc3QgKnBhdHRlcm4sIHNpemVfdCBzaXplKQoreworICBH RUFjb21waWxlIChwYXR0ZXJuLCBzaXplLCBSRV9TWU5UQVhfR1JFUCB8IFJFX05PX0VNUFRZX1JB TkdFUyk7Cit9CisKIHN0cnVjdCBtYXRjaGVyIGNvbnN0IG1hdGNoZXJzW10gPSB7CiAgIHsgImZn cmVwIiwgRmNvbXBpbGUsIEZleGVjdXRlIH0sCisgIHsgImdyZXAiLCAgR2NvbXBpbGUsIEVHZXhl Y3V0ZSB9LAogICB7IE5VTEwsIE5VTEwsIE5VTEwgfSwKIH07CiAKZGlmZiAtLWdpdCBhL3NyYy9t YWluLmMgYi9zcmMvbWFpbi5jCmluZGV4IDRmOGYxZWYuLmI4MGUyOWUgMTAwNjQ0Ci0tLSBhL3Ny Yy9tYWluLmMKKysrIGIvc3JjL21haW4uYwpAQCAtMTg3Niw2ICsxODc2LDc5IEBAIHBhcnNlX2dy ZXBfY29sb3JzICh2b2lkKQogICAgPyAoKihzKSA9IHdjdG9iICgod2ludF90KSAod2MpKSwgMSkg XAogICAgOiB3Y3J0b21iIChzLCB3YywgcHMpKQogCisvKiBDaGVjayB3ZXRoZXIgYSBzdHJpbmcg aGFzIGFueSBhbHBoYWJldHMuICAqLworc3RhdGljIGJvb2wKK2NoZWNrX2FueV9hbHBoYWJldHMg KHNpemVfdCBsZW4sIGNoYXIgY29uc3QgKmtleXMpCit7CisgIHdoaWxlIChsZW4pCisgICAgewor ICAgICAgbWJzdGF0ZV90IG1iX3N0YXRlID0geyAwIH07CisgICAgICB3Y2hhcl90IHdjOworICAg ICAgc2l6ZV90IG4gPSBNQlJUT1dDICgmd2MsIGtleXMsIGxlbiwgJm1iX3N0YXRlKTsKKworICAg ICAgaWYgKChzaXplX3QpIC0yIDw9IG4pCisgICAgICAgIHsKKyAgICAgICAgICBrZXlzKys7Cisg ICAgICAgICAgbGVuLS07CisgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAg d2NoYXJfdCBmb2xkZWRbQ0FTRV9GT0xERURfQlVGU0laRV07CisgICAgICBpbnQgbmZvbGRlZCA9 IGNhc2VfZm9sZGVkX2NvdW50ZXJwYXJ0cyAod2MsIGZvbGRlZCk7CisgICAgICBpZiAobmZvbGRl ZCA+IDApCisgICAgICAgIHJldHVybiB0cnVlOworICAgICAga2V5cyArPSBuOworICAgICAgbGVu IC09IG47CisgICAgfQorCisgIHJldHVybiBmYWxzZTsKK30KKworLyogQ2hhbmdlIGEgcGF0dGVy biBmb3IgZmdyZXAgaW50byBncmVwLiAgKi8KK3N0YXRpYyB2b2lkCitmZ3JlcF90b19ncmVwX3Bh dHRlcm4gKHNpemVfdCBsZW4sIGNoYXIgY29uc3QgKmtleXMsCisgICAgICAgICAgICAgICAgICAg ICAgIHNpemVfdCAqbmV3X2xlbiwgY2hhciAqKm5ld19rZXlzKQoreworICAqbmV3X2tleXMgPSB4 bm1hbGxvYyAobGVuICsgMSwgMik7CisgIGNoYXIgKnAgPSAqbmV3X2tleXM7CisKKyAgd2hpbGUg KGxlbikKKyAgICB7CisgICAgICBtYnN0YXRlX3QgbWJfc3RhdGUgPSB7IDAgfTsKKyAgICAgIHdj aGFyX3Qgd2M7CisgICAgICBzaXplX3QgbiA9IE1CUlRPV0MgKCZ3Yywga2V5cywgbGVuLCAmbWJf c3RhdGUpOworCisgICAgICBpZiAoKHNpemVfdCkgLTIgPD0gbikKKyAgICAgICAgKnArKyA9ICpr ZXlzKys7CisgICAgICBlbHNlIGlmIChuID09IDEpCisgICAgICAgIHsKKyAgICAgICAgICBzd2l0 Y2ggKCprZXlzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBjYXNlICdcXCc6CisgICAg ICAgICAgICAgIGNhc2UgJ1snOgorICAgICAgICAgICAgICBjYXNlICddJzoKKyAgICAgICAgICAg ICAgY2FzZSAnXic6CisgICAgICAgICAgICAgIGNhc2UgJyQnOgorICAgICAgICAgICAgICBjYXNl ICcuJzoKKyAgICAgICAgICAgICAgY2FzZSAnKic6CisgICAgICAgICAgICAgICAgKnArKyA9ICdc XCc7CisgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgKnArKyA9ICprZXlz OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAg ICAgICBtZW1jcHkgKHAsIGtleXMsIG4pOworICAgICAgICAgIHAgKz0gbjsKKyAgICAgICAgfQor CisgICAgICBrZXlzICs9IG47CisgICAgICBsZW4gLT0gbjsKKyAgICB9CisKKyAgKm5ld19sZW4g PSBwIC0gKm5ld19rZXlzOworfQorCiAvKiBJZiB0aGUgbmV3bGluZS1zZXBhcmF0ZWQgcmVndWxh ciBleHByZXNzaW9ucywgS0VZUyAod2l0aCBsZW5ndGgsIExFTgogICAgYW5kIG5vIHRyYWlsaW5n IE5VTCBieXRlKSwgYXJlIGFtZW5hYmxlIHRvIHRyYW5zZm9ybWF0aW9uIGludG8KICAgIG90aGVy d2lzZSBlcXVpdmFsZW50IGNhc2UtaWdub3Jpbmcgb25lcywgcGVyZm9ybSB0aGUgdHJhbnNmb3Jt YXRpb24sCkBAIC0yMzUwLDYgKzI0MjMsMjggQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQogICBlbHNlCiAgICAgdXNhZ2UgKEVYSVRfVFJPVUJMRSk7CiAKKyAgLyogSWYgdGhlIG1hdGNo ZXIgaXMgZmdyZXAgYW5kIGNhc2UtaW5zZW5zaXRpdmUgYW5kIGtleXMgaW5jbHVkaW5nIGFueQor ICAgICBhbHBoYWJldHMsIGNoYW5nZSBpdCBpbnRvIGdyZXAgbWF0Y2hlciBieSBlc2NhcGUgb2Yg a2V5cy4gIElmIGtleXMKKyAgICAgaW5jbHVkZSBubyBhbHBoYWJldCwgY2FuIHR1cm4gb2ZmIG1h dGNoX2ljYXNlIGZsYWcuICAqLworICBpZiAobWF0Y2hfaWNhc2UgJiYgTUJfQ1VSX01BWCA+IDEg JiYga2V5Y2MKKyAgICAgICYmICgoIW1hdGNoZXIgJiYgU1RSRVEgKG1hdGNoZXJzWzBdLm5hbWUs ICJmZ3JlcCIpKQorICAgICAgICAgIHx8IChtYXRjaGVyICYmIFNUUkVRIChtYXRjaGVyLCAiZmdy ZXAiKSkpKQorICAgIHsKKyAgICAgIGlmIChjaGVja19hbnlfYWxwaGFiZXRzIChrZXljYywga2V5 cykpCisgICAgICAgIHsKKyAgICAgICAgICBzaXplX3QgbmV3X2tleWNjOworICAgICAgICAgIGNo YXIgKm5ld19rZXlzOworICAgICAgICAgIGZncmVwX3RvX2dyZXBfcGF0dGVybiAoa2V5Y2MsIGtl eXMsICZuZXdfa2V5Y2MsICZuZXdfa2V5cyk7CisgICAgICAgICAgZnJlZSAoa2V5cyk7CisgICAg ICAgICAga2V5cyA9IG5ld19rZXlzOworICAgICAgICAgIGtleWNjID0gbmV3X2tleWNjOworICAg ICAgICAgIG1hdGNoZXIgPSBOVUxMOworICAgICAgICAgIHNldG1hdGNoZXIgKCJncmVwIik7Cisg ICAgICAgIH0KKyAgICAgIGVsc2UKKyAgICAgICAgbWF0Y2hfaWNhc2UgPSAwOworICAgIH0KKwog ICAvKiBDYXNlLWluc2Vuc2l0aXZlIG1hdGNoaW5nIGlzIGV4cGVuc2l2ZSBpbiBtdWx0aWJ5dGUg bG9jYWxlcwogICAgICBiZWNhdXNlIGEgZmV3IGNoYXJhY3RlcnMgbWF5IGNoYW5nZSBzaXplIHdo ZW4gY29udmVydGVkIHRvIHVwcGVyCiAgICAgIG9yIGxvd2VyIGNhc2UuICBUbyBhY2NvbW1vZGF0 ZSB0aG9zZSwgc2VhcmNoIHRoZSBpbnB1dCBvbmUgbGluZQotLSAKMS44LjUuMgoK --------_531C7EEC000000003ED1_MULTIPART_MIXED_-- From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 23 21:18:43 2014 Received: (at 16823-done) by debbugs.gnu.org; 24 Mar 2014 01:18:43 +0000 Received: from localhost ([127.0.0.1]:46466 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRtXG-0002uW-Ts for submit@debbugs.gnu.org; Sun, 23 Mar 2014 21:18:43 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:33362) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRtXE-0002uI-Uq for 16823-done@debbugs.gnu.org; Sun, 23 Mar 2014 21:18:41 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 6BDD639E8013; Sun, 23 Mar 2014 18:18:35 -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 T+L62PCyN44G; Sun, 23 Mar 2014 18:18:35 -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 DEE6539E8008; Sun, 23 Mar 2014 18:18:34 -0700 (PDT) Message-ID: <532F87EA.8040601@cs.ucla.edu> Date: Sun, 23 Mar 2014 18:18:34 -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.4.0 MIME-Version: 1.0 To: Norihiro Tanaka , 16823-done@debbugs.gnu.org Subject: Re: bug#16823: Use DFA regex engine on fgrep matcher References: <20140220222634.6EC6.27F6AC2D@kcn.ne.jp> <20140309235104.3EA7.27F6AC2D@kcn.ne.jp> In-Reply-To: <20140309235104.3EA7.27F6AC2D@kcn.ne.jp> Content-Type: multipart/mixed; boundary="------------040205040906010909020100" X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 16823-done 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: -2.8 (--) This is a multi-part message in MIME format. --------------040205040906010909020100 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Thanks, I pushed your patch (with a minor change to make it integrate with the latest grep) and then pushed some fixes and one major simplification: don't have any special case for "grep -iF PAT" when PAT contains no alphabetics. This is rare enough that I expect it's not worth complicating grep to worry about it. I'm attaching the combined patch, that is the merge of your patch plus my changes. --------------040205040906010909020100 Content-Type: text/plain; charset=UTF-8; name="grep-F.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="grep-F.patch" ZGlmZiAtLWdpdCBhL3NyYy9ncmVwLmMgYi9zcmMvZ3JlcC5jCmluZGV4IDQ3NWNiMWEuLmEx YmNjZGIgMTAwNjQ0Ci0tLSBhL3NyYy9ncmVwLmMKKysrIGIvc3JjL2dyZXAuYwpAQCAtMTkw NCw2ICsxOTA0LDQ1IEBAIHBhcnNlX2dyZXBfY29sb3JzICh2b2lkKQogICAgPyAoKihzKSA9 IHdjdG9iICgod2ludF90KSAod2MpKSwgMSkgXAogICAgOiB3Y3J0b21iIChzLCB3YywgcHMp KQogCisvKiBDaGFuZ2UgYSBwYXR0ZXJuIGZvciBmZ3JlcCBpbnRvIGdyZXAuICAqLworc3Rh dGljIHZvaWQKK2ZncmVwX3RvX2dyZXBfcGF0dGVybiAoc2l6ZV90IGxlbiwgY2hhciBjb25z dCAqa2V5cywKKyAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpuZXdfbGVuLCBjaGFy ICoqbmV3X2tleXMpCit7CisgIGNoYXIgKnAgPSAqbmV3X2tleXMgPSB4bm1hbGxvYyAobGVu ICsgMSwgMik7CisgIG1ic3RhdGVfdCBtYl9zdGF0ZSA9IHsgMCB9OworICBzaXplX3QgbjsK KworICBmb3IgKDsgbGVuOyBrZXlzICs9IG4sIGxlbiAtPSBuKQorICAgIHsKKyAgICAgIHdj aGFyX3Qgd2M7CisgICAgICBuID0gTUJSVE9XQyAoJndjLCBrZXlzLCBsZW4sICZtYl9zdGF0 ZSk7CisgICAgICBzd2l0Y2ggKG4pCisgICAgICAgIHsKKyAgICAgICAgY2FzZSAoc2l6ZV90 KSAtMjoKKyAgICAgICAgICBuID0gbGVuOworICAgICAgICAgIC8qIEZhbGwgdGhyb3VnaC4g ICovCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgcCA9IG1lbXBjcHkgKHAsIGtleXMs IG4pOworICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgKHNpemVfdCkgLTE6Cisg ICAgICAgICAgbWVtc2V0ICgmbWJfc3RhdGUsIDAsIHNpemVvZiBtYl9zdGF0ZSk7CisgICAg ICAgICAgLyogRmFsbCB0aHJvdWdoLiAgKi8KKyAgICAgICAgY2FzZSAxOgorICAgICAgICAg ICpwID0gJ1xcJzsKKyAgICAgICAgICBwICs9IHN0cmNociAoIiQqLltcXF4iLCAqa2V5cykg IT0gTlVMTDsKKyAgICAgICAgICAvKiBGYWxsIHRocm91Z2guICAqLworICAgICAgICBjYXNl IDA6CisgICAgICAgICAgKnArKyA9ICprZXlzOworICAgICAgICAgIG4gPSAxOworICAgICAg ICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICpuZXdfbGVuID0gcCAtICpuZXdf a2V5czsKK30KKwogLyogSWYgdGhlIG5ld2xpbmUtc2VwYXJhdGVkIHJlZ3VsYXIgZXhwcmVz c2lvbnMsIEtFWVMgKHdpdGggbGVuZ3RoLCBMRU4KICAgIGFuZCBubyB0cmFpbGluZyBOVUwg Ynl0ZSksIGFyZSBhbWVuYWJsZSB0byB0cmFuc2Zvcm1hdGlvbiBpbnRvCiAgICBvdGhlcndp c2UgZXF1aXZhbGVudCBjYXNlLWlnbm9yaW5nIG9uZXMsIHBlcmZvcm0gdGhlIHRyYW5zZm9y bWF0aW9uLApAQCAtMjM3OSw2ICsyNDE4LDIxIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoq YXJndikKICAgZWxzZQogICAgIHVzYWdlIChFWElUX1RST1VCTEUpOwogCisgIC8qIElmIGNh c2UtaW5zZW5zaXRpdmUgZmdyZXAgaW4gYSBtdWx0aWJ5dGUgbG9jYWxlLCBpbXByb3ZlCisg ICAgIHBlcmZvcm1hbmNlIGJ5IHVzaW5nIGdyZXAgaW5zdGVhZC4gICovCisgIGlmIChtYXRj aF9pY2FzZSAmJiBjb21waWxlID09IEZjb21waWxlICYmIE1CX0NVUl9NQVggPiAxKQorICAg IHsKKyAgICAgIHNpemVfdCBuZXdfa2V5Y2M7CisgICAgICBjaGFyICpuZXdfa2V5czsKKyAg ICAgIGZncmVwX3RvX2dyZXBfcGF0dGVybiAoa2V5Y2MsIGtleXMsICZuZXdfa2V5Y2MsICZu ZXdfa2V5cyk7CisgICAgICBmcmVlIChrZXlzKTsKKyAgICAgIGtleXMgPSBuZXdfa2V5czsK KyAgICAgIGtleWNjID0gbmV3X2tleWNjOworICAgICAgbWF0Y2hlciA9ICJncmVwIjsKKyAg ICAgIGNvbXBpbGUgPSBHY29tcGlsZTsKKyAgICAgIGV4ZWN1dGUgPSBFR2V4ZWN1dGU7Cisg ICAgfQorCiAgIC8qIENhc2UtaW5zZW5zaXRpdmUgbWF0Y2hpbmcgaXMgZXhwZW5zaXZlIGlu IG11bHRpYnl0ZSBsb2NhbGVzCiAgICAgIGJlY2F1c2UgYSBmZXcgY2hhcmFjdGVycyBtYXkg Y2hhbmdlIHNpemUgd2hlbiBjb252ZXJ0ZWQgdG8gdXBwZXIKICAgICAgb3IgbG93ZXIgY2Fz ZS4gIFRvIGFjY29tbW9kYXRlIHRob3NlLCBzZWFyY2ggdGhlIGlucHV0IG9uZSBsaW5lCg== --------------040205040906010909020100-- From unknown Fri Jun 20 18:01:50 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 21 Apr 2014 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