Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jskAi-0005Qf-6p for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Jul 2020 09:45:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jskAh-0000pt-5W for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Jul 2020 09:45:51 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jskAg-0000pm-Lv for pgsql-hackers@lists.postgresql.org; Tue, 07 Jul 2020 09:45:50 +0000 Received: from wforward5-smtp.messagingengine.com ([64.147.123.35]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jskAd-0000vX-3w for pgsql-hackers@postgresql.org; Tue, 07 Jul 2020 09:45:49 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailforward.west.internal (Postfix) with ESMTP id 245DF874; Tue, 7 Jul 2020 05:45:45 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Tue, 07 Jul 2020 05:45:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=vJ6QTE ZZp6vQJ0TnR2OM484tIkSL+uTsToMFs20/WMI=; b=gqJ+5AIE5ejtdrbQNoZUiv +YYfQTK8WnDI6oTnpZLU3/gMATV1jh6yqeHB9LUttHt2LfFitDqwrG4ojq3Z2DwY lrB+Qct1aGFAIfWenB3uRtYEOwSHraZeQACx2AaxyOFA8EIbG84YLPXHXH7t417G xT7h++/p8hAaCOMLdwvo/1gARVgPWoGl3uWdFILnh5cVPuLCo58xPbKHdjY2vp1m 85AQPWtplCrGXWAMP60Bt26YI6aRyL9gXusE3M6egAh+Zq0z3mRK3S2wKfFRypBJ os+idKksSXc2oepNmkH0wcN5T/MjVeJu98kee2neYAn9maZjMvdIijN6/FmR92KQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrudehgddufecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefuvfhfhfhokffffgggjggtsehmtderredtfeejnecuhfhrohhmpefrvghtvghr ucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgvihhsvghnthhrrghuthesvdhnughquh grughrrghnthdrtghomheqnecuggftrfgrthhtvghrnhepudfgueevieeluefggeeludfg hfeuhffhjeehfefgledufedtieevudfggeevgfejnecuffhomhgrihhnpedvnhguqhhurg gurhgrnhhtrdgtohhmnecukfhppeelfedrvdegfedrudeluddrvdefkeenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrrdgvihhsvg hnthhrrghuthesvdhnughquhgrughrrghnthdrtghomh X-ME-Proxy: Received: from april.pezone.net (p5df3bfee.dip0.t-ipconnect.de [93.243.191.238]) by mail.messagingengine.com (Postfix) with ESMTPA id 67BA43060067; Tue, 7 Jul 2020 05:45:43 -0400 (EDT) Subject: Re: warnings for invalid function casts To: Tom Lane References: <1e97628e-6447-b4fd-e230-d109cec2d584@2ndquadrant.com> <474790.1593526505@sss.pgh.pa.us> <20200630192135.nwlza2u57dy3qej4@alap3.anarazel.de> <496552.1593545900@sss.pgh.pa.us> <931660.1593787200@sss.pgh.pa.us> <1183184.1593872167@sss.pgh.pa.us> Cc: Andres Freund , pgsql-hackers From: Peter Eisentraut Organization: 2ndQuadrant Message-ID: <2410175f-255d-ab5c-e95e-2dfc1bad3f97@2ndquadrant.com> Date: Tue, 7 Jul 2020 11:45:41 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <1183184.1593872167@sss.pgh.pa.us> Content-Type: multipart/mixed; boundary="------------A365D09AB91123D42D28375B" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------A365D09AB91123D42D28375B Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2020-07-04 16:16, Tom Lane wrote: > Peter Eisentraut writes: >> Do people prefer a typedef or just writing it out, like it's done in the >> Python code? > > I'm for a typedef. There is *nothing* readable about "(void (*) (void))", > and the fact that it's theoretically incorrect for the purpose doesn't > exactly aid intelligibility either. With a typedef, not only are > the uses more readable but there's a place to put a comment explaining > that this is notionally wrong but it's what gcc specifies to use > to suppress thus-and-such warnings. Makes sense. New patch here. >> But if we prefer a typedef then I'd propose >> GenericFuncPtr like in the initial patch. > > That name is OK by me. I changed that to pg_funcptr_t, to look a bit more like C and less like Java. ;-) -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------A365D09AB91123D42D28375B Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="v3-0001-Fix-Wcast-function-type-warnings.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v3-0001-Fix-Wcast-function-type-warnings.patch" RnJvbSA5NjE0OWVhZDBhZjc0OTU5MmQzZjJlYjg3OTI5NTMzY2ViNDE2ZDc2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCA3IEp1bCAyMDIwIDExOjQxOjA5ICswMjAwClN1YmplY3Q6 IFtQQVRDSCB2M10gRml4IC1XY2FzdC1mdW5jdGlvbi10eXBlIHdhcm5pbmdzCgpUaHJlZSBn cm91cHMgb2YgaXNzdWVzIG5lZWRlZCB0byBiZSBhZGRyZXNzZWQ6Cgpsb2FkX2V4dGVybmFs X2Z1bmN0aW9uKCkgYW5kIHJlbGF0ZWQgZnVuY3Rpb25zIHJldHVybmVkIFBHRnVuY3Rpb24s CmV2ZW4gdGhvdWdoIG5vdCBuZWNlc3NhcmlseSBhbGwgY2FsbGVycyBhcmUgbG9va2luZyBm b3IgYSBmdW5jdGlvbiBvZgp0eXBlIFBHRnVuY3Rpb24uICBTaW5jZSB0aGVzZSBmdW5jdGlv bnMgYXJlIHJlYWxseSBqdXN0IHdyYXBwZXJzCmFyb3VuZCBkbHN5bSgpLCBjaGFuZ2UgdG8g cmV0dXJuIHZvaWQgKiBqdXN0IGxpa2UgZGxzeW0oKS4KCkluIGR5bmFoYXNoLmMsIHdlIGFy ZSB1c2luZyBzdHJsY3B5KCkgd2VyZSBhIGZ1bmN0aW9uIHdpdGggYSBzaWduYXR1cmUKbGlr ZSBtZW1jcHkoKSBpcyBleHBlY3RlZC4gIFRoaXMgc2hvdWxkIGJlIHNhZmUsIGFzIHRoZSBu ZXcgY29tbWVudAp0aGVyZSBleHBsYWlucywgYnV0IHRoZSBjYXN0IG5lZWRzIHRvIGJlIGF1 Z21lbnRlZCB0byBhdm9pZCB0aGUKd2FybmluZy4KCkluIFBML1B5dGhvbiwgbWV0aG9kcyBh bGwgbmVlZCB0byBiZSBjYXN0IHRvIFB5Q0Z1bmN0aW9uLCBwZXIgUHl0aG9uCkFQSSwgYnV0 IHRoaXMgbm93IHJ1bnMgYWZvdWwgb2YgdGhlc2Ugd2FybmluZ3MuICAoVGhpcyBpc3N1ZSBh bHNvCmV4aXN0cyBpbiBjb3JlIENQeXRob24uKQoKVG8gZml4IHRoZSBzZWNvbmQgYW5kIHRo aXJkIGNhc2UsIHdlIGFkZCBhIG5ldyB0eXBlIHBnX2Z1bmNwdHJfdCB0aGF0CmlzIGRlZmlu ZWQgc3BlY2lmaWNhbGx5IHNvIHRoYXQgZ2NjIGFjY2VwdHMgaXQgYXMgYSBnZW5lcmljIGZ1 bmN0aW9uCnBvaW50ZXIgdGhhdCBjYW4gYmUgY2FzdCB0byBhbnkgb3RoZXIgZnVuY3Rpb24g cG9pbnRlci4KCkFsc28gYWRkIC1XY2FzdC1mdW5jdGlvbi10eXBlIHRvIHRoZSBzdGFuZGFy ZCB3YXJuaW5nIGZsYWdzLCBzdWJqZWN0CnRvIGNvbmZpZ3VyZSBjaGVjay4KCkRpc2N1c3Np b246IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvZmxhdC8xZTk3NjI4 ZS02NDQ3LWI0ZmQtZTIzMC1kMTA5Y2VjMmQ1ODQlNDAybmRxdWFkcmFudC5jb20KLS0tCiBj b25maWd1cmUgICAgICAgICAgICAgICAgICAgICAgICAgfCA5MSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiBjb25maWd1cmUuaW4gICAgICAgICAgICAgICAgICAgICAgfCAg MiArCiBzcmMvYmFja2VuZC91dGlscy9mbWdyL2RmbWdyLmMgICAgfCAxNCArKy0tLQogc3Jj L2JhY2tlbmQvdXRpbHMvaGFzaC9keW5haGFzaC5jIHwgMTEgKysrLQogc3JjL2luY2x1ZGUv Yy5oICAgICAgICAgICAgICAgICAgIHwgIDkgKysrCiBzcmMvaW5jbHVkZS9mbWdyLmggICAg ICAgICAgICAgICAgfCAgNiArLQogc3JjL3BsL3BscHl0aG9uL3BscHlfcGxweW1vZHVsZS5j IHwgMTQgKystLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKyksIDE4IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCAy ZmVmZjM3ZmUzLi45OTA3NjM3ZTMxIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29u ZmlndXJlCkBAIC01NjQzLDYgKzU2NDMsOTcgQEAgaWYgdGVzdCB4IiRwZ2FjX2N2X3Byb2df Q1hYX2N4eGZsYWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2hfMyIgPSB4InllcyI7IHRoZW4K IGZpCiAKIAorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNo ZWNraW5nIHdoZXRoZXIgJHtDQ30gc3VwcG9ydHMgLVdjYXN0LWZ1bmN0aW9uLXR5cGUsIGZv ciBDRkxBR1MiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciAke0NDfSBzdXBw b3J0cyAtV2Nhc3QtZnVuY3Rpb24tdHlwZSwgZm9yIENGTEFHUy4uLiAiID4mNjsgfQoraWYg JHtwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XY2FzdF9mdW5jdGlvbl90eXBlKzp9IGZhbHNl OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgcGdhY19z YXZlX0NGTEFHUz0kQ0ZMQUdTCitwZ2FjX3NhdmVfQ0M9JENDCitDQz0ke0NDfQorQ0ZMQUdT PSIke0NGTEFHU30gLVdjYXN0LWZ1bmN0aW9uLXR5cGUiCithY19zYXZlX2Nfd2Vycm9yX2Zs YWc9JGFjX2Nfd2Vycm9yX2ZsYWcKK2FjX2Nfd2Vycm9yX2ZsYWc9eWVzCitjYXQgY29uZmRl ZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4g ICovCisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YK K2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgcGdhY19jdl9w cm9nX0NDX2NmbGFnc19fV2Nhc3RfZnVuY3Rpb25fdHlwZT15ZXMKK2Vsc2UKKyAgcGdhY19j dl9wcm9nX0NDX2NmbGFnc19fV2Nhc3RfZnVuY3Rpb25fdHlwZT1ubworZmkKK3JtIC1mIGNv cmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAor YWNfY193ZXJyb3JfZmxhZz0kYWNfc2F2ZV9jX3dlcnJvcl9mbGFnCitDRkxBR1M9IiRwZ2Fj X3NhdmVfQ0ZMQUdTIgorQ0M9IiRwZ2FjX3NhdmVfQ0MiCitmaQoreyAkYXNfZWNobyAiJGFz X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRwZ2FjX2N2X3Byb2dfQ0NfY2Zs YWdzX19XY2FzdF9mdW5jdGlvbl90eXBlIiA+JjUKKyRhc19lY2hvICIkcGdhY19jdl9wcm9n X0NDX2NmbGFnc19fV2Nhc3RfZnVuY3Rpb25fdHlwZSIgPiY2OyB9CitpZiB0ZXN0IHgiJHBn YWNfY3ZfcHJvZ19DQ19jZmxhZ3NfX1djYXN0X2Z1bmN0aW9uX3R5cGUiID0geCJ5ZXMiOyB0 aGVuCisgIENGTEFHUz0iJHtDRkxBR1N9IC1XY2FzdC1mdW5jdGlvbi10eXBlIgorZmkKKwor CisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg d2hldGhlciAke0NYWH0gc3VwcG9ydHMgLVdjYXN0LWZ1bmN0aW9uLXR5cGUsIGZvciBDWFhG TEFHUyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyICR7Q1hYfSBzdXBwb3J0 cyAtV2Nhc3QtZnVuY3Rpb24tdHlwZSwgZm9yIENYWEZMQUdTLi4uICIgPiY2OyB9CitpZiAk e3BnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX1djYXN0X2Z1bmN0aW9uX3R5cGUrOn0gZmFs c2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBwZ2Fj X3NhdmVfQ1hYRkxBR1M9JENYWEZMQUdTCitwZ2FjX3NhdmVfQ1hYPSRDWFgKK0NYWD0ke0NY WH0KK0NYWEZMQUdTPSIke0NYWEZMQUdTfSAtV2Nhc3QtZnVuY3Rpb24tdHlwZSIKK2FjX3Nh dmVfY3h4X3dlcnJvcl9mbGFnPSRhY19jeHhfd2Vycm9yX2ZsYWcKK2FjX2N4eF93ZXJyb3Jf ZmxhZz15ZXMKK2FjX2V4dD1jcHAKK2FjX2NwcD0nJENYWENQUCAkQ1BQRkxBR1MnCithY19j b21waWxlPSckQ1hYIC1jICRDWFhGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+ JjUnCithY19saW5rPSckQ1hYIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ1hYRkxBR1MgJENQ UEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworYWNfY29tcGls ZXJfZ251PSRhY19jdl9jeHhfY29tcGlsZXJfZ251CisKK2NhdCBjb25mZGVmcy5oIC0gPDxf QUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworaW50 CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5f Y3h4X3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIHBnYWNfY3ZfcHJvZ19DWFhf Y3h4ZmxhZ3NfX1djYXN0X2Z1bmN0aW9uX3R5cGU9eWVzCitlbHNlCisgIHBnYWNfY3ZfcHJv Z19DWFhfY3h4ZmxhZ3NfX1djYXN0X2Z1bmN0aW9uX3R5cGU9bm8KK2ZpCitybSAtZiBjb3Jl IGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2Fj X2V4dD1jCithY19jcHA9JyRDUFAgJENQUEZMQUdTJworYWNfY29tcGlsZT0nJENDIC1jICRD RkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JworYWNfbGluaz0nJENDIC1v IGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVz dC4kYWNfZXh0ICRMSUJTID4mNScKK2FjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxl cl9nbnUKKworYWNfY3h4X3dlcnJvcl9mbGFnPSRhY19zYXZlX2N4eF93ZXJyb3JfZmxhZwor Q1hYRkxBR1M9IiRwZ2FjX3NhdmVfQ1hYRkxBR1MiCitDWFg9IiRwZ2FjX3NhdmVfQ1hYIgor ZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk cGdhY19jdl9wcm9nX0NYWF9jeHhmbGFnc19fV2Nhc3RfZnVuY3Rpb25fdHlwZSIgPiY1Cisk YXNfZWNobyAiJHBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX1djYXN0X2Z1bmN0aW9uX3R5 cGUiID4mNjsgfQoraWYgdGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19XY2Fz dF9mdW5jdGlvbl90eXBlIiA9IHgieWVzIjsgdGhlbgorICBDWFhGTEFHUz0iJHtDWFhGTEFH U30gLVdjYXN0LWZ1bmN0aW9uLXR5cGUiCitmaQorCisKICAgIyBUaGlzIHdhcyBpbmNsdWRl ZCBpbiAtV2FsbC8tV2Zvcm1hdCBpbiBvbGRlciBHQ0MgdmVyc2lvbnMKIAogeyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICR7Q0N9 IHN1cHBvcnRzIC1XZm9ybWF0LXNlY3VyaXR5LCBmb3IgQ0ZMQUdTIiA+JjUKZGlmZiAtLWdp dCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgppbmRleCAwMTg4YzZmZjA3Li4yZTA1 Y2UyZTRkIDEwMDY0NAotLS0gYS9jb25maWd1cmUuaW4KKysrIGIvY29uZmlndXJlLmluCkBA IC00OTgsNiArNDk4LDggQEAgaWYgdGVzdCAiJEdDQyIgPSB5ZXMgLWEgIiRJQ0MiID0gbm87 IHRoZW4KICAgUEdBQ19QUk9HX0NYWF9DRkxBR1NfT1BUKFstV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZV0pCiAgIFBHQUNfUFJPR19DQ19DRkxBR1NfT1BUKFstV2ltcGxpY2l0LWZhbGx0 aHJvdWdoPTNdKQogICBQR0FDX1BST0dfQ1hYX0NGTEFHU19PUFQoWy1XaW1wbGljaXQtZmFs bHRocm91Z2g9M10pCisgIFBHQUNfUFJPR19DQ19DRkxBR1NfT1BUKFstV2Nhc3QtZnVuY3Rp b24tdHlwZV0pCisgIFBHQUNfUFJPR19DWFhfQ0ZMQUdTX09QVChbLVdjYXN0LWZ1bmN0aW9u LXR5cGVdKQogICAjIFRoaXMgd2FzIGluY2x1ZGVkIGluIC1XYWxsLy1XZm9ybWF0IGluIG9s ZGVyIEdDQyB2ZXJzaW9ucwogICBQR0FDX1BST0dfQ0NfQ0ZMQUdTX09QVChbLVdmb3JtYXQt c2VjdXJpdHldKQogICBQR0FDX1BST0dfQ1hYX0NGTEFHU19PUFQoWy1XZm9ybWF0LXNlY3Vy aXR5XSkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZGZtZ3IuYyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZGZtZ3IuYwppbmRleCA5ZGZmMWY1ZTgyLi5iZDc3OWZk YWY3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9mbWdyL2RmbWdyLmMKKysrIGIv c3JjL2JhY2tlbmQvdXRpbHMvZm1nci9kZm1nci5jCkBAIC05NSw3ICs5NSw3IEBAIHN0YXRp YyBjb25zdCBQZ19tYWdpY19zdHJ1Y3QgbWFnaWNfZGF0YSA9IFBHX01PRFVMRV9NQUdJQ19E QVRBOwogICogbmFtZWQgZnVuY25hbWUgaW4gaXQuCiAgKgogICogSWYgdGhlIGZ1bmN0aW9u IGlzIG5vdCBmb3VuZCwgd2UgcmFpc2UgYW4gZXJyb3IgaWYgc2lnbmFsTm90Rm91bmQgaXMg dHJ1ZSwKLSAqIGVsc2UgcmV0dXJuIChQR0Z1bmN0aW9uKSBOVUxMLiAgTm90ZSB0aGF0IGVy cm9ycyBpbiBsb2FkaW5nIHRoZSBsaWJyYXJ5CisgKiBlbHNlIHJldHVybiBOVUxMLiAgTm90 ZSB0aGF0IGVycm9ycyBpbiBsb2FkaW5nIHRoZSBsaWJyYXJ5CiAgKiB3aWxsIHByb3Zva2Ug ZXJlcG9ydCgpIHJlZ2FyZGxlc3Mgb2Ygc2lnbmFsTm90Rm91bmQuCiAgKgogICogSWYgZmls ZWhhbmRsZSBpcyBub3QgTlVMTCwgdGhlbiAqZmlsZWhhbmRsZSB3aWxsIGJlIHNldCB0byBh IGhhbmRsZQpAQCAtMTAzLDEzICsxMDMsMTMgQEAgc3RhdGljIGNvbnN0IFBnX21hZ2ljX3N0 cnVjdCBtYWdpY19kYXRhID0gUEdfTU9EVUxFX01BR0lDX0RBVEE7CiAgKiBsb29rdXBfZXh0 ZXJuYWxfZnVuY3Rpb24gdG8gbG9va3VwIGFkZGl0aW9uYWwgZnVuY3Rpb25zIGluIHRoZSBz YW1lIGZpbGUKICAqIGF0IGxlc3MgY29zdCB0aGFuIHJlcGVhdGluZyBsb2FkX2V4dGVybmFs X2Z1bmN0aW9uLgogICovCi1QR0Z1bmN0aW9uCit2b2lkICoKIGxvYWRfZXh0ZXJuYWxfZnVu Y3Rpb24oY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKmZ1bmNuYW1lLAogCQkJ CQkgICBib29sIHNpZ25hbE5vdEZvdW5kLCB2b2lkICoqZmlsZWhhbmRsZSkKIHsKIAljaGFy CSAgICpmdWxsbmFtZTsKIAl2b2lkCSAgICpsaWJfaGFuZGxlOwotCVBHRnVuY3Rpb24JcmV0 dmFsOworCXZvaWQJICAgKnJldHZhbDsKIAogCS8qIEV4cGFuZCB0aGUgcG9zc2libHktYWJi cmV2aWF0ZWQgZmlsZW5hbWUgdG8gYW4gZXhhY3QgcGF0aCBuYW1lICovCiAJZnVsbG5hbWUg PSBleHBhbmRfZHluYW1pY19saWJyYXJ5X25hbWUoZmlsZW5hbWUpOwpAQCAtMTIyLDcgKzEy Miw3IEBAIGxvYWRfZXh0ZXJuYWxfZnVuY3Rpb24oY29uc3QgY2hhciAqZmlsZW5hbWUsIGNv bnN0IGNoYXIgKmZ1bmNuYW1lLAogCQkqZmlsZWhhbmRsZSA9IGxpYl9oYW5kbGU7CiAKIAkv KiBMb29rIHVwIHRoZSBmdW5jdGlvbiB3aXRoaW4gdGhlIGxpYnJhcnkuICovCi0JcmV0dmFs ID0gKFBHRnVuY3Rpb24pIGRsc3ltKGxpYl9oYW5kbGUsIGZ1bmNuYW1lKTsKKwlyZXR2YWwg PSBkbHN5bShsaWJfaGFuZGxlLCBmdW5jbmFtZSk7CiAKIAlpZiAocmV0dmFsID09IE5VTEwg JiYgc2lnbmFsTm90Rm91bmQpCiAJCWVyZXBvcnQoRVJST1IsCkBAIC0xNjUsMTIgKzE2NSwx MiBAQCBsb2FkX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGJvb2wgcmVzdHJpY3RlZCkK IAogLyoKICAqIExvb2t1cCBhIGZ1bmN0aW9uIHdob3NlIGxpYnJhcnkgZmlsZSBpcyBhbHJl YWR5IGxvYWRlZC4KLSAqIFJldHVybiAoUEdGdW5jdGlvbikgTlVMTCBpZiBub3QgZm91bmQu CisgKiBSZXR1cm4gTlVMTCBpZiBub3QgZm91bmQuCiAgKi8KLVBHRnVuY3Rpb24KK3ZvaWQg KgogbG9va3VwX2V4dGVybmFsX2Z1bmN0aW9uKHZvaWQgKmZpbGVoYW5kbGUsIGNvbnN0IGNo YXIgKmZ1bmNuYW1lKQogewotCXJldHVybiAoUEdGdW5jdGlvbikgZGxzeW0oZmlsZWhhbmRs ZSwgZnVuY25hbWUpOworCXJldHVybiBkbHN5bShmaWxlaGFuZGxlLCBmdW5jbmFtZSk7CiB9 CiAKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvaGFzaC9keW5haGFzaC5jIGIv c3JjL2JhY2tlbmQvdXRpbHMvaGFzaC9keW5haGFzaC5jCmluZGV4IDI2ODhlMjc3MjYuLjU5 NDhiMDFhYmMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2hhc2gvZHluYWhhc2gu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9oYXNoL2R5bmFoYXNoLmMKQEAgLTM5OCw3ICsz OTgsMTYgQEAgaGFzaF9jcmVhdGUoY29uc3QgY2hhciAqdGFibmFtZSwgbG9uZyBuZWxlbSwg SEFTSENUTCAqaW5mbywgaW50IGZsYWdzKQogCWlmIChmbGFncyAmIEhBU0hfS0VZQ09QWSkK IAkJaGFzaHAtPmtleWNvcHkgPSBpbmZvLT5rZXljb3B5OwogCWVsc2UgaWYgKGhhc2hwLT5o YXNoID09IHN0cmluZ19oYXNoKQotCQloYXNocC0+a2V5Y29weSA9IChIYXNoQ29weUZ1bmMp IHN0cmxjcHk7CisJeworCQkvKgorCQkgKiBUaGUgc2lnbmF0dXJlIG9mIGtleWNvcHkgaXMg bWVhbnQgZm9yIG1lbWNweSgpLCB3aGljaCByZXR1cm5zCisJCSAqIHZvaWQqLCBidXQgc3Ry bGNweSgpIHJldHVybnMgc2l6ZV90LiAgU2luY2Ugd2UgbmV2ZXIgdXNlIHRoZSByZXR1cm4K KwkJICogdmFsdWUgb2Yga2V5Y29weSwgYW5kIHNpemVfdCBpcyBwcmV0dHkgbXVjaCBhbHdh eXMgdGhlIHNhbWUgc2l6ZSBhcworCQkgKiB2b2lkICosIHRoaXMgc2hvdWxkIGJlIHNhZmUu ICBUaGUgZXh0cmEgY2FzdCBpbiB0aGUgbWlkZGxlIGlzIHRvCisJCSAqIGF2b2lkIHdhcm5p bmdzIGZyb20gLVdjYXN0LWZ1bmN0aW9uLXR5cGUuCisJCSAqLworCQloYXNocC0+a2V5Y29w eSA9IChIYXNoQ29weUZ1bmMpIChwZ19mdW5jcHRyX3QpIHN0cmxjcHk7CisJfQogCWVsc2UK IAkJaGFzaHAtPmtleWNvcHkgPSBtZW1jcHk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2MuaCBiL3NyYy9pbmNsdWRlL2MuaAppbmRleCBhOTA0YjQ5YTM3Li5jODNhMDlmMmQzIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jLmgKKysrIGIvc3JjL2luY2x1ZGUvYy5oCkBAIC0x MjA4LDYgKzEyMDgsMTUgQEAgdHlwZWRlZiB1bmlvbiBQR0FsaWduZWRYTG9nQmxvY2sKIAko KHVuZGVybHlpbmdfdHlwZSkgKGV4cHIpKQogI2VuZGlmCiAKKworLyoKKyAqIEdlbmVyaWMg ZnVuY3Rpb24gcG9pbnRlci4gIFRoaXMgY2FuIGJlIHVzZWQgaW4gdGhlIHJhcmUgY2FzZXMg d2hlcmUgaXQncworICogbmVjZXNzYXJ5IHRvIGNhc3QgYSBmdW5jdGlvbiBwb2ludGVyIHRv IGEgc2VlbWluZ2x5IGluY29tcGF0aWJsZSB0eXBlIHdoaWxlCisgKiBhdm9pZGluZyBnY2Mn cyAtV2Nhc3QtZnVuY3Rpb24tdHlwZSB3YXJuaW5ncy4KKyAqLwordHlwZWRlZiB2b2lkICgq cGdfZnVuY3B0cl90KSAodm9pZCk7CisKKwogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICoJCQkJU2VjdGlv biA5OiBzeXN0ZW0tc3BlY2lmaWMgaGFja3MKICAqCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9mbWdyLmggYi9zcmMvaW5jbHVkZS9mbWdyLmgKaW5kZXggZDM0OTUxMGI3Yy4uZjI1MDY4 ZmFlMiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvZm1nci5oCisrKyBiL3NyYy9pbmNsdWRl L2ZtZ3IuaApAQCAtNzE2LDkgKzcxNiw5IEBAIGV4dGVybiBib29sIENoZWNrRnVuY3Rpb25W YWxpZGF0b3JBY2Nlc3MoT2lkIHZhbGlkYXRvck9pZCwgT2lkIGZ1bmN0aW9uT2lkKTsKICAq LwogZXh0ZXJuIGNoYXIgKkR5bmFtaWNfbGlicmFyeV9wYXRoOwogCi1leHRlcm4gUEdGdW5j dGlvbiBsb2FkX2V4dGVybmFsX2Z1bmN0aW9uKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25z dCBjaGFyICpmdW5jbmFtZSwKLQkJCQkJCQkJCQkgYm9vbCBzaWduYWxOb3RGb3VuZCwgdm9p ZCAqKmZpbGVoYW5kbGUpOwotZXh0ZXJuIFBHRnVuY3Rpb24gbG9va3VwX2V4dGVybmFsX2Z1 bmN0aW9uKHZvaWQgKmZpbGVoYW5kbGUsIGNvbnN0IGNoYXIgKmZ1bmNuYW1lKTsKK2V4dGVy biB2b2lkICpsb2FkX2V4dGVybmFsX2Z1bmN0aW9uKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBj b25zdCBjaGFyICpmdW5jbmFtZSwKKwkJCQkJCQkJCWJvb2wgc2lnbmFsTm90Rm91bmQsIHZv aWQgKipmaWxlaGFuZGxlKTsKK2V4dGVybiB2b2lkICpsb29rdXBfZXh0ZXJuYWxfZnVuY3Rp b24odm9pZCAqZmlsZWhhbmRsZSwgY29uc3QgY2hhciAqZnVuY25hbWUpOwogZXh0ZXJuIHZv aWQgbG9hZF9maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBib29sIHJlc3RyaWN0ZWQpOwog ZXh0ZXJuIHZvaWQgKipmaW5kX3JlbmRlenZvdXNfdmFyaWFibGUoY29uc3QgY2hhciAqdmFy TmFtZSk7CiBleHRlcm4gU2l6ZSBFc3RpbWF0ZUxpYnJhcnlTdGF0ZVNwYWNlKHZvaWQpOwpk aWZmIC0tZ2l0IGEvc3JjL3BsL3BscHl0aG9uL3BscHlfcGxweW1vZHVsZS5jIGIvc3JjL3Bs L3BscHl0aG9uL3BscHlfcGxweW1vZHVsZS5jCmluZGV4IGUzMDhjNjFkNTAuLjdmNTRkMDkz YWMgMTAwNjQ0Ci0tLSBhL3NyYy9wbC9wbHB5dGhvbi9wbHB5X3BscHltb2R1bGUuYworKysg Yi9zcmMvcGwvcGxweXRob24vcGxweV9wbHB5bW9kdWxlLmMKQEAgLTYxLDEzICs2MSwxMyBA QCBzdGF0aWMgUHlNZXRob2REZWYgUEx5X21ldGhvZHNbXSA9IHsKIAkvKgogCSAqIGxvZ2dp bmcgbWV0aG9kcwogCSAqLwotCXsiZGVidWciLCAoUHlDRnVuY3Rpb24pIFBMeV9kZWJ1Zywg TUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCi0JeyJsb2ciLCAoUHlDRnVu Y3Rpb24pIFBMeV9sb2csIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAot CXsiaW5mbyIsIChQeUNGdW5jdGlvbikgUEx5X2luZm8sIE1FVEhfVkFSQVJHUyB8IE1FVEhf S0VZV09SRFMsIE5VTEx9LAotCXsibm90aWNlIiwgKFB5Q0Z1bmN0aW9uKSBQTHlfbm90aWNl LCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKLQl7Indhcm5pbmciLCAo UHlDRnVuY3Rpb24pIFBMeV93YXJuaW5nLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRT LCBOVUxMfSwKLQl7ImVycm9yIiwgKFB5Q0Z1bmN0aW9uKSBQTHlfZXJyb3IsIE1FVEhfVkFS QVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAotCXsiZmF0YWwiLCAoUHlDRnVuY3Rpb24p IFBMeV9mYXRhbCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCisJeyJk ZWJ1ZyIsIChQeUNGdW5jdGlvbikgKHBnX2Z1bmNwdHJfdCkgUEx5X2RlYnVnLCBNRVRIX1ZB UkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKKwl7ImxvZyIsIChQeUNGdW5jdGlvbikg KHBnX2Z1bmNwdHJfdCkgUEx5X2xvZywgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywg TlVMTH0sCisJeyJpbmZvIiwgKFB5Q0Z1bmN0aW9uKSAocGdfZnVuY3B0cl90KSBQTHlfaW5m bywgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCisJeyJub3RpY2UiLCAo UHlDRnVuY3Rpb24pIChwZ19mdW5jcHRyX3QpIFBMeV9ub3RpY2UsIE1FVEhfVkFSQVJHUyB8 IE1FVEhfS0VZV09SRFMsIE5VTEx9LAorCXsid2FybmluZyIsIChQeUNGdW5jdGlvbikgKHBn X2Z1bmNwdHJfdCkgUEx5X3dhcm5pbmcsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMs IE5VTEx9LAorCXsiZXJyb3IiLCAoUHlDRnVuY3Rpb24pIChwZ19mdW5jcHRyX3QpIFBMeV9l cnJvciwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCisJeyJmYXRhbCIs IChQeUNGdW5jdGlvbikgKHBnX2Z1bmNwdHJfdCkgUEx5X2ZhdGFsLCBNRVRIX1ZBUkFSR1Mg fCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKIAogCS8qCiAJICogY3JlYXRlIGEgc3RvcmVkIHBs YW4KLS0gCjIuMjcuMAoK --------------A365D09AB91123D42D28375B--