From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26778 invoked from network); 15 Nov 2022 19:19:29 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 15 Nov 2022 19:19:29 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1668539969; b=qhZGqooB/I4Dn/ilHyRA6jwmKPL8P6/OhU/FXN3J8Hq2NOyQ4zK/P8tEr+XdXHcQ85fUm3+iDf QhrmK/7JdVcQ83eyjLhwbUALNkg0LRmZj1uc9nSVCPsdvgZZnUE1dy8KT4KPmxab+EnShUcxf8 M1BbIM/Wx5bj84K6bEwYMLet1to7cBS3SWFLn+6vlFLOF+Capz0pEJ0800hfTHnOBrek4sABGo WGD602ap7tb56UngRM04GWZ0MIA74SrWhS/K9o57RXgUe9Vuf3ZpR8ciDlifPvz8o1zy4xPnjX f1mlKCKkcev6UqiYbR6hd7sj5tDovh+W0drX8F7Kp/sJ6Q==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-vs1-f53.google.com) smtp.remote-ip=209.85.217.53; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1668539969; bh=iQuolQ8Wbf5tCxalxxv/YlN8+3dqnd5c5zDgQAdOBac=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=kZJ5u++CcB821fgMMzYv7nmSBinkQ00w6vXukIlK8wa+UTdtiXv/9+gtEup3xlDrBLAMNEwsSQ laVzHcbYXtZPrgDt290nc0b/tU2U1VfqXfPbXVsSKVv6Wwdj24F6yblcTOqULJkzKokeQWNrhu nSk015ddnNwY95nowSvFcPsLrDQn8BgRD1ecezzobEiIIBNzZinCsvTtqc218N4OQGD92iAhQj I259EfHigyJlaooGZcR5v7QXkNBEV6dENgFgxMDASHaHYfhqwA02trO5TbrwGw0vuGrcS2Y766 RtLddXdp9BoQF0f+sEcJKfUy3Lk9MoXL38sIPU6JH5CbeA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=iQuolQ8Wbf5tCxalxxv/YlN8+3dqnd5c5zDgQAdOBac=; b=gEEAX8dMTMF83YvoM1baR7g8SQ 2joMM/pL6hzo6CE38ghrH1QL/vZix2xrDGRUMOVFuVSZnTPOXoGFojZe9Sn+N7628nU7Dyaqd/dKC mgv0lfMUPsqLzo5DkBuZC72WfHC+kkf00WQ6Vj5Xrll7VtzBvvNU8BAxm5Y3yVk0g1vW9a1B94hmc BoNBy2gLPK5GOO3sMwVXnze1zF2eiovHXX53rI1pmNe1AzzDHKj2e30+AXx3ZBUSOc87TvyAJi4Cu 4abNneUymxXn4W+Io3J4PfS400kcMZbmHSj2GN6zQvtwcsJodF2id8g+3pNt3mCNYKRVtO3oerF2Z 8YWbOFlQ==; Received: by zero.zsh.org with local id 1ov1Sx-0000TU-JA; Tue, 15 Nov 2022 19:19:27 +0000 Authentication-Results: zsh.org; iprev=pass (mail-vs1-f53.google.com) smtp.remote-ip=209.85.217.53; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-vs1-f53.google.com ([209.85.217.53]:43693) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1ov1Se-000092-8R; Tue, 15 Nov 2022 19:19:08 +0000 Received: by mail-vs1-f53.google.com with SMTP id l190so15648039vsc.10 for ; Tue, 15 Nov 2022 11:19:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=iQuolQ8Wbf5tCxalxxv/YlN8+3dqnd5c5zDgQAdOBac=; b=fIctLJd5c07XlPhyVKrJvqk4SSO7SFtVwdzuN10pqDmE9MiXU+UbS56OPVYwX8ly0n n96sv47oiXsR7yrUsv3hR71Pkn/aMWZvTOcNtmJDI0m18pbM4Z53IhFg8RfbRq352cIh D1HU9e7XoaPRi21Bmr9BrsNWzqfKUpWSAubi7gQeHBFMREIEM/N9XSZ3SXyPHMydxcxu uJD3SbNnqL8t4ebxiLimQYBOvjwgDwncoTH+a5OUrs9UZxNvYezoPeJUkf3ghubsTv0e Uk/M7zJ4dCNkbfVen3JB6Pm/sNos7j2AcCkEThSwBe4USSIAZR4T7hD+jkh0wRMfHLmb DUXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=iQuolQ8Wbf5tCxalxxv/YlN8+3dqnd5c5zDgQAdOBac=; b=FBcMjnd6s7T5bSBt3+34qqMzK9ubFI+BvIZmiXn0G64dlGOUmbOHHWXne976DEcnV3 wHJf0UAB5enXtZhaMmELCgA6JORth9jQ5WQt0ak3ypNaXwONdMShMtUHqeVO4yn48XZ5 4w476MXwDQt9yMBl3Hv7VJLg4bxMQ53C420Xr+bILmd223LViPZZsMq1l+G9oRU6i3NX LetRyQ7GCxrnTG6iW7t6Xn7CtRbc9RKCpWJ9VIkq+isfg4KO8OaSjxmrB5lTzzeYQuGC FHX3Z8EWfCJbt5+Gg7BtXs/x0WQ5QPBdbjpsAh5uKc4ltRwd8SK7p77j7PuChwc3gRQH a1HA== X-Gm-Message-State: ANoB5plYGL2EoqtKJ/VutKoH/DffOK4naNRMZW9TZdZ9qyWQqKqOn6mQ jc7Txe/VhFEJZWWSDYO5WKO28iquMm0gzBy6dPgQ9SrXnI8= X-Google-Smtp-Source: AA0mqf5L0bjN3xvb+RYOKFO+LxGRCcL8M0li1aRWw7M9jDDusTwoYOJPvqal+kq7Il4LWdS/5DOBAOVcadaUdMCMIg4= X-Received: by 2002:a05:6102:e0b:b0:3af:2ddf:32a1 with SMTP id o11-20020a0561020e0b00b003af2ddf32a1mr8051044vst.81.1668539946815; Tue, 15 Nov 2022 11:19:06 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Philippe Altherr Date: Tue, 15 Nov 2022 20:18:55 +0100 Message-ID: Subject: Re: [PATCH] More ERR_EXIT (was Re: Tests RE behavior of ERR_EXIT) To: Bart Schaefer Cc: zsh-workers@zsh.org Content-Type: multipart/mixed; boundary="000000000000d336b605ed873a3f" X-Seq: 50972 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: --000000000000d336b605ed873a3f Content-Type: multipart/alternative; boundary="000000000000d336b405ed873a3d" --000000000000d336b405ed873a3d Content-Type: text/plain; charset="UTF-8" Here is a patch with which all tests pass (the Zsh ones, including the new ones that the patch adds, and my tests mentioned in this thread). The patch does the following: - Revert change: 50929: fix handling of ERR_RETURN bent by 50928. - Revert change: 50928: fix tests for 50897, mention behavior change in NEWS - Revert change: 50897: nonzero status of complex commands should trigger ERR_EXIT - Add saving and restoring of local_noerrexit in doshfunc in exec.c - Add "this_noerrexit = 1;" at the very end of exectry in loop.c - Fix test "ERR_RETURN in "else" branch in nested function" in C03traps.ztst, to not affect tests coming afterwards - Add new tests in C03traps.ztst I'm not sure what to do in Changelog. Should I revert your changes or instead leave them and comment that the patch reverts them? Also, I have no clue how you obtain the change numbers (like 50929 and 50928). Philippe --000000000000d336b405ed873a3d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Here is a patch with which all tests pass= (the Zsh ones, including the new ones that the patch adds, and my tests me= ntioned in this thread). The patch=C2=A0does the following:

