From unknown Sat Sep 06 09:43:52 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#17027 <17027@debbugs.gnu.org> To: bug#17027 <17027@debbugs.gnu.org> Subject: Status: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales Reply-To: bug#17027 <17027@debbugs.gnu.org> Date: Sat, 06 Sep 2025 16:43:52 +0000 retitle 17027 [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 loc= ales reassign 17027 grep submitter 17027 Norihiro Tanaka severity 17027 normal tag 17027 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 17 11:01:28 2014 Received: (at submit) by debbugs.gnu.org; 17 Mar 2014 15:01:28 +0000 Received: from localhost ([127.0.0.1]:39092 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WPZ2c-00038w-GR for submit@debbugs.gnu.org; Mon, 17 Mar 2014 11:01:27 -0400 Received: from pbsg500.nifty.com ([202.248.238.70]:20410) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WPZ2Y-00038h-HY for submit@debbugs.gnu.org; Mon, 17 Mar 2014 11:01:23 -0400 Received: from [10.120.1.51] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) (authenticated) by pbsg500.nifty.com with ESMTP id s2HF15KK022785 for ; Tue, 18 Mar 2014 00:01:06 +0900 X-Nifty-SrcIP: [118.21.128.66] Date: Tue, 18 Mar 2014 00:01:05 +0900 From: Norihiro Tanaka To: submit@debbugs.gnu.org Subject: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales Message-Id: <20140317235946.726C.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_531AAC47000000000212_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-Spam-Score: 3.9 (+++) 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 When ANYCHAR is included in a pattern in non-UTF8 locales, grep prefer to DFA engine to regex's. However, as long as I tested, even after have applied Patch#17025, regex engine is slower than DFA's for ANYCHAR in non-UTF8 locales. [...] Content analysis details: (3.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 2.7 RCVD_IN_PSBL RBL: Received via a relay in PSBL [202.248.238.70 listed in psbl.surriel.com] 1.2 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net [Blocked - see ] -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 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: 3.9 (+++) 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 When ANYCHAR is included in a pattern in non-UTF8 locales, grep prefer to DFA engine to regex's. However, as long as I tested, even after have applied Patch#17025, regex engine is slower than DFA's for ANYCHAR in non-UTF8 locales. [...] Content analysis details: (3.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 2.7 RCVD_IN_PSBL RBL: Received via a relay in PSBL [202.248.238.70 listed in psbl.surriel.com] 1.2 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net [Blocked - see ] -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 --------_531AAC47000000000212_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Package: grep Tags: patch When ANYCHAR is included in a pattern in non-UTF8 locales, grep prefer to DFA engine to regex's. However, as long as I tested, even after have applied Patch#17025, regex engine is slower than DFA's for ANYCHAR in non-UTF8 locales. This patch prefers regex to DFA for ANYCHAR in non-UTF8 locales. Create the text. $ yes abcd.abc | head -1000000 > m I tested below before applying it. $ time -p env LC_ALL=ja_JP.eucJP src/grep abcd.abd m real 1.99 user 1.75 sys 0.28 I re-tested after applying it. $ time -p env LC_ALL=ja_JP.eucJP src/grep abcd.abd m real 1.21 user 0.71 sys 0.46 Norihiro --------_531AAC47000000000212_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="patch2.txt" >From d69cf4d289034a21067a6e0a7495921df0a2aac9 Mon Sep 17 00:00:00 2001 From: Norihiro Tanaka Date: Mon, 17 Mar 2014 20:41:25 +0900 Subject: [PATCH] grep: prefer regex to DFA for ANYCHAR in multi-byte locales * src/dfa.c (dfaexec): prefer regex to for ANYCHAR in multi-byte locales. --- src/dfa.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/dfa.c b/src/dfa.c index 5e60cd5..1308c6b 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -3420,11 +3420,18 @@ dfaexec (struct dfa *d, char const *begin, char *end, equivalence classes. */ if (backref) { - *backref = 1; - free (mblen_buf); - free (inputwcs); - *end = saved_end; - return (char *) p; + int i; + for (i = 0; i < d->states[s].mbps.nelem; ++i) + if (d->tokens[d->states[s].mbps.elems[i].index] == MBCSET) + break; + if (i < d->states[s].mbps.nelem) + { + *backref = 1; + free (mblen_buf); + free (inputwcs); + *end = saved_end; + return (char *) p; + } } /* Can match with a multibyte character (and multi character -- 1.9.0 --------_531AAC47000000000212_MULTIPART_MIXED_-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 01 04:52:06 2014 Received: (at 17027) by debbugs.gnu.org; 1 Apr 2014 08:52:06 +0000 Received: from localhost ([127.0.0.1]:58730 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WUuQP-0004TV-S8 for submit@debbugs.gnu.org; Tue, 01 Apr 2014 04:52:06 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:45762) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WUuQN-0004TM-Gr for 17027@debbugs.gnu.org; Tue, 01 Apr 2014 04:52:04 -0400 Received: by mail-wi0-f171.google.com with SMTP id q5so4683348wiv.16 for <17027@debbugs.gnu.org>; Tue, 01 Apr 2014 01:52:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=5XLW8jyRbrzGar7SUCJ15j2RfAaRNIDHEoFik+ikNvQ=; b=khufTTgYmi172i7EXJEJO+HaZGBsMTfyArMJZDWTYcGB1xwMwJ1MkbP0/5b7K6NQ4t yLB2U07+tOrP3V1CB4NJisBmHnh1j4qFrDw86rJFoSgO8sPeeNG4OGdB0VIGZDSYf58n cin1JsNo2W/bRxJT+L4lWIQO1vOJ12TrSmHOThiKxDgi9E5qvIFB8FfcxwXKTFkLnIDY /Fc7LOsUSL1N65RuQGETmbV+8+SdYNNWmw1bMNCHBpqhMxgtUEDeiorFor3dxjOX0nod JcyF3meB2vKmps19S0gykRqvOlJwErNkxxG2613A5EGxJ3Lkq2EWUiO6d7cuC/Z7Vayo fG5w== X-Received: by 10.180.101.134 with SMTP id fg6mr18336453wib.6.1396342322340; Tue, 01 Apr 2014 01:52:02 -0700 (PDT) Received: from yakj.usersys.redhat.com (net-37-117-156-129.cust.vodafonedsl.it. [37.117.156.129]) by mx.google.com with ESMTPSA id 4sm39014817eeq.33.2014.04.01.01.52.00 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 01 Apr 2014 01:52:01 -0700 (PDT) Message-ID: <533A7E2F.1070504@gnu.org> Date: Tue, 01 Apr 2014 10:51:59 +0200 From: Paolo Bonzini 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 , 17027@debbugs.gnu.org Subject: Re: bug#17027: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales References: <20140317235946.726C.27F6AC2D@kcn.ne.jp> In-Reply-To: <20140317235946.726C.27F6AC2D@kcn.ne.jp> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17027 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 (/) Il 17/03/2014 16:01, Norihiro Tanaka ha scritto: > Package: grep > Tags: patch > > When ANYCHAR is included in a pattern in non-UTF8 locales, grep prefer > to DFA engine to regex's. However, as long as I tested, even after have > applied Patch#17025, regex engine is slower than DFA's for ANYCHAR in > non-UTF8 locales. > > This patch prefers regex to DFA for ANYCHAR in non-UTF8 locales. > > Create the text. > > $ yes abcd.abc | head -1000000 > m > > I tested below before applying it. > > $ time -p env LC_ALL=ja_JP.eucJP src/grep abcd.abd m > real 1.99 > user 1.75 > sys 0.28 > > I re-tested after applying it. > > $ time -p env LC_ALL=ja_JP.eucJP src/grep abcd.abd m > real 1.21 > user 0.71 > sys 0.46 > > Norihiro > Hi Norihiro, what about something like this instead (untested)? Paolo diff --git a/src/dfa.c b/src/dfa.c index c06c922..f756194 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -299,6 +299,7 @@ typedef struct position_set elems; /* Positions this state could match. */ unsigned char context; /* Context from previous state. */ char backref; /* True if this state matches a \. */ + bool has_mbcset; /* True if this state matches a MBCSET. */ unsigned short constraint; /* Constraint for this state to accept. */ token first_end; /* Token value of the first END in elems. */ position_set mbps; /* Positions which can match multibyte @@ -2645,6 +2646,7 @@ dfastate (state_num s, struct dfa *d, state_num trans[]) if (d->states[s].mbps.nelem == 0) alloc_position_set (&d->states[s].mbps, 1); insert (pos, &(d->states[s].mbps)); + d->states[s].has_mbcset |= (d->tokens[pos.index] == MBCSET); continue; } else @@ -3450,7 +3452,7 @@ dfaexec (struct dfa *d, char const *begin, char *end, better performance (up to 25% better on [a-z], for example) and enables support for collating symbols and equivalence classes. */ - if (backref) + if (d->states[s].has_mbcset && backref) { *backref = 1; free (mblen_buf); From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 01 10:51:47 2014 Received: (at 17027) by debbugs.gnu.org; 1 Apr 2014 14:51:48 +0000 Received: from localhost ([127.0.0.1]:59471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WV02V-0007mO-61 for submit@debbugs.gnu.org; Tue, 01 Apr 2014 10:51:47 -0400 Received: from pbsg500.nifty.com ([202.248.238.70]:46884) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WV02R-0007mE-1B for 17027@debbugs.gnu.org; Tue, 01 Apr 2014 10:51:45 -0400 Received: from [10.120.1.62] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) (authenticated) by pbsg500.nifty.com with ESMTP id s31EpQYm018957; Tue, 1 Apr 2014 23:51:27 +0900 X-Nifty-SrcIP: [118.21.128.66] Date: Tue, 01 Apr 2014 23:51:29 +0900 From: Norihiro Tanaka To: Paolo Bonzini Subject: bug#17027: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales In-Reply-To: <533A7E2F.1070504@gnu.org> References: <20140317235946.726C.27F6AC2D@kcn.ne.jp> <533A7E2F.1070504@gnu.org> Message-Id: <20140401235128.78C7.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_533AD1EA0000000078DA_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 17027 Cc: 17027@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 (/) --------_533AD1EA0000000078DA_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Hi Paolo, I applied same type and naming to member `backref' of dfastate. And I checked to pass regression tests. Thanks, Norihiro --------_533AD1EA0000000078DA_MULTIPART_MIXED_ Content-Type: text/plain; charset="UTF-8" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 RnJvbSA3Y2JmNzVmZDJlODE1NmYyMGUzNGQxZDE2M2ZlMjhkNmZjMTMwNmYxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb3JpaGlybyBUYW5ha2EgPG5vcml0bmtAa2NuLm5lLmpwPgpE YXRlOiBUdWUsIDEgQXByIDIwMTQgMjM6NDg6MTYgKzA5MDAKU3ViamVjdDogW1BBVENIXSBncmVw OiBwcmVmZXIgcmVnZXggdG8gREZBIGZvciBBTllDSEFSIGluIG11bHRpLWJ5dGUgbG9jYWxlcwoK KiBzcmMvZGZhLmMgKGRmYWV4ZWMpOiBwcmVmZXIgcmVnZXggdG8gZm9yIEFOWUNIQVIgaW4gbXVs dGktYnl0ZSBsb2NhbGVzLgotLS0KIHNyYy9kZmEuYyB8IDEyICsrKysrKystLS0tLQogMSBmaWxl IGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvZGZhLmMgYi9zcmMvZGZhLmMKaW5kZXggYjIyZmU5Ny4uYTNiYzI1MCAxMDA2NDQKLS0tIGEv c3JjL2RmYS5jCisrKyBiL3NyYy9kZmEuYwpAQCAtMzAyLDcgKzMwMiw4IEBAIHR5cGVkZWYgc3Ry dWN0CiAgIHNpemVfdCBoYXNoOyAgICAgICAgICAgICAgICAgIC8qIEhhc2ggb2YgdGhlIHBvc2l0 aW9ucyBvZiB0aGlzIHN0YXRlLiAgKi8KICAgcG9zaXRpb25fc2V0IGVsZW1zOyAgICAgICAgICAg LyogUG9zaXRpb25zIHRoaXMgc3RhdGUgY291bGQgbWF0Y2guICAqLwogICB1bnNpZ25lZCBjaGFy IGNvbnRleHQ7ICAgICAgICAvKiBDb250ZXh0IGZyb20gcHJldmlvdXMgc3RhdGUuICAqLwotICBj aGFyIGJhY2tyZWY7ICAgICAgICAgICAgICAgICAvKiBUcnVlIGlmIHRoaXMgc3RhdGUgbWF0Y2hl cyBhIFw8ZGlnaXQ+LiAgKi8KKyAgY2hhciBoYXNfYmFja3JlZjsgICAgICAgICAgICAgLyogVHJ1 ZSBpZiB0aGlzIHN0YXRlIG1hdGNoZXMgYSBcPGRpZ2l0Pi4gICovCisgIGJvb2wgaGFzX21iY3Nl dDsgICAgICAgICAgICAgIC8qIFRydWUgaWYgdGhpcyBzdGF0ZSBtYXRjaGVzIGEgTUJDU0VULiAg Ki8KICAgdW5zaWduZWQgc2hvcnQgY29uc3RyYWludDsgICAgLyogQ29uc3RyYWludCBmb3IgdGhp cyBzdGF0ZSB0byBhY2NlcHQuICAqLwogICB0b2tlbiBmaXJzdF9lbmQ7ICAgICAgICAgICAgICAv KiBUb2tlbiB2YWx1ZSBvZiB0aGUgZmlyc3QgRU5EIGluIGVsZW1zLiAgKi8KICAgcG9zaXRpb25f c2V0IG1icHM7ICAgICAgICAgICAgLyogUG9zaXRpb25zIHdoaWNoIGNhbiBtYXRjaCBtdWx0aWJ5 dGUKQEAgLTIxNjEsNyArMjE2Miw3IEBAIHN0YXRlX2luZGV4IChzdHJ1Y3QgZGZhICpkLCBwb3Np dGlvbl9zZXQgY29uc3QgKnMsIGludCBjb250ZXh0KQogICBhbGxvY19wb3NpdGlvbl9zZXQgKCZk LT5zdGF0ZXNbaV0uZWxlbXMsIHMtPm5lbGVtKTsKICAgY29weSAocywgJmQtPnN0YXRlc1tpXS5l bGVtcyk7CiAgIGQtPnN0YXRlc1tpXS5jb250ZXh0ID0gY29udGV4dDsKLSAgZC0+c3RhdGVzW2ld LmJhY2tyZWYgPSAwOworICBkLT5zdGF0ZXNbaV0uaGFzX2JhY2tyZWYgPSBmYWxzZTsKICAgZC0+ c3RhdGVzW2ldLmNvbnN0cmFpbnQgPSAwOwogICBkLT5zdGF0ZXNbaV0uZmlyc3RfZW5kID0gMDsK ICAgaWYgKE1CU19TVVBQT1JUKQpAQCAtMjE4MSw3ICsyMTgyLDcgQEAgc3RhdGVfaW5kZXggKHN0 cnVjdCBkZmEgKmQsIHBvc2l0aW9uX3NldCBjb25zdCAqcywgaW50IGNvbnRleHQpCiAgICAgZWxz ZSBpZiAoZC0+dG9rZW5zW3MtPmVsZW1zW2pdLmluZGV4XSA9PSBCQUNLUkVGKQogICAgICAgewog ICAgICAgICBkLT5zdGF0ZXNbaV0uY29uc3RyYWludCA9IE5PX0NPTlNUUkFJTlQ7Ci0gICAgICAg IGQtPnN0YXRlc1tpXS5iYWNrcmVmID0gMTsKKyAgICAgICAgZC0+c3RhdGVzW2ldLmhhc19iYWNr cmVmID0gdHJ1ZTsKICAgICAgIH0KIAogICArK2QtPnNpbmRleDsKQEAgLTI2NDksNiArMjY1MCw3 IEBAIGRmYXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAqZCwgc3RhdGVfbnVtIHRyYW5z W10pCiAgICAgICAgICAgaWYgKGQtPnN0YXRlc1tzXS5tYnBzLm5lbGVtID09IDApCiAgICAgICAg ICAgICBhbGxvY19wb3NpdGlvbl9zZXQgKCZkLT5zdGF0ZXNbc10ubWJwcywgMSk7CiAgICAgICAg ICAgaW5zZXJ0IChwb3MsICYoZC0+c3RhdGVzW3NdLm1icHMpKTsKKyAgICAgICAgICBkLT5zdGF0 ZXNbc10uaGFzX21iY3NldCB8PSAoZC0+dG9rZW5zW3Bvcy5pbmRleF0gPT0gTUJDU0VUKTsKICAg ICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgZWxzZQpAQCAtMzQ1NCw3ICszNDU2 LDcgQEAgZGZhZXhlYyAoc3RydWN0IGRmYSAqZCwgY2hhciBjb25zdCAqYmVnaW4sIGNoYXIgKmVu ZCwKICAgICAgICAgICAgICAgICAgYmV0dGVyIHBlcmZvcm1hbmNlICh1cCB0byAyNSUgYmV0dGVy IG9uIFthLXpdLCBmb3IKICAgICAgICAgICAgICAgICAgZXhhbXBsZSkgYW5kIGVuYWJsZXMgc3Vw cG9ydCBmb3IgY29sbGF0aW5nIHN5bWJvbHMgYW5kCiAgICAgICAgICAgICAgICAgIGVxdWl2YWxl bmNlIGNsYXNzZXMuICAqLwotICAgICAgICAgICAgICBpZiAoYmFja3JlZikKKyAgICAgICAgICAg ICAgaWYgKGQtPnN0YXRlc1tzXS5oYXNfbWJjc2V0ICYmIGJhY2tyZWYpCiAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgKmJhY2tyZWYgPSAxOwogICAgICAgICAgICAgICAgICAg ZnJlZSAobWJsZW5fYnVmKTsKQEAgLTM0OTAsNyArMzQ5Miw3IEBAIGRmYWV4ZWMgKHN0cnVjdCBk ZmEgKmQsIGNoYXIgY29uc3QgKmJlZ2luLCBjaGFyICplbmQsCiAgICAgICAgICAgaWYgKGQtPnN1 Y2Nlc3Nbc10gJiBzYml0WypwXSkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgaWYgKGJh Y2tyZWYpCi0gICAgICAgICAgICAgICAgKmJhY2tyZWYgPSAoZC0+c3RhdGVzW3NdLmJhY2tyZWYg IT0gMCk7CisgICAgICAgICAgICAgICAgKmJhY2tyZWYgPSBkLT5zdGF0ZXNbc10uaGFzX2JhY2ty ZWY7CiAgICAgICAgICAgICAgIGlmIChkLT5tYl9jdXJfbWF4ID4gMSkKICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICBmcmVlIChtYmxlbl9idWYpOwotLSAKMS45LjEKCg== --------_533AD1EA0000000078DA_MULTIPART_MIXED_-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 02 19:27:44 2014 Received: (at 17027) by debbugs.gnu.org; 2 Apr 2014 23:27:44 +0000 Received: from localhost ([127.0.0.1]:33460 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WVUZL-00036V-Oz for submit@debbugs.gnu.org; Wed, 02 Apr 2014 19:27:44 -0400 Received: from pbsg501.nifty.com ([202.248.238.71]:18594) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WVUZG-00036C-C0 for 17027@debbugs.gnu.org; Wed, 02 Apr 2014 19:27:41 -0400 Received: from [10.120.1.7] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) (authenticated) by pbsg501.nifty.com with ESMTP id s32NRHab019453 for <17027@debbugs.gnu.org>; Thu, 3 Apr 2014 08:27:17 +0900 X-Nifty-SrcIP: [118.21.128.66] Date: Thu, 03 Apr 2014 08:27:17 +0900 From: Norihiro Tanaka To: 17027@debbugs.gnu.org Subject: bug#17027: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales In-Reply-To: <20140401235128.78C7.27F6AC2D@kcn.ne.jp> References: <533A7E2F.1070504@gnu.org> <20140401235128.78C7.27F6AC2D@kcn.ne.jp> Message-Id: <20140403082717.6629.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_533C9C4B00000000662B_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 17027 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 (/) --------_533C9C4B00000000662B_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit I changed the type of `has_backref' into `bool'. Norihiro --------_533C9C4B00000000662B_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 RnJvbSAxMWJmNDMxOGMzNjBjMjlhMzAwMGFmZWU4ZWU5ZjQxZWM0MzExMzBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb3JpaGlybyBUYW5ha2EgPG5vcml0bmtAa2NuLm5lLmpwPgpE YXRlOiBUdWUsIDEgQXByIDIwMTQgMjM6NDg6MTYgKzA5MDAKU3ViamVjdDogW1BBVENIXSBncmVw OiBwcmVmZXIgcmVnZXggdG8gREZBIGZvciBBTllDSEFSIGluIG11bHRpLWJ5dGUgbG9jYWxlcwoK KiBzcmMvZGZhLmMgKGRmYWV4ZWMpOiBwcmVmZXIgcmVnZXggdG8gZm9yIEFOWUNIQVIgaW4gbXVs dGktYnl0ZSBsb2NhbGVzLgotLS0KIHNyYy9kZmEuYyB8IDEyICsrKysrKystLS0tLQogMSBmaWxl IGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvZGZhLmMgYi9zcmMvZGZhLmMKaW5kZXggYjZmYmQ1OC4uODA3MjViYSAxMDA2NDQKLS0tIGEv c3JjL2RmYS5jCisrKyBiL3NyYy9kZmEuYwpAQCAtMzAyLDcgKzMwMiw4IEBAIHR5cGVkZWYgc3Ry dWN0CiAgIHNpemVfdCBoYXNoOyAgICAgICAgICAgICAgICAgIC8qIEhhc2ggb2YgdGhlIHBvc2l0 aW9ucyBvZiB0aGlzIHN0YXRlLiAgKi8KICAgcG9zaXRpb25fc2V0IGVsZW1zOyAgICAgICAgICAg LyogUG9zaXRpb25zIHRoaXMgc3RhdGUgY291bGQgbWF0Y2guICAqLwogICB1bnNpZ25lZCBjaGFy IGNvbnRleHQ7ICAgICAgICAvKiBDb250ZXh0IGZyb20gcHJldmlvdXMgc3RhdGUuICAqLwotICBj aGFyIGJhY2tyZWY7ICAgICAgICAgICAgICAgICAvKiBUcnVlIGlmIHRoaXMgc3RhdGUgbWF0Y2hl cyBhIFw8ZGlnaXQ+LiAgKi8KKyAgYm9vbCBoYXNfYmFja3JlZjsgICAgICAgICAgICAgLyogVHJ1 ZSBpZiB0aGlzIHN0YXRlIG1hdGNoZXMgYSBcPGRpZ2l0Pi4gICovCisgIGJvb2wgaGFzX21iY3Nl dDsgICAgICAgICAgICAgIC8qIFRydWUgaWYgdGhpcyBzdGF0ZSBtYXRjaGVzIGEgTUJDU0VULiAg Ki8KICAgdW5zaWduZWQgc2hvcnQgY29uc3RyYWludDsgICAgLyogQ29uc3RyYWludCBmb3IgdGhp cyBzdGF0ZSB0byBhY2NlcHQuICAqLwogICB0b2tlbiBmaXJzdF9lbmQ7ICAgICAgICAgICAgICAv KiBUb2tlbiB2YWx1ZSBvZiB0aGUgZmlyc3QgRU5EIGluIGVsZW1zLiAgKi8KICAgcG9zaXRpb25f c2V0IG1icHM7ICAgICAgICAgICAgLyogUG9zaXRpb25zIHdoaWNoIGNhbiBtYXRjaCBtdWx0aWJ5 dGUKQEAgLTIxNjEsNyArMjE2Miw3IEBAIHN0YXRlX2luZGV4IChzdHJ1Y3QgZGZhICpkLCBwb3Np dGlvbl9zZXQgY29uc3QgKnMsIGludCBjb250ZXh0KQogICBhbGxvY19wb3NpdGlvbl9zZXQgKCZk LT5zdGF0ZXNbaV0uZWxlbXMsIHMtPm5lbGVtKTsKICAgY29weSAocywgJmQtPnN0YXRlc1tpXS5l bGVtcyk7CiAgIGQtPnN0YXRlc1tpXS5jb250ZXh0ID0gY29udGV4dDsKLSAgZC0+c3RhdGVzW2ld LmJhY2tyZWYgPSAwOworICBkLT5zdGF0ZXNbaV0uaGFzX2JhY2tyZWYgPSBmYWxzZTsKICAgZC0+ c3RhdGVzW2ldLmNvbnN0cmFpbnQgPSAwOwogICBkLT5zdGF0ZXNbaV0uZmlyc3RfZW5kID0gMDsK ICAgaWYgKE1CU19TVVBQT1JUKQpAQCAtMjE4MSw3ICsyMTgyLDcgQEAgc3RhdGVfaW5kZXggKHN0 cnVjdCBkZmEgKmQsIHBvc2l0aW9uX3NldCBjb25zdCAqcywgaW50IGNvbnRleHQpCiAgICAgZWxz ZSBpZiAoZC0+dG9rZW5zW3MtPmVsZW1zW2pdLmluZGV4XSA9PSBCQUNLUkVGKQogICAgICAgewog ICAgICAgICBkLT5zdGF0ZXNbaV0uY29uc3RyYWludCA9IE5PX0NPTlNUUkFJTlQ7Ci0gICAgICAg IGQtPnN0YXRlc1tpXS5iYWNrcmVmID0gMTsKKyAgICAgICAgZC0+c3RhdGVzW2ldLmhhc19iYWNr cmVmID0gdHJ1ZTsKICAgICAgIH0KIAogICArK2QtPnNpbmRleDsKQEAgLTI2NDksNiArMjY1MCw3 IEBAIGRmYXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAqZCwgc3RhdGVfbnVtIHRyYW5z W10pCiAgICAgICAgICAgaWYgKGQtPnN0YXRlc1tzXS5tYnBzLm5lbGVtID09IDApCiAgICAgICAg ICAgICBhbGxvY19wb3NpdGlvbl9zZXQgKCZkLT5zdGF0ZXNbc10ubWJwcywgMSk7CiAgICAgICAg ICAgaW5zZXJ0IChwb3MsICYoZC0+c3RhdGVzW3NdLm1icHMpKTsKKyAgICAgICAgICBkLT5zdGF0 ZXNbc10uaGFzX21iY3NldCB8PSAoZC0+dG9rZW5zW3Bvcy5pbmRleF0gPT0gTUJDU0VUKTsKICAg ICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgZWxzZQpAQCAtMzQ1NCw3ICszNDU2 LDcgQEAgZGZhZXhlYyAoc3RydWN0IGRmYSAqZCwgY2hhciBjb25zdCAqYmVnaW4sIGNoYXIgKmVu ZCwKICAgICAgICAgICAgICAgICAgYmV0dGVyIHBlcmZvcm1hbmNlICh1cCB0byAyNSUgYmV0dGVy IG9uIFthLXpdLCBmb3IKICAgICAgICAgICAgICAgICAgZXhhbXBsZSkgYW5kIGVuYWJsZXMgc3Vw cG9ydCBmb3IgY29sbGF0aW5nIHN5bWJvbHMgYW5kCiAgICAgICAgICAgICAgICAgIGVxdWl2YWxl bmNlIGNsYXNzZXMuICAqLwotICAgICAgICAgICAgICBpZiAoYmFja3JlZikKKyAgICAgICAgICAg ICAgaWYgKGQtPnN0YXRlc1tzXS5oYXNfbWJjc2V0ICYmIGJhY2tyZWYpCiAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgKmJhY2tyZWYgPSAxOwogICAgICAgICAgICAgICAgICAg ZnJlZSAobWJsZW5fYnVmKTsKQEAgLTM0OTAsNyArMzQ5Miw3IEBAIGRmYWV4ZWMgKHN0cnVjdCBk ZmEgKmQsIGNoYXIgY29uc3QgKmJlZ2luLCBjaGFyICplbmQsCiAgICAgICAgICAgaWYgKGQtPnN1 Y2Nlc3Nbc10gJiBzYml0WypwXSkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgaWYgKGJh Y2tyZWYpCi0gICAgICAgICAgICAgICAgKmJhY2tyZWYgPSAoZC0+c3RhdGVzW3NdLmJhY2tyZWYg IT0gMCk7CisgICAgICAgICAgICAgICAgKmJhY2tyZWYgPSBkLT5zdGF0ZXNbc10uaGFzX2JhY2ty ZWY7CiAgICAgICAgICAgICAgIGlmIChkLT5tYl9jdXJfbWF4ID4gMSkKICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICBmcmVlIChtYmxlbl9idWYpOwotLSAKMS45LjEKCg== --------_533C9C4B00000000662B_MULTIPART_MIXED_-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 03 11:19:36 2014 Received: (at 17027) by debbugs.gnu.org; 3 Apr 2014 15:19:36 +0000 Received: from localhost ([127.0.0.1]:34602 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WVjQV-0003vj-Mu for submit@debbugs.gnu.org; Thu, 03 Apr 2014 11:19:36 -0400 Received: from pbsg501.nifty.com ([202.248.238.71]:33913) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WVjQQ-0003vW-HJ for 17027@debbugs.gnu.org; Thu, 03 Apr 2014 11:19:33 -0400 Received: from [10.120.1.58] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) (authenticated) by pbsg501.nifty.com with ESMTP id s33FJ143010480 for <17027@debbugs.gnu.org>; Fri, 4 Apr 2014 00:19:02 +0900 X-Nifty-SrcIP: [118.21.128.66] Date: Fri, 04 Apr 2014 00:19:02 +0900 From: Norihiro Tanaka To: 17027@debbugs.gnu.org Subject: bug#17027: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales In-Reply-To: <20140403082717.6629.27F6AC2D@kcn.ne.jp> References: <20140401235128.78C7.27F6AC2D@kcn.ne.jp> <20140403082717.6629.27F6AC2D@kcn.ne.jp> Message-Id: <20140404001846.8254.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_533D7B7A000000008249_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 17027 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 (/) --------_533D7B7A000000008249_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit We need to intialize the new member. I add it to the patch. --------_533D7B7A000000008249_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 RnJvbSAxMWJmNDMxOGMzNjBjMjlhMzAwMGFmZWU4ZWU5ZjQxZWM0MzExMzBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb3JpaGlybyBUYW5ha2EgPG5vcml0bmtAa2NuLm5lLmpwPgpE YXRlOiBUdWUsIDEgQXByIDIwMTQgMjM6NDg6MTYgKzA5MDAKU3ViamVjdDogW1BBVENIXSBncmVw OiBwcmVmZXIgcmVnZXggdG8gREZBIGZvciBBTllDSEFSIGluIG11bHRpLWJ5dGUgbG9jYWxlcwoK KiBzcmMvZGZhLmMgKGRmYWV4ZWMpOiBwcmVmZXIgcmVnZXggdG8gZm9yIEFOWUNIQVIgaW4gbXVs dGktYnl0ZSBsb2NhbGVzLgotLS0KIHNyYy9kZmEuYyB8IDEyICsrKysrKystLS0tLQogMSBmaWxl IGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvZGZhLmMgYi9zcmMvZGZhLmMKaW5kZXggYjZmYmQ1OC4uODA3MjViYSAxMDA2NDQKLS0tIGEv c3JjL2RmYS5jCisrKyBiL3NyYy9kZmEuYwpAQCAtMzAyLDcgKzMwMiw4IEBAIHR5cGVkZWYgc3Ry dWN0CiAgIHNpemVfdCBoYXNoOyAgICAgICAgICAgICAgICAgIC8qIEhhc2ggb2YgdGhlIHBvc2l0 aW9ucyBvZiB0aGlzIHN0YXRlLiAgKi8KICAgcG9zaXRpb25fc2V0IGVsZW1zOyAgICAgICAgICAg LyogUG9zaXRpb25zIHRoaXMgc3RhdGUgY291bGQgbWF0Y2guICAqLwogICB1bnNpZ25lZCBjaGFy IGNvbnRleHQ7ICAgICAgICAvKiBDb250ZXh0IGZyb20gcHJldmlvdXMgc3RhdGUuICAqLwotICBj aGFyIGJhY2tyZWY7ICAgICAgICAgICAgICAgICAvKiBUcnVlIGlmIHRoaXMgc3RhdGUgbWF0Y2hl cyBhIFw8ZGlnaXQ+LiAgKi8KKyAgYm9vbCBoYXNfYmFja3JlZjsgICAgICAgICAgICAgLyogVHJ1 ZSBpZiB0aGlzIHN0YXRlIG1hdGNoZXMgYSBcPGRpZ2l0Pi4gICovCisgIGJvb2wgaGFzX21iY3Nl dDsgICAgICAgICAgICAgIC8qIFRydWUgaWYgdGhpcyBzdGF0ZSBtYXRjaGVzIGEgTUJDU0VULiAg Ki8KICAgdW5zaWduZWQgc2hvcnQgY29uc3RyYWludDsgICAgLyogQ29uc3RyYWludCBmb3IgdGhp cyBzdGF0ZSB0byBhY2NlcHQuICAqLwogICB0b2tlbiBmaXJzdF9lbmQ7ICAgICAgICAgICAgICAv KiBUb2tlbiB2YWx1ZSBvZiB0aGUgZmlyc3QgRU5EIGluIGVsZW1zLiAgKi8KICAgcG9zaXRpb25f c2V0IG1icHM7ICAgICAgICAgICAgLyogUG9zaXRpb25zIHdoaWNoIGNhbiBtYXRjaCBtdWx0aWJ5 dGUKQEAgLTIxNjEsNyArMjE2Miw3IEBAIHN0YXRlX2luZGV4IChzdHJ1Y3QgZGZhICpkLCBwb3Np dGlvbl9zZXQgY29uc3QgKnMsIGludCBjb250ZXh0KQogICBhbGxvY19wb3NpdGlvbl9zZXQgKCZk LT5zdGF0ZXNbaV0uZWxlbXMsIHMtPm5lbGVtKTsKICAgY29weSAocywgJmQtPnN0YXRlc1tpXS5l bGVtcyk7CiAgIGQtPnN0YXRlc1tpXS5jb250ZXh0ID0gY29udGV4dDsKLSAgZC0+c3RhdGVzW2ld LmJhY2tyZWYgPSAwOworICBkLT5zdGF0ZXNbaV0uaGFzX2JhY2tyZWYgPSBmYWxzZTsKICAgZC0+ c3RhdGVzW2ldLmNvbnN0cmFpbnQgPSAwOwogICBkLT5zdGF0ZXNbaV0uZmlyc3RfZW5kID0gMDsK ICAgaWYgKE1CU19TVVBQT1JUKQpAQCAtMjE4MSw3ICsyMTgyLDcgQEAgc3RhdGVfaW5kZXggKHN0 cnVjdCBkZmEgKmQsIHBvc2l0aW9uX3NldCBjb25zdCAqcywgaW50IGNvbnRleHQpCiAgICAgZWxz ZSBpZiAoZC0+dG9rZW5zW3MtPmVsZW1zW2pdLmluZGV4XSA9PSBCQUNLUkVGKQogICAgICAgewog ICAgICAgICBkLT5zdGF0ZXNbaV0uY29uc3RyYWludCA9IE5PX0NPTlNUUkFJTlQ7Ci0gICAgICAg IGQtPnN0YXRlc1tpXS5iYWNrcmVmID0gMTsKKyAgICAgICAgZC0+c3RhdGVzW2ldLmhhc19iYWNr cmVmID0gdHJ1ZTsKICAgICAgIH0KIAogICArK2QtPnNpbmRleDsKQEAgLTI2NDksNiArMjY1MCw3 IEBAIGRmYXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAqZCwgc3RhdGVfbnVtIHRyYW5z W10pCiAgICAgICAgICAgaWYgKGQtPnN0YXRlc1tzXS5tYnBzLm5lbGVtID09IDApCiAgICAgICAg ICAgICBhbGxvY19wb3NpdGlvbl9zZXQgKCZkLT5zdGF0ZXNbc10ubWJwcywgMSk7CiAgICAgICAg ICAgaW5zZXJ0IChwb3MsICYoZC0+c3RhdGVzW3NdLm1icHMpKTsKKyAgICAgICAgICBkLT5zdGF0 ZXNbc10uaGFzX21iY3NldCB8PSAoZC0+dG9rZW5zW3Bvcy5pbmRleF0gPT0gTUJDU0VUKTsKICAg ICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgZWxzZQpAQCAtMzQ1NCw3ICszNDU2 LDcgQEAgZGZhZXhlYyAoc3RydWN0IGRmYSAqZCwgY2hhciBjb25zdCAqYmVnaW4sIGNoYXIgKmVu ZCwKICAgICAgICAgICAgICAgICAgYmV0dGVyIHBlcmZvcm1hbmNlICh1cCB0byAyNSUgYmV0dGVy IG9uIFthLXpdLCBmb3IKICAgICAgICAgICAgICAgICAgZXhhbXBsZSkgYW5kIGVuYWJsZXMgc3Vw cG9ydCBmb3IgY29sbGF0aW5nIHN5bWJvbHMgYW5kCiAgICAgICAgICAgICAgICAgIGVxdWl2YWxl bmNlIGNsYXNzZXMuICAqLwotICAgICAgICAgICAgICBpZiAoYmFja3JlZikKKyAgICAgICAgICAg ICAgaWYgKGQtPnN0YXRlc1tzXS5oYXNfbWJjc2V0ICYmIGJhY2tyZWYpCiAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgKmJhY2tyZWYgPSAxOwogICAgICAgICAgICAgICAgICAg ZnJlZSAobWJsZW5fYnVmKTsKQEAgLTM0OTAsNyArMzQ5Miw3IEBAIGRmYWV4ZWMgKHN0cnVjdCBk ZmEgKmQsIGNoYXIgY29uc3QgKmJlZ2luLCBjaGFyICplbmQsCiAgICAgICAgICAgaWYgKGQtPnN1 Y2Nlc3Nbc10gJiBzYml0WypwXSkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgaWYgKGJh Y2tyZWYpCi0gICAgICAgICAgICAgICAgKmJhY2tyZWYgPSAoZC0+c3RhdGVzW3NdLmJhY2tyZWYg IT0gMCk7CisgICAgICAgICAgICAgICAgKmJhY2tyZWYgPSBkLT5zdGF0ZXNbc10uaGFzX2JhY2ty ZWY7CiAgICAgICAgICAgICAgIGlmIChkLT5tYl9jdXJfbWF4ID4gMSkKICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICBmcmVlIChtYmxlbl9idWYpOwotLSAKMS45LjEKCg== --------_533D7B7A000000008249_MULTIPART_MIXED_-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 07 08:08:09 2014 Received: (at 17027) by debbugs.gnu.org; 7 Apr 2014 12:08:10 +0000 Received: from localhost ([127.0.0.1]:38843 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WX8LR-0006zy-0A for submit@debbugs.gnu.org; Mon, 07 Apr 2014 08:08:09 -0400 Received: from pbsg500.nifty.com ([202.248.238.70]:37329) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WX8LM-0006zj-Ps for 17027@debbugs.gnu.org; Mon, 07 Apr 2014 08:08:07 -0400 Received: from [10.120.1.44] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) (authenticated) by pbsg500.nifty.com with ESMTP id s37C7v0Z010423; Mon, 7 Apr 2014 21:07:57 +0900 X-Nifty-SrcIP: [118.21.128.66] Date: Mon, 07 Apr 2014 21:07:58 +0900 From: Norihiro Tanaka To: Norihiro Tanaka Subject: Re: bug#17027: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales In-Reply-To: <20140404001846.8254.27F6AC2D@kcn.ne.jp> References: <20140403082717.6629.27F6AC2D@kcn.ne.jp> <20140404001846.8254.27F6AC2D@kcn.ne.jp> Message-Id: <20140407210755.F0B1.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_5342947400000000F0A5_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-Spam-Score: 2.4 (++) 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: Norihiro Tanaka wrote: > We need to intialize the new member. > I add it to the patch. I haven't added it yet. I have done now. From 1ce1ca31da98690f5b5ea5c23df3ae4ce2edfe73 Mon Sep 17 00:00:00 2001 From: Norihiro Tanaka Date: Tue, 1 Apr 2014 23:48:16 +0900 Subject: [PATCH] grep: prefer regex to DFA for ANYCHAR in multi-byte locales [...] Content analysis details: (2.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 2.7 RCVD_IN_PSBL RBL: Received via a relay in PSBL [202.248.238.70 listed in psbl.surriel.com] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.3 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain X-Debbugs-Envelope-To: 17027 Cc: 17027@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: 2.4 (++) 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: Norihiro Tanaka wrote: > We need to intialize the new member. > I add it to the patch. I haven't added it yet. I have done now. From 1ce1ca31da98690f5b5ea5c23df3ae4ce2edfe73 Mon Sep 17 00:00:00 2001 From: Norihiro Tanaka Date: Tue, 1 Apr 2014 23:48:16 +0900 Subject: [PATCH] grep: prefer regex to DFA for ANYCHAR in multi-byte locales [...] Content analysis details: (2.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 2.7 RCVD_IN_PSBL RBL: Received via a relay in PSBL [202.248.238.70 listed in psbl.surriel.com] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.3 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain --------_5342947400000000F0A5_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Norihiro Tanaka wrote: > We need to intialize the new member. > I add it to the patch. I haven't added it yet. I have done now. --------_5342947400000000F0A5_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 RnJvbSAxY2UxY2EzMWRhOTg2OTBmNWI1ZWE1YzIzZGYzYWU0Y2UyZWRmZTczIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb3JpaGlybyBUYW5ha2EgPG5vcml0bmtAa2NuLm5lLmpwPgpE YXRlOiBUdWUsIDEgQXByIDIwMTQgMjM6NDg6MTYgKzA5MDAKU3ViamVjdDogW1BBVENIXSBncmVw OiBwcmVmZXIgcmVnZXggdG8gREZBIGZvciBBTllDSEFSIGluIG11bHRpLWJ5dGUgbG9jYWxlcwoK KiBzcmMvZGZhLmMgKGRmYWV4ZWMpOiBwcmVmZXIgcmVnZXggdG8gZm9yIEFOWUNIQVIgaW4gbXVs dGktYnl0ZSBsb2NhbGVzLgotLS0KIHNyYy9kZmEuYyB8IDEzICsrKysrKysrLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2RmYS5jIGIvc3JjL2RmYS5jCmluZGV4IGI2YzEyNTAuLmU0MjRhNzggMTAwNjQ0Ci0tLSBh L3NyYy9kZmEuYworKysgYi9zcmMvZGZhLmMKQEAgLTI4OCw3ICsyODgsOCBAQCB0eXBlZGVmIHN0 cnVjdAogICBzaXplX3QgaGFzaDsgICAgICAgICAgICAgICAgICAvKiBIYXNoIG9mIHRoZSBwb3Np dGlvbnMgb2YgdGhpcyBzdGF0ZS4gICovCiAgIHBvc2l0aW9uX3NldCBlbGVtczsgICAgICAgICAg IC8qIFBvc2l0aW9ucyB0aGlzIHN0YXRlIGNvdWxkIG1hdGNoLiAgKi8KICAgdW5zaWduZWQgY2hh ciBjb250ZXh0OyAgICAgICAgLyogQ29udGV4dCBmcm9tIHByZXZpb3VzIHN0YXRlLiAgKi8KLSAg Y2hhciBiYWNrcmVmOyAgICAgICAgICAgICAgICAgLyogVHJ1ZSBpZiB0aGlzIHN0YXRlIG1hdGNo ZXMgYSBcPGRpZ2l0Pi4gICovCisgIGJvb2wgaGFzX2JhY2tyZWY7ICAgICAgICAgICAgIC8qIFRy dWUgaWYgdGhpcyBzdGF0ZSBtYXRjaGVzIGEgXDxkaWdpdD4uICAqLworICBib29sIGhhc19tYmNz ZXQ7ICAgICAgICAgICAgICAvKiBUcnVlIGlmIHRoaXMgc3RhdGUgbWF0Y2hlcyBhIE1CQ1NFVC4g ICovCiAgIHVuc2lnbmVkIHNob3J0IGNvbnN0cmFpbnQ7ICAgIC8qIENvbnN0cmFpbnQgZm9yIHRo aXMgc3RhdGUgdG8gYWNjZXB0LiAgKi8KICAgdG9rZW4gZmlyc3RfZW5kOyAgICAgICAgICAgICAg LyogVG9rZW4gdmFsdWUgb2YgdGhlIGZpcnN0IEVORCBpbiBlbGVtcy4gICovCiAgIHBvc2l0aW9u X3NldCBtYnBzOyAgICAgICAgICAgIC8qIFBvc2l0aW9ucyB3aGljaCBjYW4gbWF0Y2ggbXVsdGli eXRlCkBAIC0yMTI1LDcgKzIxMjYsOCBAQCBzdGF0ZV9pbmRleCAoc3RydWN0IGRmYSAqZCwgcG9z aXRpb25fc2V0IGNvbnN0ICpzLCBpbnQgY29udGV4dCkKICAgYWxsb2NfcG9zaXRpb25fc2V0ICgm ZC0+c3RhdGVzW2ldLmVsZW1zLCBzLT5uZWxlbSk7CiAgIGNvcHkgKHMsICZkLT5zdGF0ZXNbaV0u ZWxlbXMpOwogICBkLT5zdGF0ZXNbaV0uY29udGV4dCA9IGNvbnRleHQ7Ci0gIGQtPnN0YXRlc1tp XS5iYWNrcmVmID0gMDsKKyAgZC0+c3RhdGVzW2ldLmhhc19iYWNrcmVmID0gZmFsc2U7CisgIGQt PnN0YXRlc1tpXS5oYXNfbWJjc2V0ID0gZmFsc2U7CiAgIGQtPnN0YXRlc1tpXS5jb25zdHJhaW50 ID0gMDsKICAgZC0+c3RhdGVzW2ldLmZpcnN0X2VuZCA9IDA7CiAgIGQtPnN0YXRlc1tpXS5tYnBz Lm5lbGVtID0gMDsKQEAgLTIxNDMsNyArMjE0NSw3IEBAIHN0YXRlX2luZGV4IChzdHJ1Y3QgZGZh ICpkLCBwb3NpdGlvbl9zZXQgY29uc3QgKnMsIGludCBjb250ZXh0KQogICAgIGVsc2UgaWYgKGQt PnRva2Vuc1tzLT5lbGVtc1tqXS5pbmRleF0gPT0gQkFDS1JFRikKICAgICAgIHsKICAgICAgICAg ZC0+c3RhdGVzW2ldLmNvbnN0cmFpbnQgPSBOT19DT05TVFJBSU5UOwotICAgICAgICBkLT5zdGF0 ZXNbaV0uYmFja3JlZiA9IDE7CisgICAgICAgIGQtPnN0YXRlc1tpXS5oYXNfYmFja3JlZiA9IHRy dWU7CiAgICAgICB9CiAKICAgKytkLT5zaW5kZXg7CkBAIC0yNjA2LDYgKzI2MDgsNyBAQCBkZmFz dGF0ZSAoc3RhdGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSB0cmFuc1tdKQogICAg ICAgICAgIGlmIChkLT5zdGF0ZXNbc10ubWJwcy5uZWxlbSA9PSAwKQogICAgICAgICAgICAgYWxs b2NfcG9zaXRpb25fc2V0ICgmZC0+c3RhdGVzW3NdLm1icHMsIDEpOwogICAgICAgICAgIGluc2Vy dCAocG9zLCAmKGQtPnN0YXRlc1tzXS5tYnBzKSk7CisgICAgICAgICAgZC0+c3RhdGVzW3NdLmhh c19tYmNzZXQgfD0gKGQtPnRva2Vuc1twb3MuaW5kZXhdID09IE1CQ1NFVCk7CiAgICAgICAgICAg Y29udGludWU7CiAgICAgICAgIH0KICAgICAgIGVsc2UKQEAgLTM0MTAsNyArMzQxMyw3IEBAIGRm YWV4ZWMgKHN0cnVjdCBkZmEgKmQsIGNoYXIgY29uc3QgKmJlZ2luLCBjaGFyICplbmQsCiAgICAg ICAgICAgICAgICAgIGJldHRlciBwZXJmb3JtYW5jZSAodXAgdG8gMjUlIGJldHRlciBvbiBbYS16 XSwgZm9yCiAgICAgICAgICAgICAgICAgIGV4YW1wbGUpIGFuZCBlbmFibGVzIHN1cHBvcnQgZm9y IGNvbGxhdGluZyBzeW1ib2xzIGFuZAogICAgICAgICAgICAgICAgICBlcXVpdmFsZW5jZSBjbGFz c2VzLiAgKi8KLSAgICAgICAgICAgICAgaWYgKGJhY2tyZWYpCisgICAgICAgICAgICAgIGlmIChk LT5zdGF0ZXNbc10uaGFzX21iY3NldCAmJiBiYWNrcmVmKQogICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICpiYWNrcmVmID0gMTsKICAgICAgICAgICAgICAgICAgICplbmQgPSBz YXZlZF9lbmQ7CkBAIC0zNDQ0LDcgKzM0NDcsNyBAQCBkZmFleGVjIChzdHJ1Y3QgZGZhICpkLCBj aGFyIGNvbnN0ICpiZWdpbiwgY2hhciAqZW5kLAogICAgICAgICAgIGlmIChkLT5zdWNjZXNzW3Nd ICYgc2JpdFsqcF0pCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGlmIChiYWNrcmVmKQot ICAgICAgICAgICAgICAgICpiYWNrcmVmID0gKGQtPnN0YXRlc1tzXS5iYWNrcmVmICE9IDApOwor ICAgICAgICAgICAgICAgICpiYWNrcmVmID0gZC0+c3RhdGVzW3NdLmhhc19iYWNrcmVmOwogICAg ICAgICAgICAgICAqZW5kID0gc2F2ZWRfZW5kOwogICAgICAgICAgICAgICByZXR1cm4gKGNoYXIg KikgcDsKICAgICAgICAgICAgIH0KLS0gCjEuOS4xCgo= --------_5342947400000000F0A5_MULTIPART_MIXED_-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 08 00:08:56 2014 Received: (at 17027-done) by debbugs.gnu.org; 8 Apr 2014 04:08:56 +0000 Received: from localhost ([127.0.0.1]:40146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WXNLD-00008o-ME for submit@debbugs.gnu.org; Tue, 08 Apr 2014 00:08:56 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:60203) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WXNLB-00008e-J8 for 17027-done@debbugs.gnu.org; Tue, 08 Apr 2014 00:08:54 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 3D21B39E8014; Mon, 7 Apr 2014 21:08:53 -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 u5M08EROiNAE; Mon, 7 Apr 2014 21:08:44 -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 AB86A39E8008; Mon, 7 Apr 2014 21:08:44 -0700 (PDT) Message-ID: <5343764C.9020208@cs.ucla.edu> Date: Mon, 07 Apr 2014 21:08:44 -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 Subject: Re: bug#17027: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales References: <20140403082717.6629.27F6AC2D@kcn.ne.jp> <20140404001846.8254.27F6AC2D@kcn.ne.jp> <20140407210755.F0B1.27F6AC2D@kcn.ne.jp> In-Reply-To: <20140407210755.F0B1.27F6AC2D@kcn.ne.jp> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 17027-done Cc: 17027-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: -2.6 (--) Thanks for this patch too. I pushed it into the savannah git master, with a slightly different commit message. From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 08 02:12:20 2014 Received: (at 17027) by debbugs.gnu.org; 8 Apr 2014 06:12:20 +0000 Received: from localhost ([127.0.0.1]:40184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WXPGc-0003Vp-VL for submit@debbugs.gnu.org; Tue, 08 Apr 2014 02:12:20 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:36510) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WXPGY-0003VU-FL for 17027@debbugs.gnu.org; Tue, 08 Apr 2014 02:12:16 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 8967039E8014; Mon, 7 Apr 2014 23:12: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 bhyq3oBAeDYm; Mon, 7 Apr 2014 23:12:08 -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 2658039E8008; Mon, 7 Apr 2014 23:12:08 -0700 (PDT) Message-ID: <53439337.8000403@cs.ucla.edu> Date: Mon, 07 Apr 2014 23:12:07 -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 Subject: Re: bug#17027: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales References: <20140403082717.6629.27F6AC2D@kcn.ne.jp> <20140404001846.8254.27F6AC2D@kcn.ne.jp> <20140407210755.F0B1.27F6AC2D@kcn.ne.jp> <5343764C.9020208@cs.ucla.edu> In-Reply-To: <5343764C.9020208@cs.ucla.edu> Content-Type: multipart/mixed; boundary="------------080506030108080607050808" X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 17027 Cc: 17027@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: -2.6 (--) This is a multi-part message in MIME format. --------------080506030108080607050808 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit As the patch went partway in using bool in dfa.c, I took the liberty of converting the rest of the DFA internals to use bool when that seemed to make the code clearer and/or the executable smaller. I didn't change the external API. I installed the attached. --------------080506030108080607050808 Content-Type: text/plain; charset=UTF-8; name="0001-grep-prefer-bool-in-DFA-internals.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-grep-prefer-bool-in-DFA-internals.patch" RnJvbSA4Y2QyNmRiZGUxYmY3ODQ1NDM4YTQ1ZThjYmJlNDkwN2FiYmZmN2YwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDcgQXByIDIwMTQgMjM6MDY6NDUgLTA3MDAKU3ViamVjdDogW1BBVENI XSBncmVwOiBwcmVmZXIgYm9vbCBpbiBERkEgaW50ZXJuYWxzCgoqIHNyYy9kZmEuYyAoYm9v bF9iZik6IE5ldyB0eXBlLgooZGZhX3N0YXRlKTogVXNlIGl0LCBhcyB0aGlzIHNlZW1zIHRv IGdlbmVyYXRlIHNsaWdodGx5IGJldHRlcgpjb2RlIHdpdGggR0NDLgooc3RydWN0IG1iX2No YXJfY2xhc3Nlcywgc3RydWN0IGRmYSwgZXF1YWwsIGNhc2VfZm9sZCwgZGZhc3ludGF4KQoo bGFzdHN0YXJ0LCBwYXJzZV9icmFja2V0X2V4cCwgbGV4LCBkZmFwYXJzZSwgZGZhYW5hbHl6 ZSwgZGZhc3RhdGUpCihtYXRjaF9tYl9jaGFyc2V0LCBkZmFtdXN0KToKVXNlIGJvb2wgZm9y IGJvb2xlYW4uCih1c2luZ191dGY4KSBbIUhBVkVfTEFOR0lORk9fQ09ERVNFVF06IFR1bmUu CihkZmFhbmFseXplKTogUHJlZmVyICYgdG8gJiYgYW5kIHwgdG8gfHwgb24gYm9vbGVhbnM7 IGl0J3Mgc2ltcGxlciBoZXJlLgooZGZhc3RhdGUpOiBTaW1wbGlmeSBjaGFyY2xhc3Mgbm9u emVybyB0ZXN0aW5nLiAgUmVkbyBoYXNfbWJjc2V0CnRlc3Qgc28gdGhhdCB0aGUgY29tcGls ZXIncyBtb3JlIGxpa2VseSB0byBvcHRpbWl6ZSBpdC4KLS0tCiBzcmMvZGZhLmMgfCAxNDAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCA2NyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvZGZhLmMgYi9zcmMvZGZhLmMKaW5kZXggN2JhYjg0 ZC4uNzZmN2U3OSAxMDA2NDQKLS0tIGEvc3JjL2RmYS5jCisrKyBiL3NyYy9kZmEuYwpAQCAt MzQsNiArMzQsMTMgQEAKICNpbmNsdWRlIDxsb2NhbGUuaD4KICNpbmNsdWRlIDxzdGRib29s Lmg+CiAKKy8qIFRoZSBwcmUtQzk5IDxzdGRib29sLmg+IGVtdWxhdGlvbiBkb2Vzbid0IHdv cmsgZm9yIGJvb2wgYml0ZmllbGRzLiAgKi8KKyNpZiBfX1NURENfVkVSU0lPTl9fIDwgMTk5 OTAxCit0eXBlZGVmIHVuc2lnbmVkIGludCBib29sX2JmOworI2Vsc2UKK3R5cGVkZWYgYm9v bCBib29sX2JmOworI2VuZGlmCisKICNkZWZpbmUgU1RSRVEoYSwgYikgKHN0cmNtcCAoYSwg YikgPT0gMCkKIAogLyogSVNBU0NJSURJR0lUIGRpZmZlcnMgZnJvbSBpc2RpZ2l0LCBhcyBm b2xsb3dzOgpAQCAtMjg4LDggKzI5NSw4IEBAIHR5cGVkZWYgc3RydWN0CiAgIHNpemVfdCBo YXNoOyAgICAgICAgICAgICAgICAgIC8qIEhhc2ggb2YgdGhlIHBvc2l0aW9ucyBvZiB0aGlz IHN0YXRlLiAgKi8KICAgcG9zaXRpb25fc2V0IGVsZW1zOyAgICAgICAgICAgLyogUG9zaXRp b25zIHRoaXMgc3RhdGUgY291bGQgbWF0Y2guICAqLwogICB1bnNpZ25lZCBjaGFyIGNvbnRl eHQ7ICAgICAgICAvKiBDb250ZXh0IGZyb20gcHJldmlvdXMgc3RhdGUuICAqLwotICBib29s IGhhc19iYWNrcmVmOyAgICAgICAgICAgICAvKiBUcnVlIGlmIHRoaXMgc3RhdGUgbWF0Y2hl cyBhIFw8ZGlnaXQ+LiAgKi8KLSAgYm9vbCBoYXNfbWJjc2V0OyAgICAgICAgICAgICAgLyog VHJ1ZSBpZiB0aGlzIHN0YXRlIG1hdGNoZXMgYSBNQkNTRVQuICAqLworICBib29sX2JmIGhh c19iYWNrcmVmIDogMTsgICAgICAvKiBUcnVlIGlmIHRoaXMgc3RhdGUgbWF0Y2hlcyBhIFw8 ZGlnaXQ+LiAgKi8KKyAgYm9vbF9iZiBoYXNfbWJjc2V0IDogMTsgICAgICAgLyogVHJ1ZSBp ZiB0aGlzIHN0YXRlIG1hdGNoZXMgYSBNQkNTRVQuICAqLwogICB1bnNpZ25lZCBzaG9ydCBj b25zdHJhaW50OyAgICAvKiBDb25zdHJhaW50IGZvciB0aGlzIHN0YXRlIHRvIGFjY2VwdC4g ICovCiAgIHRva2VuIGZpcnN0X2VuZDsgICAgICAgICAgICAgIC8qIFRva2VuIHZhbHVlIG9m IHRoZSBmaXJzdCBFTkQgaW4gZWxlbXMuICAqLwogICBwb3NpdGlvbl9zZXQgbWJwczsgICAg ICAgICAgICAvKiBQb3NpdGlvbnMgd2hpY2ggY2FuIG1hdGNoIG11bHRpYnl0ZQpAQCAtMzA2 LDcgKzMxMyw3IEBAIHR5cGVkZWYgcHRyZGlmZl90IHN0YXRlX251bTsKIHN0cnVjdCBtYl9j aGFyX2NsYXNzZXMKIHsKICAgcHRyZGlmZl90IGNzZXQ7Ci0gIGludCBpbnZlcnQ7CisgIGJv b2wgaW52ZXJ0OwogICB3Y2hhcl90ICpjaGFyczsgICAgICAgICAgICAgICAvKiBOb3JtYWwg Y2hhcmFjdGVycy4gICovCiAgIHNpemVfdCBuY2hhcnM7CiAgIHdjdHlwZV90ICpjaF9jbGFz c2VzOyAgICAgICAgIC8qIENoYXJhY3RlciBjbGFzc2VzLiAgKi8KQEAgLTM5MCw3ICszOTcs NyBAQCBzdHJ1Y3QgZGZhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h dGNoaW5nIHRoZSBnaXZlbiBwb3NpdGlvbiBpbiBhIHN0cmluZwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYXRjaGluZyB0aGUgcmVnZXhwLiAgQWxsb2NhdGVkIHRv IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtIHBvc3Np YmxlIHBvc2l0aW9uIGluZGV4LiAgKi8KLSAgaW50IHNlYXJjaGZsYWc7ICAgICAgICAgICAg ICAgLyogVHJ1ZSBpZiB3ZSBhcmUgc3VwcG9zZWQgdG8gYnVpbGQgYSBzZWFyY2hpbmcKKyAg Ym9vbCBzZWFyY2hmbGFnOyAgICAgICAgICAgICAgLyogVHJ1ZSBpZiB3ZSBhcmUgc3VwcG9z ZWQgdG8gYnVpbGQgYSBzZWFyY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYXMgb3Bwb3NlZCB0byBhbiBleGFjdCBtYXRjaGVyLiAgQSBzZWFyY2hpbmcKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hlciBmaW5kcyB0aGUgZmly c3QgYW5kIHNob3J0ZXN0IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYXRjaGluZyBhIHJlZ2V4cCBhbnl3aGVyZSBpbiB0aGUgYnVmZmVyLApAQCAtNjY5 LDcgKzY3Niw3IEBAIG5vdHNldCAoY2hhcmNsYXNzIHMpCiAgICAgc1tpXSA9IH5zW2ldOwog fQogCi1zdGF0aWMgaW50CitzdGF0aWMgYm9vbAogZXF1YWwgKGNoYXJjbGFzcyBjb25zdCBz MSwgY2hhcmNsYXNzIGNvbnN0IHMyKQogewogICByZXR1cm4gbWVtY21wIChzMSwgczIsIHNp emVvZiAoY2hhcmNsYXNzKSkgPT0gMDsKQEAgLTcwNCw3ICs3MTEsNyBAQCBjaGFyY2xhc3Nf aW5kZXggKGNoYXJjbGFzcyBjb25zdCBzKQogc3RhdGljIHJlZ19zeW50YXhfdCBzeW50YXhf Yml0cywgc3ludGF4X2JpdHNfc2V0OwogCiAvKiBGbGFnIGZvciBjYXNlLWZvbGRpbmcgbGV0 dGVycyBpbnRvIHNldHMuICAqLwotc3RhdGljIGludCBjYXNlX2ZvbGQ7CitzdGF0aWMgYm9v bCBjYXNlX2ZvbGQ7CiAKIC8qIEVuZC1vZi1saW5lIGJ5dGUgaW4gZGF0YS4gICovCiBzdGF0 aWMgdW5zaWduZWQgY2hhciBlb2xieXRlOwpAQCAtNzU5LDcgKzc2Niw3IEBAIGRmYXN5bnRh eCAocmVnX3N5bnRheF90IGJpdHMsIGludCBmb2xkLCB1bnNpZ25lZCBjaGFyIGVvbCkKIAog ICBzeW50YXhfYml0c19zZXQgPSAxOwogICBzeW50YXhfYml0cyA9IGJpdHM7Ci0gIGNhc2Vf Zm9sZCA9IGZvbGQ7CisgIGNhc2VfZm9sZCA9IGZvbGQgIT0gMDsKICAgZW9sYnl0ZSA9IGVv bDsKIAogICBmb3IgKGkgPSAwOyBpIDwgTk9UQ0hBUjsgKytpKQpAQCAtODEyLDE3ICs4MTks MTQgQEAgc2V0Yml0X2Nhc2VfZm9sZF9jIChpbnQgYiwgY2hhcmNsYXNzIGMpCiBpbnQKIHVz aW5nX3V0ZjggKHZvaWQpCiB7CisjaWZkZWYgSEFWRV9MQU5HSU5GT19DT0RFU0VUCiAgIHN0 YXRpYyBpbnQgdXRmOCA9IC0xOwotICBpZiAodXRmOCA9PSAtMSkKLSAgICB7Ci0jaWYgZGVm aW5lZCBIQVZFX0xBTkdJTkZPX0NPREVTRVQKLSAgICAgIHV0ZjggPSAoU1RSRVEgKG5sX2xh bmdpbmZvIChDT0RFU0VUKSwgIlVURi04IikpOworICBpZiAodXRmOCA8IDApCisgICAgdXRm OCA9IFNUUkVRIChubF9sYW5naW5mbyAoQ09ERVNFVCksICJVVEYtOCIpOworICByZXR1cm4g dXRmODsKICNlbHNlCi0gICAgICB1dGY4ID0gMDsKKyAgcmV0dXJuIDA7CiAjZW5kaWYKLSAg ICB9Ci0KLSAgcmV0dXJuIHV0Zjg7CiB9CiAKIC8qIFJldHVybiB0cnVlIGlmIHRoZSBjdXJy ZW50IGxvY2FsZSBpcyBrbm93biB0byBiZSBhIHVuaWJ5dGUgbG9jYWxlCkBAIC04NzMsNyAr ODc3LDcgQEAgdXNpbmdfc2ltcGxlX2xvY2FsZSAodm9pZCkKIHN0YXRpYyBjaGFyIGNvbnN0 ICpsZXhwdHI7ICAgICAgLyogUG9pbnRlciB0byBuZXh0IGlucHV0IGNoYXJhY3Rlci4gICov CiBzdGF0aWMgc2l6ZV90IGxleGxlZnQ7ICAgICAgICAgIC8qIE51bWJlciBvZiBjaGFyYWN0 ZXJzIHJlbWFpbmluZy4gICovCiBzdGF0aWMgdG9rZW4gbGFzdHRvazsgICAgICAgICAgIC8q IFByZXZpb3VzIHRva2VuIHJldHVybmVkOyBpbml0aWFsbHkgRU5ELiAgKi8KLXN0YXRpYyBp bnQgbGFzdHN0YXJ0OyAgICAgICAgICAgLyogVHJ1ZSBpZiB3ZSdyZSBzZXBhcmF0ZWQgZnJv bSBiZWdpbm5pbmcgb3IgKCwKK3N0YXRpYyBib29sIGxhc3RzdGFydDsgICAgICAgICAgLyog VHJ1ZSBpZiB3ZSdyZSBzZXBhcmF0ZWQgZnJvbSBiZWdpbm5pbmcgb3IgKCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmx5IGJ5IHplcm8td2lkdGggY2hhcmFj dGVycy4gICovCiBzdGF0aWMgc2l6ZV90IHBhcmVuczsgICAgICAgICAgIC8qIENvdW50IG9m IG91dHN0YW5kaW5nIGxlZnQgcGFyZW5zLiAgKi8KIHN0YXRpYyBpbnQgbWlucmVwLCBtYXhy ZXA7ICAgICAgLyogUmVwZWF0IGNvdW50cyBmb3Ige20sbn0uICAqLwpAQCAtMTAwOSw3ICsx MDEzLDcgQEAgZmluZF9wcmVkIChjb25zdCBjaGFyICpzdHIpCiBzdGF0aWMgdG9rZW4KIHBh cnNlX2JyYWNrZXRfZXhwICh2b2lkKQogewotICBpbnQgaW52ZXJ0OworICBib29sIGludmVy dDsKICAgaW50IGMsIGMxLCBjMjsKICAgY2hhcmNsYXNzIGNjbDsKIApAQCAtMTA1NywxMSAr MTA2MSwxMSBAQCBwYXJzZV9icmFja2V0X2V4cCAodm9pZCkKICAgaWYgKGMgPT0gJ14nKQog ICAgIHsKICAgICAgIEZFVENIX1dDIChjLCB3YywgXygidW5iYWxhbmNlZCBbIikpOwotICAg ICAgaW52ZXJ0ID0gMTsKKyAgICAgIGludmVydCA9IHRydWU7CiAgICAgICBrbm93bl9icmFj a2V0X2V4cCA9IHVzaW5nX3NpbXBsZV9sb2NhbGUgKCk7CiAgICAgfQogICBlbHNlCi0gICAg aW52ZXJ0ID0gMDsKKyAgICBpbnZlcnQgPSBmYWxzZTsKIAogICBjb2xvbl93YXJuaW5nX3N0 YXRlID0gKGMgPT0gJzonKTsKICAgZG8KQEAgLTEyNzksNyArMTI4Myw3IEBAIHN0YXRpYyB0 b2tlbgogbGV4ICh2b2lkKQogewogICB1bnNpZ25lZCBpbnQgYywgYzI7Ci0gIGludCBiYWNr c2xhc2ggPSAwOworICBib29sIGJhY2tzbGFzaCA9IGZhbHNlOwogICBjaGFyY2xhc3MgY2Ns OwogICBpbnQgaTsKIApAQCAtMTMwMiw3ICsxMzA2LDcgQEAgbGV4ICh2b2lkKQogICAgICAg ICAgICAgZ290byBub3JtYWxfY2hhcjsKICAgICAgICAgICBpZiAobGV4bGVmdCA9PSAwKQog ICAgICAgICAgICAgZGZhZXJyb3IgKF8oInVuZmluaXNoZWQgXFwgZXNjYXBlIikpOwotICAg ICAgICAgIGJhY2tzbGFzaCA9IDE7CisgICAgICAgICAgYmFja3NsYXNoID0gdHJ1ZTsKICAg ICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlICdeJzoKQEAgLTEzNDAsNyArMTM0NCw3 IEBAIGxleCAodm9pZCkKICAgICAgICAgY2FzZSAnOSc6CiAgICAgICAgICAgaWYgKGJhY2tz bGFzaCAmJiAhKHN5bnRheF9iaXRzICYgUkVfTk9fQktfUkVGUykpCiAgICAgICAgICAgICB7 Ci0gICAgICAgICAgICAgIGxhc3RzdGFydCA9IDA7CisgICAgICAgICAgICAgIGxhc3RzdGFy dCA9IGZhbHNlOwogICAgICAgICAgICAgICByZXR1cm4gbGFzdHRvayA9IEJBQ0tSRUY7CiAg ICAgICAgICAgICB9CiAgICAgICAgICAgZ290byBub3JtYWxfY2hhcjsKQEAgLTE0NTUsNyAr MTQ1OSw3IEBAIGxleCAodm9pZCkKICAgICAgICAgICAgIGxleHB0ciA9IHA7CiAgICAgICAg ICAgICBsZXhsZWZ0ID0gbGltIC0gcDsKICAgICAgICAgICB9Ci0gICAgICAgICAgbGFzdHN0 YXJ0ID0gMDsKKyAgICAgICAgICBsYXN0c3RhcnQgPSBmYWxzZTsKICAgICAgICAgICByZXR1 cm4gbGFzdHRvayA9IFJFUE1OOwogCiAgICAgICAgIGNhc2UgJ3wnOgpAQCAtMTQ2MywyMSAr MTQ2NywyMSBAQCBsZXggKHZvaWQpCiAgICAgICAgICAgICBnb3RvIG5vcm1hbF9jaGFyOwog ICAgICAgICAgIGlmIChiYWNrc2xhc2ggIT0gKChzeW50YXhfYml0cyAmIFJFX05PX0JLX1ZC QVIpID09IDApKQogICAgICAgICAgICAgZ290byBub3JtYWxfY2hhcjsKLSAgICAgICAgICBs YXN0c3RhcnQgPSAxOworICAgICAgICAgIGxhc3RzdGFydCA9IHRydWU7CiAgICAgICAgICAg cmV0dXJuIGxhc3R0b2sgPSBPUjsKIAogICAgICAgICBjYXNlICdcbic6CiAgICAgICAgICAg aWYgKHN5bnRheF9iaXRzICYgUkVfTElNSVRFRF9PUFMKICAgICAgICAgICAgICAgfHwgYmFj a3NsYXNoIHx8ICEoc3ludGF4X2JpdHMgJiBSRV9ORVdMSU5FX0FMVCkpCiAgICAgICAgICAg ICBnb3RvIG5vcm1hbF9jaGFyOwotICAgICAgICAgIGxhc3RzdGFydCA9IDE7CisgICAgICAg ICAgbGFzdHN0YXJ0ID0gdHJ1ZTsKICAgICAgICAgICByZXR1cm4gbGFzdHRvayA9IE9SOwog CiAgICAgICAgIGNhc2UgJygnOgogICAgICAgICAgIGlmIChiYWNrc2xhc2ggIT0gKChzeW50 YXhfYml0cyAmIFJFX05PX0JLX1BBUkVOUykgPT0gMCkpCiAgICAgICAgICAgICBnb3RvIG5v cm1hbF9jaGFyOwogICAgICAgICAgICsrcGFyZW5zOwotICAgICAgICAgIGxhc3RzdGFydCA9 IDE7CisgICAgICAgICAgbGFzdHN0YXJ0ID0gdHJ1ZTsKICAgICAgICAgICByZXR1cm4gbGFz dHRvayA9IExQQVJFTjsKIAogICAgICAgICBjYXNlICcpJzoKQEAgLTE0ODYsNyArMTQ5MCw3 IEBAIGxleCAodm9pZCkKICAgICAgICAgICBpZiAocGFyZW5zID09IDAgJiYgc3ludGF4X2Jp dHMgJiBSRV9VTk1BVENIRURfUklHSFRfUEFSRU5fT1JEKQogICAgICAgICAgICAgZ290byBu b3JtYWxfY2hhcjsKICAgICAgICAgICAtLXBhcmVuczsKLSAgICAgICAgICBsYXN0c3RhcnQg PSAwOworICAgICAgICAgIGxhc3RzdGFydCA9IGZhbHNlOwogICAgICAgICAgIHJldHVybiBs YXN0dG9rID0gUlBBUkVOOwogCiAgICAgICAgIGNhc2UgJy4nOgpAQCAtMTQ5Niw3ICsxNTAw LDcgQEAgbGV4ICh2b2lkKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAvKiBJbiBt dWx0aWJ5dGUgZW52aXJvbm1lbnQgcGVyaW9kIG11c3QgbWF0Y2ggd2l0aCBhIHNpbmdsZQog ICAgICAgICAgICAgICAgICBjaGFyYWN0ZXIgbm90IGEgYnl0ZS4gIFNvIHdlIHVzZSBBTllD SEFSLiAgKi8KLSAgICAgICAgICAgICAgbGFzdHN0YXJ0ID0gMDsKKyAgICAgICAgICAgICAg bGFzdHN0YXJ0ID0gZmFsc2U7CiAgICAgICAgICAgICAgIHJldHVybiBsYXN0dG9rID0gQU5Z Q0hBUjsKICAgICAgICAgICAgIH0KICAgICAgICAgICB6ZXJvc2V0IChjY2wpOwpAQCAtMTUw NSw3ICsxNTA5LDcgQEAgbGV4ICh2b2lkKQogICAgICAgICAgICAgY2xyYml0IChlb2xieXRl LCBjY2wpOwogICAgICAgICAgIGlmIChzeW50YXhfYml0cyAmIFJFX0RPVF9OT1RfTlVMTCkK ICAgICAgICAgICAgIGNscmJpdCAoJ1wwJywgY2NsKTsKLSAgICAgICAgICBsYXN0c3RhcnQg PSAwOworICAgICAgICAgIGxhc3RzdGFydCA9IGZhbHNlOwogICAgICAgICAgIHJldHVybiBs YXN0dG9rID0gQ1NFVCArIGNoYXJjbGFzc19pbmRleCAoY2NsKTsKIAogICAgICAgICBjYXNl ICdzJzoKQEAgLTE1MjAsNyArMTUyNCw3IEBAIGxleCAodm9pZCkKICAgICAgICAgICAgICAg ICAgIHNldGJpdCAoYzIsIGNjbCk7CiAgICAgICAgICAgICAgIGlmIChjID09ICdTJykKICAg ICAgICAgICAgICAgICBub3RzZXQgKGNjbCk7Ci0gICAgICAgICAgICAgIGxhc3RzdGFydCA9 IDA7CisgICAgICAgICAgICAgIGxhc3RzdGFydCA9IGZhbHNlOwogICAgICAgICAgICAgICBy ZXR1cm4gbGFzdHRvayA9IENTRVQgKyBjaGFyY2xhc3NfaW5kZXggKGNjbCk7CiAgICAgICAg ICAgICB9CiAKQEAgLTE1NTAsNyArMTU1NCw3IEBAIGxleCAodm9pZCkKIAogICAgICAgICAg IFBPUF9MRVhfU1RBVEUgKCk7CiAKLSAgICAgICAgICBsYXN0c3RhcnQgPSAwOworICAgICAg ICAgIGxhc3RzdGFydCA9IGZhbHNlOwogICAgICAgICAgIHJldHVybiBsYXN0dG9rOwogCiAg ICAgICAgIGNhc2UgJ3cnOgpAQCAtMTU2MywxOCArMTU2NywxOCBAQCBsZXggKHZvaWQpCiAg ICAgICAgICAgICAgIHNldGJpdCAoYzIsIGNjbCk7CiAgICAgICAgICAgaWYgKGMgPT0gJ1cn KQogICAgICAgICAgICAgbm90c2V0IChjY2wpOwotICAgICAgICAgIGxhc3RzdGFydCA9IDA7 CisgICAgICAgICAgbGFzdHN0YXJ0ID0gZmFsc2U7CiAgICAgICAgICAgcmV0dXJuIGxhc3R0 b2sgPSBDU0VUICsgY2hhcmNsYXNzX2luZGV4IChjY2wpOwogCiAgICAgICAgIGNhc2UgJ1sn OgogICAgICAgICAgIGlmIChiYWNrc2xhc2gpCiAgICAgICAgICAgICBnb3RvIG5vcm1hbF9j aGFyOwotICAgICAgICAgIGxhc3RzdGFydCA9IDA7CisgICAgICAgICAgbGFzdHN0YXJ0ID0g ZmFsc2U7CiAgICAgICAgICAgcmV0dXJuIGxhc3R0b2sgPSBwYXJzZV9icmFja2V0X2V4cCAo KTsKIAogICAgICAgICBkZWZhdWx0OgogICAgICAgICBub3JtYWxfY2hhcjoKLSAgICAgICAg ICBsYXN0c3RhcnQgPSAwOworICAgICAgICAgIGxhc3RzdGFydCA9IGZhbHNlOwogICAgICAg ICAgIC8qIEZvciBtdWx0aWJ5dGUgY2hhcmFjdGVyIHNldHMsIGZvbGRpbmcgaXMgZG9uZSBp biBhdG9tLiAgQWx3YXlzCiAgICAgICAgICAgICAgcmV0dXJuIFdDSEFSLiAgKi8KICAgICAg ICAgICBpZiAoTUJfQ1VSX01BWCA+IDEpCkBAIC0xOTc3LDcgKzE5ODEsNyBAQCBkZmFwYXJz ZSAoY2hhciBjb25zdCAqcywgc2l6ZV90IGxlbiwgc3RydWN0IGRmYSAqZCkKICAgbGV4cHRy ID0gczsKICAgbGV4bGVmdCA9IGxlbjsKICAgbGFzdHRvayA9IEVORDsKLSAgbGFzdHN0YXJ0 ID0gMTsKKyAgbGFzdHN0YXJ0ID0gdHJ1ZTsKICAgcGFyZW5zID0gMDsKICAgaWYgKE1CX0NV Ul9NQVggPiAxKQogICAgIHsKQEAgLTIzMjMsNyArMjMyNyw3IEBAIHN0YXRlX3NlcGFyYXRl X2NvbnRleHRzIChwb3NpdGlvbl9zZXQgY29uc3QgKnMpCiB2b2lkCiBkZmFhbmFseXplIChz dHJ1Y3QgZGZhICpkLCBpbnQgc2VhcmNoZmxhZykKIHsKLSAgaW50ICpudWxsYWJsZTsgICAg ICAgICAgICAgICAgLyogTnVsbGFibGUgc3RhY2suICAqLworICBib29sICpudWxsYWJsZTsg ICAgICAgICAgICAgICAvKiBOdWxsYWJsZSBzdGFjay4gICovCiAgIHNpemVfdCAqbmZpcnN0 cG9zOyAgICAgICAgICAgIC8qIEVsZW1lbnQgY291bnQgc3RhY2sgZm9yIGZpcnN0cG9zIHNl dHMuICAqLwogICBwb3NpdGlvbiAqZmlyc3Rwb3M7ICAgICAgICAgICAvKiBBcnJheSB3aGVy ZSBmaXJzdHBvcyBlbGVtZW50cyBhcmUgc3RvcmVkLiAgKi8KICAgc2l6ZV90ICpubGFzdHBv czsgICAgICAgICAgICAgLyogRWxlbWVudCBjb3VudCBzdGFjayBmb3IgbGFzdHBvcyBzZXRz LiAgKi8KQEAgLTIzMzEsNyArMjMzNSw3IEBAIGRmYWFuYWx5emUgKHN0cnVjdCBkZmEgKmQs IGludCBzZWFyY2hmbGFnKQogICBwb3NpdGlvbl9zZXQgdG1wOyAgICAgICAgICAgICAvKiBU ZW1wb3Jhcnkgc2V0IGZvciBtZXJnaW5nIHNldHMuICAqLwogICBwb3NpdGlvbl9zZXQgbWVy Z2VkOyAgICAgICAgICAvKiBSZXN1bHQgb2YgbWVyZ2luZyBzZXRzLiAgKi8KICAgaW50IHNl cGFyYXRlX2NvbnRleHRzOyAgICAgICAgLyogQ29udGV4dCB3YW50ZWQgYnkgc29tZSBwb3Np dGlvbi4gICovCi0gIGludCAqb19udWxsYWJsZTsKKyAgYm9vbCAqb19udWxsYWJsZTsKICAg c2l6ZV90ICpvX25maXJzdCwgKm9fbmxhc3Q7CiAgIHBvc2l0aW9uICpvX2ZpcnN0cG9zLCAq b19sYXN0cG9zOwogICBzaXplX3QgaSwgajsKQEAgLTIzNDcsNyArMjM1MSw3IEBAIGRmYWFu YWx5emUgKHN0cnVjdCBkZmEgKmQsIGludCBzZWFyY2hmbGFnKQogICBwdXRjICgnXG4nLCBz dGRlcnIpOwogI2VuZGlmCiAKLSAgZC0+c2VhcmNoZmxhZyA9IHNlYXJjaGZsYWc7CisgIGQt PnNlYXJjaGZsYWcgPSBzZWFyY2hmbGFnICE9IDA7CiAKICAgTUFMTE9DIChudWxsYWJsZSwg ZC0+ZGVwdGgpOwogICBvX251bGxhYmxlID0gbnVsbGFibGU7CkBAIC0yMzY5LDcgKzIzNzMs NyBAQCBkZmFhbmFseXplIChzdHJ1Y3QgZGZhICpkLCBpbnQgc2VhcmNoZmxhZykKICAgICAg ICAgewogICAgICAgICBjYXNlIEVNUFRZOgogICAgICAgICAgIC8qIFRoZSBlbXB0eSBzZXQg aXMgbnVsbGFibGUuICAqLwotICAgICAgICAgICpudWxsYWJsZSsrID0gMTsKKyAgICAgICAg ICAqbnVsbGFibGUrKyA9IHRydWU7CiAKICAgICAgICAgICAvKiBUaGUgZmlyc3Rwb3MgYW5k IGxhc3Rwb3Mgb2YgdGhlIGVtcHR5IGxlYWYgYXJlIGJvdGggZW1wdHkuICAqLwogICAgICAg ICAgICpuZmlyc3Rwb3MrKyA9ICpubGFzdHBvcysrID0gMDsKQEAgLTIzOTEsNyArMjM5NSw3 IEBAIGRmYWFuYWx5emUgKHN0cnVjdCBkZmEgKmQsIGludCBzZWFyY2hmbGFnKQogICAgICAg ICBjYXNlIFFNQVJLOgogICAgICAgICAgIC8qIEEgUU1BUksgb3IgU1RBUiBub2RlIGlzIGF1 dG9tYXRpY2FsbHkgbnVsbGFibGUuICAqLwogICAgICAgICAgIGlmIChkLT50b2tlbnNbaV0g IT0gUExVUykKLSAgICAgICAgICAgIG51bGxhYmxlWy0xXSA9IDE7CisgICAgICAgICAgICBu dWxsYWJsZVstMV0gPSB0cnVlOwogICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2Ug Q0FUOgpAQCAtMjQyOSw3ICsyNDMzLDcgQEAgZGZhYW5hbHl6ZSAoc3RydWN0IGRmYSAqZCwg aW50IHNlYXJjaGZsYWcpCiAgICAgICAgICAgLS1ubGFzdHBvczsKIAogICAgICAgICAgIC8q IEEgQ0FUIG5vZGUgaXMgbnVsbGFibGUgaWYgYm90aCBhcmd1bWVudHMgYXJlIG51bGxhYmxl LiAgKi8KLSAgICAgICAgICBudWxsYWJsZVstMl0gPSBudWxsYWJsZVstMV0gJiYgbnVsbGFi bGVbLTJdOworICAgICAgICAgIG51bGxhYmxlWy0yXSAmPSBudWxsYWJsZVstMV07CiAgICAg ICAgICAgLS1udWxsYWJsZTsKICAgICAgICAgICBicmVhazsKIApAQCAtMjQ0Myw3ICsyNDQ3 LDcgQEAgZGZhYW5hbHl6ZSAoc3RydWN0IGRmYSAqZCwgaW50IHNlYXJjaGZsYWcpCiAgICAg ICAgICAgLS1ubGFzdHBvczsKIAogICAgICAgICAgIC8qIEFuIE9SIG5vZGUgaXMgbnVsbGFi bGUgaWYgZWl0aGVyIGFyZ3VtZW50IGlzIG51bGxhYmxlLiAgKi8KLSAgICAgICAgICBudWxs YWJsZVstMl0gPSBudWxsYWJsZVstMV0gfHwgbnVsbGFibGVbLTJdOworICAgICAgICAgIG51 bGxhYmxlWy0yXSB8PSBudWxsYWJsZVstMV07CiAgICAgICAgICAgLS1udWxsYWJsZTsKICAg ICAgICAgICBicmVhazsKIApAQCAtMjU3NCwxMSArMjU3OCwxMSBAQCBkZmFzdGF0ZSAoc3Rh dGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSB0cmFuc1tdKQogICBzaXplX3Qg bmdycHMgPSAwOyAgICAgICAgICAgICAvKiBOdW1iZXIgb2YgZ3JvdXBzIGFjdHVhbGx5IHVz ZWQuICAqLwogICBwb3NpdGlvbiBwb3M7ICAgICAgICAgICAgICAgICAvKiBDdXJyZW50IHBv c2l0aW9uIGJlaW5nIGNvbnNpZGVyZWQuICAqLwogICBjaGFyY2xhc3MgbWF0Y2hlczsgICAg ICAgICAgICAvKiBTZXQgb2YgbWF0Y2hpbmcgY2hhcmFjdGVycy4gICovCi0gIGludCBtYXRj aGVzZjsgICAgICAgICAgICAgICAgIC8qIFRydWUgaWYgbWF0Y2hlcyBpcyBub25lbXB0eS4g ICovCisgIHVuc2lnbmVkIGludCBtYXRjaGVzZjsgICAgICAgIC8qIE5vbnplcm8gaWYgbWF0 Y2hlcyBpcyBub25lbXB0eS4gICovCiAgIGNoYXJjbGFzcyBpbnRlcnNlY3Q7ICAgICAgICAg IC8qIEludGVyc2VjdGlvbiB3aXRoIHNvbWUgbGFiZWwgc2V0LiAgKi8KLSAgaW50IGludGVy c2VjdGY7ICAgICAgICAgICAgICAgLyogVHJ1ZSBpZiBpbnRlcnNlY3QgaXMgbm9uZW1wdHku ICAqLworICB1bnNpZ25lZCBpbnQgaW50ZXJzZWN0ZjsgICAgICAvKiBOb256ZXJvIGlmIGlu dGVyc2VjdCBpcyBub25lbXB0eS4gICovCiAgIGNoYXJjbGFzcyBsZWZ0b3ZlcnM7ICAgICAg ICAgIC8qIFN0dWZmIGluIHRoZSBsYWJlbCB0aGF0IGRpZG4ndCBtYXRjaC4gICovCi0gIGlu dCBsZWZ0b3ZlcnNmOyAgICAgICAgICAgICAgIC8qIFRydWUgaWYgbGVmdG92ZXJzIGlzIG5v bmVtcHR5LiAgKi8KKyAgdW5zaWduZWQgaW50IGxlZnRvdmVyc2Y7ICAgICAgLyogTm9uemVy byBpZiBsZWZ0b3ZlcnMgaXMgbm9uZW1wdHkuICAqLwogICBwb3NpdGlvbl9zZXQgZm9sbG93 czsgICAgICAgICAvKiBVbmlvbiBvZiB0aGUgZm9sbG93cyBvZiBzb21lIGdyb3VwLiAgKi8K ICAgcG9zaXRpb25fc2V0IHRtcDsgICAgICAgICAgICAgLyogVGVtcG9yYXJ5IHNwYWNlIGZv ciBtZXJnaW5nIHNldHMuICAqLwogICBpbnQgcG9zc2libGVfY29udGV4dHM7ICAgICAgICAv KiBDb250ZXh0cyB0aGF0IHRoaXMgZ3JvdXAgY2FuIG1hdGNoLiAgKi8KQEAgLTI1ODYsNyAr MjU5MCw3IEBAIGRmYXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAqZCwgc3RhdGVf bnVtIHRyYW5zW10pCiAgIHN0YXRlX251bSBzdGF0ZTsgICAgICAgICAgICAgIC8qIE5ldyBz dGF0ZS4gICovCiAgIHN0YXRlX251bSBzdGF0ZV9uZXdsaW5lOyAgICAgIC8qIE5ldyBzdGF0 ZSBvbiBhIG5ld2xpbmUgdHJhbnNpdGlvbi4gICovCiAgIHN0YXRlX251bSBzdGF0ZV9sZXR0 ZXI7ICAgICAgIC8qIE5ldyBzdGF0ZSBvbiBhIGxldHRlciB0cmFuc2l0aW9uLiAgKi8KLSAg aW50IG5leHRfaXNudF8xc3RfYnl0ZSA9IDA7ICAgLyogRmxhZyBpZiB3ZSBjYW4ndCBhZGQg c3RhdGUwLiAgKi8KKyAgYm9vbCBuZXh0X2lzbnRfMXN0X2J5dGUgPSBmYWxzZTsgLyogRmxh ZyBpZiB3ZSBjYW4ndCBhZGQgc3RhdGUwLiAgKi8KICAgc2l6ZV90IGksIGosIGs7CiAKICAg TUFMTE9DIChncnBzLCBOT1RDSEFSKTsKQEAgLTI2MDEsMjEgKzI2MDUsMjMgQEAgZGZhc3Rh dGUgKHN0YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gdHJhbnNbXSkKICAg ICAgICAgc2V0Yml0IChkLT50b2tlbnNbcG9zLmluZGV4XSwgbWF0Y2hlcyk7CiAgICAgICBl bHNlIGlmIChkLT50b2tlbnNbcG9zLmluZGV4XSA+PSBDU0VUKQogICAgICAgICBjb3B5c2V0 IChkLT5jaGFyY2xhc3Nlc1tkLT50b2tlbnNbcG9zLmluZGV4XSAtIENTRVRdLCBtYXRjaGVz KTsKLSAgICAgIGVsc2UgaWYgKGQtPnRva2Vuc1twb3MuaW5kZXhdID09IEFOWUNIQVIKLSAg ICAgICAgICAgICAgIHx8IGQtPnRva2Vuc1twb3MuaW5kZXhdID09IE1CQ1NFVCkKLSAgICAg ICAgLyogTUJfQ1VSX01BWCA+IDEgICovCisgICAgICBlbHNlCiAgICAgICAgIHsKLSAgICAg ICAgICAvKiBBTllDSEFSIGFuZCBNQkNTRVQgbXVzdCBtYXRjaCB3aXRoIGEgc2luZ2xlIGNo YXJhY3Rlciwgc28gd2UKLSAgICAgICAgICAgICBtdXN0IHB1dCBpdCB0byBkLT5zdGF0ZXNb c10ubWJwcywgd2hpY2ggY29udGFpbnMgdGhlIHBvc2l0aW9ucwotICAgICAgICAgICAgIHdo aWNoIGNhbiBtYXRjaCB3aXRoIGEgc2luZ2xlIGNoYXJhY3RlciBub3QgYSBieXRlLiAgKi8K LSAgICAgICAgICBpZiAoZC0+c3RhdGVzW3NdLm1icHMubmVsZW0gPT0gMCkKLSAgICAgICAg ICAgIGFsbG9jX3Bvc2l0aW9uX3NldCAoJmQtPnN0YXRlc1tzXS5tYnBzLCAxKTsKLSAgICAg ICAgICBpbnNlcnQgKHBvcywgJihkLT5zdGF0ZXNbc10ubWJwcykpOwotICAgICAgICAgIGQt PnN0YXRlc1tzXS5oYXNfbWJjc2V0IHw9IChkLT50b2tlbnNbcG9zLmluZGV4XSA9PSBNQkNT RVQpOworICAgICAgICAgIGlmIChkLT50b2tlbnNbcG9zLmluZGV4XSA9PSBNQkNTRVQKKyAg ICAgICAgICAgICAgfHwgZC0+dG9rZW5zW3Bvcy5pbmRleF0gPT0gQU5ZQ0hBUikKKyAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgLyogTUJfQ1VSX01BWCA+IDEgKi8KKyAgICAgICAg ICAgICAgaWYgKGQtPnRva2Vuc1twb3MuaW5kZXhdID09IE1CQ1NFVCkKKyAgICAgICAgICAg ICAgICBkLT5zdGF0ZXNbc10uaGFzX21iY3NldCA9IHRydWU7CisgICAgICAgICAgICAgIC8q IEFOWUNIQVIgYW5kIE1CQ1NFVCBtdXN0IG1hdGNoIHdpdGggYSBzaW5nbGUgY2hhcmFjdGVy LCBzbyB3ZQorICAgICAgICAgICAgICAgICBtdXN0IHB1dCBpdCB0byBkLT5zdGF0ZXNbc10u bWJwcywgd2hpY2ggY29udGFpbnMgdGhlIHBvc2l0aW9ucworICAgICAgICAgICAgICAgICB3 aGljaCBjYW4gbWF0Y2ggd2l0aCBhIHNpbmdsZSBjaGFyYWN0ZXIgbm90IGEgYnl0ZS4gICov CisgICAgICAgICAgICAgIGlmIChkLT5zdGF0ZXNbc10ubWJwcy5uZWxlbSA9PSAwKQorICAg ICAgICAgICAgICAgIGFsbG9jX3Bvc2l0aW9uX3NldCAoJmQtPnN0YXRlc1tzXS5tYnBzLCAx KTsKKyAgICAgICAgICAgICAgaW5zZXJ0IChwb3MsICYoZC0+c3RhdGVzW3NdLm1icHMpKTsK KyAgICAgICAgICAgIH0KICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAg ZWxzZQotICAgICAgICBjb250aW51ZTsKIAogICAgICAgLyogU29tZSBjaGFyYWN0ZXJzIG1h eSBuZWVkIHRvIGJlIGVsaW1pbmF0ZWQgZnJvbSBtYXRjaGVzIGJlY2F1c2UKICAgICAgICAg IHRoZXkgZmFpbCBpbiB0aGUgY3VycmVudCBjb250ZXh0LiAgKi8KQEAgLTI2NTQsNyArMjY2 MCw3IEBAIGRmYXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAqZCwgc3RhdGVfbnVt IHRyYW5zW10pCiAgICAgICAgICAgICAgbWF0Y2hlcy4gICovCiAgICAgICAgICAgaW50ZXJz ZWN0ZiA9IDA7CiAgICAgICAgICAgZm9yIChrID0gMDsgayA8IENIQVJDTEFTU19JTlRTOyAr K2spCi0gICAgICAgICAgICAoaW50ZXJzZWN0W2tdID0gbWF0Y2hlc1trXSAmIGxhYmVsc1tq XVtrXSkgPyAoaW50ZXJzZWN0ZiA9IDEpIDogMDsKKyAgICAgICAgICAgIGludGVyc2VjdGYg fD0gaW50ZXJzZWN0W2tdID0gbWF0Y2hlc1trXSAmIGxhYmVsc1tqXVtrXTsKICAgICAgICAg ICBpZiAoIWludGVyc2VjdGYpCiAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtMjY2NSw4 ICsyNjcxLDggQEAgZGZhc3RhdGUgKHN0YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkLCBzdGF0 ZV9udW0gdHJhbnNbXSkKICAgICAgICAgICAgICAgLyogRXZlbiBhbiBvcHRpbWl6aW5nIGNv bXBpbGVyIGNhbid0IGtub3cgdGhpcyBmb3Igc3VyZS4gICovCiAgICAgICAgICAgICAgIGlu dCBtYXRjaCA9IG1hdGNoZXNba10sIGxhYmVsID0gbGFiZWxzW2pdW2tdOwogCi0gICAgICAg ICAgICAgIChsZWZ0b3ZlcnNba10gPSB+bWF0Y2ggJiBsYWJlbCkgPyAobGVmdG92ZXJzZiA9 IDEpIDogMDsKLSAgICAgICAgICAgICAgKG1hdGNoZXNba10gPSBtYXRjaCAmIH5sYWJlbCkg PyAobWF0Y2hlc2YgPSAxKSA6IDA7CisgICAgICAgICAgICAgIGxlZnRvdmVyc2YgfD0gbGVm dG92ZXJzW2tdID0gfm1hdGNoICYgbGFiZWw7CisgICAgICAgICAgICAgIG1hdGNoZXNmIHw9 IG1hdGNoZXNba10gPSBtYXRjaCAmIH5sYWJlbDsKICAgICAgICAgICAgIH0KIAogICAgICAg ICAgIC8qIElmIHRoZXJlIHdlcmUgbGVmdG92ZXJzLCBjcmVhdGUgYSBuZXcgZ3JvdXAgbGFi ZWxlZCB3aXRoIHRoZW0uICAqLwpAQCAtMjc2MywxMiArMjc2OSwxMiBAQCBkZmFzdGF0ZSAo c3RhdGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSB0cmFuc1tdKQogICAgICAg ICAgICAgIGNvZGVwb2ludCBvZiA8c2IgYT4sIGl0IG11c3Qgbm90IGJlIDxzYiBhPiBidXQg Mm5kIGJ5dGUgb2YKICAgICAgICAgICAgICA8bWIgQT4sIHNvIHdlIGNhbm5vdCBhZGQgc3Rh dGVbMF0uICAqLwogCi0gICAgICAgICAgbmV4dF9pc250XzFzdF9ieXRlID0gMDsKKyAgICAg ICAgICBuZXh0X2lzbnRfMXN0X2J5dGUgPSBmYWxzZTsKICAgICAgICAgICBmb3IgKGogPSAw OyBqIDwgZm9sbG93cy5uZWxlbTsgKytqKQogICAgICAgICAgICAgewogICAgICAgICAgICAg ICBpZiAoIShkLT5tdWx0aWJ5dGVfcHJvcFtmb2xsb3dzLmVsZW1zW2pdLmluZGV4XSAmIDEp KQogICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgIG5leHRfaXNudF8xc3Rf Ynl0ZSA9IDE7CisgICAgICAgICAgICAgICAgICBuZXh0X2lzbnRfMXN0X2J5dGUgPSB0cnVl OwogICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgfQpAQCAtMzA1Miw3ICszMDU4LDcgQEAgc3RhdGljIGludAogbWF0Y2hfbWJfY2hh cnNldCAoc3RydWN0IGRmYSAqZCwgc3RhdGVfbnVtIHMsIHBvc2l0aW9uIHBvcywgc2l6ZV90 IGlkeCkKIHsKICAgc2l6ZV90IGk7Ci0gIGludCBtYXRjaDsgICAgICAgICAgICAgICAvKiBN YXRjaGluZyBzdWNjZWVkZWQuICAqLworICBib29sIG1hdGNoOyAgICAgICAgICAgICAgLyog TWF0Y2hpbmcgc3VjY2VlZGVkLiAgKi8KICAgaW50IG1hdGNoX2xlbjsgICAgICAgICAgIC8q IExlbmd0aCBvZiB0aGUgY2hhcmFjdGVyIChvciBjb2xsYXRpbmcgZWxlbWVudCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggd2hpY2ggdGhpcyBvcGVyYXRvciBtYXRj aGVzLiAgKi8KICAgaW50IG9wX2xlbjsgICAgICAgICAgICAgIC8qIExlbmd0aCBvZiB0aGUg b3BlcmF0b3IuICAqLwpAQCAtNDA0MCwxNCArNDA0NiwxNCBAQCBkZmFtdXN0IChzdHJ1Y3Qg ZGZhICpkKQogICBjaGFyICpyZXN1bHQ7CiAgIHNpemVfdCByaTsKICAgc2l6ZV90IGk7Ci0g IGludCBleGFjdDsKKyAgYm9vbCBleGFjdDsKICAgdG9rZW4gdDsKICAgc3RhdGljIG11c3Qg bXVzdDA7CiAgIHN0cnVjdCBkZmFtdXN0ICpkbTsKICAgc3RhdGljIGNoYXIgZW1wdHlfc3Ry aW5nW10gPSAiIjsKIAogICByZXN1bHQgPSBlbXB0eV9zdHJpbmc7Ci0gIGV4YWN0ID0gMDsK KyAgZXhhY3QgPSBmYWxzZTsKICAgTUFMTE9DIChtdXN0cywgZC0+dGluZGV4ICsgMSk7CiAg IG1wID0gbXVzdHM7CiAgIGZvciAoaSA9IDA7IGkgPD0gZC0+dGluZGV4OyArK2kpCkBAIC00 MTQyLDcgKzQxNDgsNyBAQCBkZmFtdXN0IChzdHJ1Y3QgZGZhICpkKQogICAgICAgICAgICAg aWYgKHN0cmxlbiAobXVzdHNbMF0uaW5baV0pID4gc3RybGVuIChyZXN1bHQpKQogICAgICAg ICAgICAgICByZXN1bHQgPSBtdXN0c1swXS5pbltpXTsKICAgICAgICAgICBpZiAoU1RSRVEg KHJlc3VsdCwgbXVzdHNbMF0uaXMpKQotICAgICAgICAgICAgZXhhY3QgPSAxOworICAgICAg ICAgICAgZXhhY3QgPSB0cnVlOwogICAgICAgICAgIGdvdG8gZG9uZTsKICAgICAgICAgY2Fz ZSBDQVQ6CiAgICAgICAgICAgYXNzZXJ0ICgmbXVzdHNbMl0gPD0gbXApOwotLSAKMS45LjAK Cg== --------------080506030108080607050808-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 08 11:04:31 2014 Received: (at 17027) by debbugs.gnu.org; 8 Apr 2014 15:04:31 +0000 Received: from localhost ([127.0.0.1]:40852 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WXXZe-0002XK-Uf for submit@debbugs.gnu.org; Tue, 08 Apr 2014 11:04:31 -0400 Received: from pbsg501.nifty.com ([202.248.238.71]:44980) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WXXZa-0002X6-H1 for 17027@debbugs.gnu.org; Tue, 08 Apr 2014 11:04:28 -0400 Received: from [10.120.1.58] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) (authenticated) by pbsg501.nifty.com with ESMTP id s38F3wbX008114; Wed, 9 Apr 2014 00:03:59 +0900 X-Nifty-SrcIP: [118.21.128.66] Date: Wed, 09 Apr 2014 00:04:00 +0900 From: Norihiro Tanaka To: Paul Eggert Subject: Re: bug#17027: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales In-Reply-To: <53439337.8000403@cs.ucla.edu> References: <5343764C.9020208@cs.ucla.edu> <53439337.8000403@cs.ucla.edu> Message-Id: <20140409000359.10FE.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: 3.7 (+++) 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: Paul, thanks for the review and installation for my many patches. I'm sure that it's much faster than grep-2.18 in many cases. [...] Content analysis details: (3.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.2 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net [Blocked - see ] 2.7 RCVD_IN_PSBL RBL: Received via a relay in PSBL [202.248.238.71 listed in psbl.surriel.com] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.3 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain X-Debbugs-Envelope-To: 17027 Cc: 17027@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: 3.7 (+++) 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: Paul, thanks for the review and installation for my many patches. I'm sure that it's much faster than grep-2.18 in many cases. [...] Content analysis details: (3.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 2.7 RCVD_IN_PSBL RBL: Received via a relay in PSBL [202.248.238.71 listed in psbl.surriel.com] 1.2 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net [Blocked - see ] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.3 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain Paul, thanks for the review and installation for my many patches. I'm sure that it's much faster than grep-2.18 in many cases. From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 08 16:19:17 2014 Received: (at 17027) by debbugs.gnu.org; 8 Apr 2014 20:19:17 +0000 Received: from localhost ([127.0.0.1]:38098 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WXcUG-0006a1-Uu for submit@debbugs.gnu.org; Tue, 08 Apr 2014 16:19:17 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:47936) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WXcUD-0006Ze-Pq for 17027@debbugs.gnu.org; Tue, 08 Apr 2014 16:19:15 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 307B939E8013 for <17027@debbugs.gnu.org>; Tue, 8 Apr 2014 13:19:08 -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 NEKXpRoQ83Fy for <17027@debbugs.gnu.org>; Tue, 8 Apr 2014 13:19:03 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 730CE39E8011 for <17027@debbugs.gnu.org>; Tue, 8 Apr 2014 13:19:03 -0700 (PDT) Message-ID: <534459B7.9010404@cs.ucla.edu> Date: Tue, 08 Apr 2014 13:19:03 -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: 17027@debbugs.gnu.org Subject: Re: bug#17027: [PATCH] grep: prefer regex to DFA for ANYCHAR in non-UTF8 locales References: <20140403082717.6629.27F6AC2D@kcn.ne.jp> <20140404001846.8254.27F6AC2D@kcn.ne.jp> <20140407210755.F0B1.27F6AC2D@kcn.ne.jp> <5343764C.9020208@cs.ucla.edu> <53439337.8000403@cs.ucla.edu> In-Reply-To: <53439337.8000403@cs.ucla.edu> Content-Type: multipart/mixed; boundary="------------000605000306050805090609" X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 17027 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.6 (--) This is a multi-part message in MIME format. --------------000605000306050805090609 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Aharon Robbins privately pointed out that the bool_bf business wasn't worth the hassle, so I installed the attached patch to simplify. Thanks, Aharon! --------------000605000306050805090609 Content-Type: text/x-patch; name="0001-grep-remove-bool_bf.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-grep-remove-bool_bf.patch" >From 4a1040bd62bfcb916b81900cad30bc4bd3c956c3 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 8 Apr 2014 13:15:24 -0700 Subject: [PATCH] grep: remove bool_bf The extra complexity of this microoptimization wasn't ever much help, and currently it generated bigger code with gcc -O2 (x86-64). * src/dfa.c (bool_bf): Remove. All uses replaced by plain 'bool', without a bitfield. --- src/dfa.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/dfa.c b/src/dfa.c index 34f230e..a3cfa8d 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -34,13 +34,6 @@ #include #include -/* The pre-C99 emulation doesn't work for bool bitfields. */ -#if __STDC_VERSION__ < 199901 -typedef unsigned int bool_bf; -#else -typedef bool bool_bf; -#endif - #define STREQ(a, b) (strcmp (a, b) == 0) /* ISASCIIDIGIT differs from isdigit, as follows: @@ -291,8 +284,8 @@ typedef struct size_t hash; /* Hash of the positions of this state. */ position_set elems; /* Positions this state could match. */ unsigned char context; /* Context from previous state. */ - bool_bf has_backref : 1; /* True if this state matches a \. */ - bool_bf has_mbcset : 1; /* True if this state matches a MBCSET. */ + bool has_backref; /* True if this state matches a \. */ + bool has_mbcset; /* True if this state matches a MBCSET. */ unsigned short constraint; /* Constraint for this state to accept. */ token first_end; /* Token value of the first END in elems. */ position_set mbps; /* Positions which can match multibyte -- 1.9.0 --------------000605000306050805090609-- From unknown Sat Sep 06 09:43:52 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 07 May 2014 11:24:05 +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