<= div>- Revert change:=C2=A050929: fix handling of ERR_RETUR= N bent by 50928.
- Add saving and restoring of local_n= oerrexit in doshfunc=C2=A0in exec.c
- Add=C2=A0"this_noerrex= it =3D 1;" at the very end of exectry in loop.c
- Fix test &= quot;ERR_RETURN in "else" branch in nested function"=C2=A0in= =C2=A0C03traps.ztst, to not affect tests coming afterwards
- Add = new tests in=C2=A0C03traps.ztst

I'm not sure w= hat to do in Changelog. Should I revert your changes or instead leave them = and comment that the patch reverts them? Also, I have no clue how you obtai= n the change numbers (like=C2=A050929 and 50928).=C2=A0

Philippe

--000000000000d336b405ed873a3d-- --000000000000d336b605ed873a3f Content-Type: application/octet-stream; name="fix-err-exit.patch" Content-Disposition: attachment; filename="fix-err-exit.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lailkduy0 ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA2NDc4ZjU0ODAuLmUxMmIw MzMzMCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwxOSArMSw5 IEBACiAyMDIyLTExLTA5ICBCYXJ0IFNjaGFlZmVyICA8c2NoYWVmZXJAenNoLm9yZz4KIAotCSog NTA5Mjk6IFNyYy9leGVjLmM6IGZpeCBoYW5kbGluZyBvZiBFUlJfUkVUVVJOIGJlbnQgYnkgNTA5 MjguCi0KLQkqIDUwOTI4OiBOZXdzLCBTcmMvZXhlYy5jLCBUZXN0L0MwM3RyYXBzLnp0c3Q6IGZp eCB0ZXN0cyBmb3IgNTA4OTcsCi0JbWVudGlvbiBiZWhhdmlvciBjaGFuZ2UgaW4gTkVXUwotCiAJ KiA1MDkyMjogU3JjL2V4ZWMuYywgU3JjL2pvYnMuYzogZml4IGFkZGl0aW9uYWwgY2FzZXMgb2Yg c2lnbmFscwogCWZvciBjdXJyZW50IHNoZWxsIGpvYnMgb24gdGhlIHJpZ2h0IG9mIGEgcGlwZWxp bmUuICBCYWNrcyBvdXQKIAlwYXJ0IG9mIDUwODc0LgogCi0yMDIyLTExLTA4ICBCYXJ0IFNjaGFl ZmVyICA8c2NoYWVmZXJAenNoLm9yZz4KLQotCSogNTA4OTc6IFNyYy9leGVjLmMsIFNyYy9sb29w LmM6IG5vbnplcm8gc3RhdHVzIG9mIGNvbXBsZXgKLQljb21tYW5kcyBzaG91bGQgdHJpZ2dlciBF UlJfRVhJVAotCiAyMDIyLTExLTA4ICBQZXRlciBTdGVwaGVuc29uICA8cC5zdGVwaGVuc29uQHNh bXN1bmcuY29tPgogCiAJKiB1c2Vycy8yODMzODogU3JjL2xleC5jLCBUZXN0L0QwOGNtZHN1YnN0 Lnp0c3Q6IGVkZ2UgY2FzZSBvZiBhbgpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggOWMy ODE2OWJiLi5jZGFmZDFmZjUgMTAwNjQ0Ci0tLSBhL05FV1MKKysrIGIvTkVXUwpAQCAtNCwxNSAr NCw2IEBAIENIQU5HRVMgRlJPTSBQUkVWSU9VUyBWRVJTSU9OUyBPRiBaU0gKIAogTm90ZSBhbHNv IHRoZSBsaXN0IG9mIGluY29tcGF0aWJpbGl0aWVzIGluIHRoZSBSRUFETUUgZmlsZS4KIAotQ2hh bmdlcyBzaW5jZSA1LjkKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUhhbmRsaW5nIG9mIEVSUl9FWElU IGlzIGNvcnJlY3RlZCB3aGVuIHRoZSBmaW5hbCBzdGF0dXMgb2YgYSBzdHJ1Y3R1cmVkCi1jb21t YW5kIChmb3IsIHNlbGVjdCwgd2hpbGUsIHJlcGVhdCwgaWYsIGNhc2UsIG9yIGEgbGlzdCBpbiBi cmFjZXMpIGlzCi1ub256ZXJvLiAgVG8gYmUgY29tcGF0aWJsZSB3aXRoIG90aGVyIHNoZWxscywg InpzaCAtZSIgbm93IGV4aXRzIGluCi10aG9zZSBjaXJjdW1zdGFuY2VzLCB3aGVyZWFzIHByZXZp b3VzIHZlcnNpb25zIGRpZCBub3QuICBUaGlzIGRvZXMgbm90Ci1hZmZlY3QgdGhlIGhhbmRsaW5n IG9mIG5vbnplcm8gc3RhdHVzIHdpdGhpbiBjb25kaXRpb25hbCBzdGF0ZW1lbnRzLgotCiBDaGFu Z2VzIHNpbmNlIDUuOC4xCiAtLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NyYy9l eGVjLmMgYi9TcmMvZXhlYy5jCmluZGV4IGNlMGMxZjFhZC4uYjkwNjFlM2E0IDEwMDY0NAotLS0g YS9TcmMvZXhlYy5jCisrKyBiL1NyYy9leGVjLmMKQEAgLTQ5LDcgKzQ5LDggQEAgc3RydWN0IGZ1 bmNzYXZlIHsKICAgICBpbnQgem9wdGluZCwgbGFzdHZhbCwgb3B0Y2luZCwgbnVtcGlwZXN0YXRz OwogICAgIGludCAqcGlwZXN0YXRzOwogICAgIGNoYXIgKnNjcmlwdG5hbWU7Ci0gICAgaW50IGJy ZWFrcywgY29udGZsYWcsIGxvb3BzLCBlbXVsYXRpb24sIG5vZXJyZXhpdCwgb2ZsYWdzLCByZXN0 b3JlX3N0aWNreTsKKyAgICBpbnQgYnJlYWtzLCBjb250ZmxhZywgbG9vcHMsIGVtdWxhdGlvbiwg bm9lcnJleGl0LCB0aGlzX25vZXJyZXhpdCwgb2ZsYWdzOworICAgIGludCByZXN0b3JlX3N0aWNr eTsKICAgICBFbXVsYXRpb25fb3B0aW9ucyBzdGlja3k7CiAgICAgc3RydWN0IGZ1bmNzdGFjayBm c3RhY2s7CiB9OwpAQCAtNDUxLDcgKzQ1Miw3IEBAIGV4ZWNjdXJzaChFc3RhdGUgc3RhdGUsIGlu dCBkb19leGVjKQogICAgIGNtZHBvcCgpOwogCiAgICAgc3RhdGUtPnBjID0gZW5kOwotICAgIHRo aXNfbm9lcnJleGl0ID0gKFdDX1NVQkxJU1RfVFlQRSgqZW5kKSAhPSBXQ19TVUJMSVNUX0VORCk7 CisgICAgdGhpc19ub2VycmV4aXQgPSAxOwogCiAgICAgcmV0dXJuIGxhc3R2YWw7CiB9CkBAIC0x NDQyLDggKzE0NDMsNiBAQCBleGVjbGlzdChFc3RhdGUgc3RhdGUsIGludCBkb250X2NoYW5nZV9q b2IsIGludCBleGl0aW5nKQogCQkgICAgZXhlY3NpbXBsZShzdGF0ZSk7CiAJCWVsc2UKIAkJICAg IGV4ZWNwbGluZShzdGF0ZSwgY29kZSwgbHR5cGUsIChsdHlwZSAmIFpfRU5EKSAmJiBleGl0aW5n KTsKLQkJaWYgKCFsb2NhbGxldmVsIHx8IHVuc2V0KEVSUlJFVFVSTikpCi0JCSAgICB0aGlzX25v ZXJyZXhpdCA9IG5vZXJyZXhpdDsKIAkJc3RhdGUtPnBjID0gbmV4dDsKIAkJZ290byBzdWJsaXN0 X2RvbmU7CiAJCWJyZWFrOwpAQCAtNTc2Myw2ICs1NzYyLDcgQEAgZG9zaGZ1bmMoU2hmdW5jIHNo ZnVuYywgTGlua0xpc3QgZG9zaGFyZ3MsIGludCBub3JldHVybnZhbCkKIAlmdW5jc2F2ZS0+cGlw ZXN0YXRzID0gTlVMTDsKIAlmdW5jc2F2ZS0+bnVtcGlwZXN0YXRzID0gbnVtcGlwZXN0YXRzOwog CWZ1bmNzYXZlLT5ub2VycmV4aXQgPSBub2VycmV4aXQ7CisJZnVuY3NhdmUtPnRoaXNfbm9lcnJl eGl0ID0gdGhpc19ub2VycmV4aXQ7CiAJaWYgKHRyYXBfc3RhdGUgPT0gVFJBUF9TVEFURV9QUklN RUQpCiAJICAgIHRyYXBfcmV0dXJuLS07CiAJLyoKQEAgLTYwMDksNiArNjAwOSw3IEBAIGRvc2hm dW5jKFNoZnVuYyBzaGZ1bmMsIExpbmtMaXN0IGRvc2hhcmdzLCBpbnQgbm9yZXR1cm52YWwpCiAJ ICAgIHRyYXBfcmV0dXJuKys7CiAJcmV0ID0gbGFzdHZhbDsKIAlub2VycmV4aXQgPSBmdW5jc2F2 ZS0+bm9lcnJleGl0OworCXRoaXNfbm9lcnJleGl0ID0gZnVuY3NhdmUtPnRoaXNfbm9lcnJleGl0 OwogCWlmIChub3JldHVybnZhbCkgewogCSAgICBsYXN0dmFsID0gZnVuY3NhdmUtPmxhc3R2YWw7 CiAJICAgIG51bXBpcGVzdGF0cyA9IGZ1bmNzYXZlLT5udW1waXBlc3RhdHM7CmRpZmYgLS1naXQg YS9TcmMvbG9vcC5jIGIvU3JjL2xvb3AuYwppbmRleCBiZTUyNjEzNjkuLjdjM2UwNGI4YSAxMDA2 NDQKLS0tIGEvU3JjL2xvb3AuYworKysgYi9TcmMvbG9vcC5jCkBAIC0yMDgsNyArMjA4LDcgQEAg ZXhlY2ZvcihFc3RhdGUgc3RhdGUsIGludCBkb19leGVjKQogICAgIGxvb3BzLS07CiAgICAgc2lt cGxlX3BsaW5lID0gb2xkX3NpbXBsZV9wbGluZTsKICAgICBzdGF0ZS0+cGMgPSBlbmQ7Ci0gICAg dGhpc19ub2VycmV4aXQgPSAoV0NfU1VCTElTVF9UWVBFKCplbmQpICE9IFdDX1NVQkxJU1RfRU5E KTsKKyAgICB0aGlzX25vZXJyZXhpdCA9IDE7CiAgICAgcmV0dXJuIGxhc3R2YWw7CiB9CiAKQEAg LTMzNiw3ICszMzYsNyBAQCBleGVjc2VsZWN0KEVzdGF0ZSBzdGF0ZSwgVU5VU0VEKGludCBkb19l eGVjKSkKICAgICBsb29wcy0tOwogICAgIHNpbXBsZV9wbGluZSA9IG9sZF9zaW1wbGVfcGxpbmU7 CiAgICAgc3RhdGUtPnBjID0gZW5kOwotICAgIHRoaXNfbm9lcnJleGl0ID0gKFdDX1NVQkxJU1Rf VFlQRSgqZW5kKSAhPSBXQ19TVUJMSVNUX0VORCk7CisgICAgdGhpc19ub2VycmV4aXQgPSAxOwog ICAgIHJldHVybiBsYXN0dmFsOwogfQogCkBAIC00NzgsNyArNDc4LDcgQEAgZXhlY3doaWxlKEVz dGF0ZSBzdGF0ZSwgVU5VU0VEKGludCBkb19leGVjKSkKICAgICBwb3BoZWFwKCk7CiAgICAgbG9v cHMtLTsKICAgICBzdGF0ZS0+cGMgPSBlbmQ7Ci0gICAgdGhpc19ub2VycmV4aXQgPSAoV0NfU1VC TElTVF9UWVBFKCplbmQpICE9IFdDX1NVQkxJU1RfRU5EKTsKKyAgICB0aGlzX25vZXJyZXhpdCA9 IDE7CiAgICAgcmV0dXJuIGxhc3R2YWw7CiB9CiAKQEAgLTUzMiw3ICs1MzIsNyBAQCBleGVjcmVw ZWF0KEVzdGF0ZSBzdGF0ZSwgVU5VU0VEKGludCBkb19leGVjKSkKICAgICBsb29wcy0tOwogICAg IHNpbXBsZV9wbGluZSA9IG9sZF9zaW1wbGVfcGxpbmU7CiAgICAgc3RhdGUtPnBjID0gZW5kOwot ICAgIHRoaXNfbm9lcnJleGl0ID0gKFdDX1NVQkxJU1RfVFlQRSgqZW5kKSAhPSBXQ19TVUJMSVNU X0VORCk7CisgICAgdGhpc19ub2VycmV4aXQgPSAxOwogICAgIHJldHVybiBsYXN0dmFsOwogfQog CkBAIC01ODcsNyArNTg3LDcgQEAgZXhlY2lmKEVzdGF0ZSBzdGF0ZSwgaW50IGRvX2V4ZWMpCiAJ ICAgIGxhc3R2YWwgPSAwOwogICAgIH0KICAgICBzdGF0ZS0+cGMgPSBlbmQ7Ci0gICAgdGhpc19u b2VycmV4aXQgPSAoV0NfU1VCTElTVF9UWVBFKCplbmQpICE9IFdDX1NVQkxJU1RfRU5EKTsKKyAg ICB0aGlzX25vZXJyZXhpdCA9IDE7CiAKICAgICByZXR1cm4gbGFzdHZhbDsKIH0KQEAgLTcwMSw3 ICs3MDEsNyBAQCBleGVjY2FzZShFc3RhdGUgc3RhdGUsIGludCBkb19leGVjKQogCiAgICAgaWYg KCFhbnlwYXRvaykKIAlsYXN0dmFsID0gMDsKLSAgICB0aGlzX25vZXJyZXhpdCA9IChXQ19TVUJM SVNUX1RZUEUoKmVuZCkgIT0gV0NfU1VCTElTVF9FTkQpOworICAgIHRoaXNfbm9lcnJleGl0ID0g MTsKIAogICAgIHJldHVybiBsYXN0dmFsOwogfQpAQCAtNzkzLDYgKzc5Myw3IEBAIGV4ZWN0cnko RXN0YXRlIHN0YXRlLCBpbnQgZG9fZXhlYykKICAgICBjbWRwb3AoKTsKICAgICBwb3BoZWFwKCk7 CiAgICAgc3RhdGUtPnBjID0gZW5kOworICAgIHRoaXNfbm9lcnJleGl0ID0gMTsKIAogICAgIHJl dHVybiBlbmR2YWw7CiB9CmRpZmYgLS1naXQgYS9UZXN0L0MwM3RyYXBzLnp0c3QgYi9UZXN0L0Mw M3RyYXBzLnp0c3QKaW5kZXggNWNjNDVlMmRlLi42NmQzZjA5OGEgMTAwNjQ0Ci0tLSBhL1Rlc3Qv QzAzdHJhcHMuenRzdAorKysgYi9UZXN0L0MwM3RyYXBzLnp0c3QKQEAgLTcxMywyOSArNzEzLDQ4 IEBAIEY6TXVzdCBiZSB0ZXN0ZWQgd2l0aCBhIHRvcC1sZXZlbCBzY3JpcHQgcmF0aGVyIHRoYW4g c291cmNlIG9yIGZ1bmN0aW9uCiAgICAgZmkKICAgfQogICBmbigpIHsKLSAgICBzZXRvcHQgbG9j YWxvcHRpb25zIGVycl9yZXR1cm4KKyAgICBzZXRvcHQgZXJyX3JldHVybgogICAgIGZuMiB8fCB0 cnVlCiAgIH0KLSAgZm4KKyAgKGZuKQogMDpFUlJfUkVUVVJOIGluICJlbHNlIiBicmFuY2ggaW4g bmVzdGVkIGZ1bmN0aW9uCiA+R29vZAogCiAgIChzZXRvcHQgZXJyX2V4aXQKLSAgZm9yIHggaW4g eTsgZG8KKyAgZmFsc2UgJiYgdHJ1ZQorICBwcmludCBPSworICApCiswOkVSUl9FWElUIG5vdCB0 cmlnZ2VyZWQgYnkgImZhbHNlICYmIHRydWUiCis+T0sKKworICAoc2V0b3B0IGVycl9leGl0Cisg IGZuKCkgewogICAgIGZhbHNlICYmIHRydWUKLSAgZG9uZQorICB9CisgIGZuCiAgIHByaW50IE9L CiAgICkKLTE6RVJSX0VYSVQgdHJpZ2dlcmVkIGJ5IHN0YXR1cyAxIGF0IGVuZCBvZiBmb3IKKzE6 RVJSX0VYSVQgbm90IHRyaWdnZXJlZCBieSAiZmFsc2UgJiYgdHJ1ZSIgYnV0IGJ5IHJldHVybiBm cm9tIGZuCiAKICAgKHNldG9wdCBlcnJfZXhpdAotICBpbnRlZ2VyIHg9MAotICB3aGlsZSAoKCAh IHgrKyApKTsgZG8KKyAgZm9yIHggaW4geTsgZG8KICAgICBmYWxzZSAmJiB0cnVlCiAgIGRvbmUK ICAgcHJpbnQgT0sKICAgKQotMTpFUlJfRVhJVCB0cmlnZ2VyZWQgYnkgc3RhdHVzIDEgYXQgZW5k IG9mIHdoaWxlCiswOkVSUl9FWElUIG5vdCB0cmlnZ2VyZWQgYnkgc3RhdHVzIDEgYXQgZW5kIG9m IGZvcgorPk9LCisKKyAgKHNldG9wdCBlcnJfZXhpdAorICBmbigpIHsKKyAgICBmb3IgeCBpbiB5 OyBkbworICAgICAgZmFsc2UgJiYgdHJ1ZQorICAgIGRvbmUKKyAgfQorICBmbgorICBwcmludCBP SworICApCisxOkVSUl9FWElUIG5vdCB0cmlnZ2VyZWQgYnkgc3RhdHVzIDEgYXQgZW5kIG9mIGZv ciBidXQgYnkgcmV0dXJuIGZyb20gZm4KIAogICAoc2V0b3B0IGVycl9leGl0CiAgIHJlcGVhdCAx OyBkbwpAQCAtNzQzLDcgKzc2MiwxOSBAQCBGOk11c3QgYmUgdGVzdGVkIHdpdGggYSB0b3AtbGV2 ZWwgc2NyaXB0IHJhdGhlciB0aGFuIHNvdXJjZSBvciBmdW5jdGlvbgogICBkb25lCiAgIHByaW50 IE9LCiAgICkKLTE6RVJSX0VYSVQgdHJpZ2dlcmVkIGJ5IHN0YXR1cyAxIGF0IGVuZCBvZiByZXBl YXQKKzA6RVJSX0VYSVQgbm90IHRyaWdnZXJlZCBieSBzdGF0dXMgMSBhdCBlbmQgb2YgcmVwZWF0 Cis+T0sKKworICAoc2V0b3B0IGVycl9leGl0CisgIGZuKCkgeworICAgIHJlcGVhdCAxOyBkbwor ICAgICAgZmFsc2UgJiYgdHJ1ZQorICAgIGRvbmUKKyAgfQorICBmbgorICBwcmludCBPSworICAp CisxOkVSUl9FWElUIG5vdCB0cmlnZ2VyZWQgYnkgc3RhdHVzIDEgYXQgZW5kIG9mIHJlcGVhdCBi dXQgYnkgcmV0dXJuIGZyb20gZm4KIAogICAoc2V0b3B0IGVycl9leGl0CiAgIGlmIHRydWU7IHRo ZW4KQEAgLTc1MSwxNSArNzgyLDkzIEBAIEY6TXVzdCBiZSB0ZXN0ZWQgd2l0aCBhIHRvcC1sZXZl bCBzY3JpcHQgcmF0aGVyIHRoYW4gc291cmNlIG9yIGZ1bmN0aW9uCiAgIGZpCiAgIHByaW50IE9L CiAgICkKLTE6RVJSX0VYSVQgdHJpZ2dlcmVkIGJ5IHN0YXR1cyAxIGF0IGVuZCBvZiBpZgorMDpF UlJfRVhJVCBub3QgdHJpZ2dlcmVkIGJ5IHN0YXR1cyAxIGF0IGVuZCBvZiBpZgorPk9LCisKKyAg KHNldG9wdCBlcnJfZXhpdAorICBmbigpIHsKKyAgICBpZiB0cnVlOyB0aGVuCisgICAgICBmYWxz ZSAmJiB0cnVlCisgICAgZmkKKyAgfQorICBmbgorICBwcmludCBPSworICApCisxOkVSUl9FWElU IG5vdCB0cmlnZ2VyZWQgYnkgc3RhdHVzIDEgYXQgZW5kIG9mIGlmIGJ1dCBieSByZXR1cm4gZnJv bSBmbgorCisgIChzZXRvcHQgZXJyX2V4aXQKKyAgbG9vcD10cnVlCisgIHdoaWxlIHByaW50IENP TkQ7ICRsb29wOyBkbworICAgIGxvb3A9ZmFsc2UKKyAgICBmYWxzZSAmJiB0cnVlCisgIGRvbmUK KyAgcHJpbnQgT0sKKyAgKQorMDpFUlJfRVhJVCBub3QgdHJpZ2dlcmVkIGJ5IHN0YXR1cyAxIGF0 IGVuZCBvZiB3aGlsZQorPkNPTkQKKz5DT05ECis+T0sKKworICAoc2V0b3B0IGVycl9leGl0Cisg IGZuKCkgeworICAgIGxvb3A9dHJ1ZQorICAgIHdoaWxlIHByaW50IENPTkQ7ICRsb29wOyBkbwor ICAgICAgbG9vcD1mYWxzZQorICAgICAgZmFsc2UgJiYgdHJ1ZQorICAgIGRvbmUKKyAgfQorICBm bgorICBwcmludCBPSworICApCisxOkVSUl9FWElUIG5vdCB0cmlnZ2VyZWQgYnkgc3RhdHVzIDEg YXQgZW5kIG9mIHdoaWxlIGJ1dCBieSByZXR1cm4gZnJvbSBmbgorPkNPTkQKKz5DT05ECiAKICAg KHNldG9wdCBlcnJfZXhpdAogICB7CiAgICAgZmFsc2UgJiYgdHJ1ZQorICB9IGFsd2F5cyB7Cisg ICAgcHJpbnQgQUxXQVlTCiAgIH0KICAgcHJpbnQgT0sKICAgKQotMTpFUlJfRVhJVCB0cmlnZ2Vy ZWQgYnkgc3RhdHVzIDEgYXQgZW5kIG9mIHsgfQorMDpFUlJfRVhJVCBub3QgdHJpZ2dlcmVkIGJ5 IHN0YXR1cyAxIGF0IGVuZCBvZiBhbHdheXMKKz5BTFdBWVMKKz5PSworCisgIChzZXRvcHQgZXJy X2V4aXQKKyAgZm4oKSB7CisgICAgeworICAgICAgZmFsc2UgJiYgdHJ1ZQorICAgIH0gYWx3YXlz IHsKKyAgICAgIHByaW50IEFMV0FZUworICAgIH0KKyAgfQorICBmbgorICBwcmludCBPSworICAp CisxOkVSUl9FWElUIG5vdCB0cmlnZ2VyZWQgYnkgc3RhdHVzIDEgYXQgZW5kIG9mIGFsd2F5cyBi dXQgYnkgcmV0dXJuIGZyb20gZm4KKz5BTFdBWVMKKworICAoc2V0b3B0IGVycl9leGl0CisgIHsK KyAgICBmYWxzZSAmJiB0cnVlCisgIH0KKyAgcHJpbnQgT0sKKyAgKQorMDpFUlJfRVhJVCBub3Qg dHJpZ2dlcmVkIGJ5IHN0YXR1cyAxIGF0IGVuZCBvZiB7IH0KKz5PSworCisgIChzZXRvcHQgZXJy X2V4aXQKKyAgZm4oKSB7CisgICAgeworICAgICAgZmFsc2UgJiYgdHJ1ZQorICAgIH0KKyAgfQor ICBmbgorICBwcmludCBPSworICApCisxOkVSUl9FWElUIG5vdCB0cmlnZ2VyZWQgYnkgc3RhdHVz IDEgYXQgZW5kIG9mIHsgfSBidXQgYnkgcmV0dXJuIGZyb20gZm4KIAogICB1bnNldG9wdCBlcnJf ZXhpdCBlcnJfcmV0dXJuCiAgIChzZXRvcHQgZXJyX2V4aXQK --000000000000d336b605ed873a3f--