Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rxfGx-00AfEi-Q3 for pgsql-hackers@arkaria.postgresql.org; Fri, 19 Apr 2024 03:50:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rxfGv-00EJAH-RJ for pgsql-hackers@arkaria.postgresql.org; Fri, 19 Apr 2024 03:50:45 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rxfGv-00EJ61-BX for pgsql-hackers@lists.postgresql.org; Fri, 19 Apr 2024 03:50:45 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rxfGr-001jVn-Tr for pgsql-hackers@postgresql.org; Fri, 19 Apr 2024 03:50:44 +0000 Received: from [172.30.1.222] (unknown [172.30.1.222]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: a.melnikov@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 3EFC1E20E38 for ; Fri, 19 Apr 2024 06:50:40 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1713498640; bh=wqBH0YMLzTeXpCRqn4LRQa3S4LLJmKMlUsKhdbBsI90=; h=Message-ID:Date:User-Agent:To:From:Subject:From; b=r7f/QOjteK0kfS4+/q4zD661O2wSToIaBlTuYEDZozTtf83oMu78LzSjQ2VNimprC trxa2dPUWSMbXyl9XG5ztA0XyOphFAsxV6HLMVTZufqeLss4ELpa5mjowazrz8KBkg 8Wq63p+K5joFwOwv0OXTTNRBGhDUXz4Ru6BBp8z32nrGVslPgPcZLhHHtWCshWmnUa Afi7cvHrlOduo6RhiI8A+0KlTvbYYE6hlsykCJY6tok0oKLW8hleGLWkiRolSzkXOG E/sPKGOuH+SRp0rH7khss0XB4PuuIflyGDDlubM4Z9VOQWlhA2aiChy5bFnCU4QpPz K3C8CY0Z9Ybag== Content-Type: multipart/mixed; boundary="------------vyyCiQPHEfgEorR9HT5ZnPXU" Message-ID: <0841ec77-47e5-452a-adb4-c6fa55d605fc@postgrespro.ru> Date: Fri, 19 Apr 2024 06:50:39 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: PostgreSQL Hackers From: "Anton A. Melnikov" Subject: Use XLOG_CONTROL_FILE macro everywhere? List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------vyyCiQPHEfgEorR9HT5ZnPXU Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello! There is a macro XLOG_CONTROL_FILE for control file name defined in access/xlog_internal.h And there are some places in code where this macro is used like here https://github.com/postgres/postgres/blob/84db9a0eb10dd1dbee6db509c0e427fa237177dc/src/bin/pg_resetwal/pg_resetwal.c#L588 or here https://github.com/postgres/postgres/blob/84db9a0eb10dd1dbee6db509c0e427fa237177dc/src/common/controldata_utils.c#L214 But there are some other places where the control file name is used as text string directly. May be better use this macro everywhere in C code? The patch attached tries to do this. Would be glad if take a look on it. With the best regards, -- Anton A. Melnikov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company --------------vyyCiQPHEfgEorR9HT5ZnPXU Content-Type: text/x-patch; charset=UTF-8; name="0001-Use-XLOG_CONTROL_FILE-macro-everywhere-in-C-code.patch" Content-Disposition: attachment; filename*0="0001-Use-XLOG_CONTROL_FILE-macro-everywhere-in-C-code.patch" Content-Transfer-Encoding: base64 RnJvbSAyNjkyNjgzMTQyYzk4NTcyMTE0YzMyZjY5NmI1NWM2YTY0MmRkM2U5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW50b24gQS4gTWVsbmlrb3YiIDxhLm1lbG5pa292 QHBvc3RncmVzcHJvLnJ1PgpEYXRlOiBGcmksIDE5IEFwciAyMDI0IDA2OjEyOjQ0ICswMzAw ClN1YmplY3Q6IFtQQVRDSF0gVXNlIFhMT0dfQ09OVFJPTF9GSUxFIG1hY3JvICBldmVyeXdo ZXJlIGluIEMgY29kZQoKLS0tCiBzcmMvYmFja2VuZC9iYWNrdXAvYmFzZWJhY2t1cC5jICAg ICAgICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5j ICAgICAgICAgfCAgMyArKy0KIHNyYy9iaW4vcGdfY29tYmluZWJhY2t1cC9wZ19jb21iaW5l YmFja3VwLmMgfCAgNSArKystLQogc3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9s ZGF0YS5jICAgICB8ICAyICstCiBzcmMvYmluL3BnX3Jld2luZC9maWxlbWFwLmMgICAgICAg ICAgICAgICAgIHwgIDMgKystCiBzcmMvYmluL3BnX3Jld2luZC9wZ19yZXdpbmQuYyAgICAg ICAgICAgICAgIHwgIDggKysrKy0tLS0KIHNyYy9iaW4vcGdfdXBncmFkZS9jb250cm9sZGF0 YS5jICAgICAgICAgICAgfCAxMSArKysrKystLS0tLQogc3JjL2Jpbi9wZ192ZXJpZnliYWNr dXAvcGdfdmVyaWZ5YmFja3VwLmMgICB8ICAzICsrLQogc3JjL2NvbW1vbi9jb250cm9sZGF0 YV91dGlscy5jICAgICAgICAgICAgICB8ICAyICstCiA5IGZpbGVzIGNoYW5nZWQsIDIyIGlu c2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2JhY2t1cC9iYXNlYmFja3VwLmMgYi9zcmMvYmFja2VuZC9iYWNrdXAvYmFzZWJhY2t1cC5j CmluZGV4IDlhMmJmNTllODQuLmM1YTFlMTgxMDQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2JhY2t1cC9iYXNlYmFja3VwLmMKKysrIGIvc3JjL2JhY2tlbmQvYmFja3VwL2Jhc2ViYWNr dXAuYwpAQCAtMTM0Nyw3ICsxMzQ3LDcgQEAgc2VuZERpcihiYnNpbmsgKnNpbmssIGNvbnN0 IGNoYXIgKnBhdGgsIGludCBiYXNlcGF0aGxlbiwgYm9vbCBzaXplb25seSwKIAkJc25wcmlu dGYocGF0aGJ1Ziwgc2l6ZW9mKHBhdGhidWYpLCAiJXMvJXMiLCBwYXRoLCBkZS0+ZF9uYW1l KTsKIAogCQkvKiBTa2lwIHBnX2NvbnRyb2wgaGVyZSB0byBiYWNrIHVwIGl0IGxhc3QgKi8K LQkJaWYgKHN0cmNtcChwYXRoYnVmLCAiLi9nbG9iYWwvcGdfY29udHJvbCIpID09IDApCisJ CWlmIChzdHJjbXAocGF0aGJ1ZiwgIi4vIiBYTE9HX0NPTlRST0xfRklMRSkgPT0gMCkKIAkJ CWNvbnRpbnVlOwogCiAJCWlmIChsc3RhdChwYXRoYnVmLCAmc3RhdGJ1ZikgIT0gMCkKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jIGIvc3JjL2Jh Y2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKaW5kZXggN2YzMTcwYThmMC4uMDJiMzZj YWVhNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMK KysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKQEAgLTkwLDYgKzkw LDcgQEAKICNlbmRpZgogCiAjaW5jbHVkZSAiYWNjZXNzL3hsb2cuaCIKKyNpbmNsdWRlICJh Y2Nlc3MveGxvZ19pbnRlcm5hbC5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9ncmVjb3Zlcnku aCIKICNpbmNsdWRlICJjb21tb24vZmlsZV9wZXJtLmgiCiAjaW5jbHVkZSAiY29tbW9uL2Zp bGVfdXRpbHMuaCIKQEAgLTE0ODksNyArMTQ5MCw3IEBAIGNoZWNrQ29udHJvbEZpbGUodm9p ZCkKIAljaGFyCQlwYXRoW01BWFBHUEFUSF07CiAJRklMRQkgICAqZnA7CiAKLQlzbnByaW50 ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy9nbG9iYWwvcGdfY29udHJvbCIsIERhdGFEaXIp OworCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIiVzLyVzIiwgRGF0YURpciwgWExP R19DT05UUk9MX0ZJTEUpOwogCiAJZnAgPSBBbGxvY2F0ZUZpbGUocGF0aCwgUEdfQklOQVJZ X1IpOwogCWlmIChmcCA9PSBOVUxMKQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19jb21iaW5l YmFja3VwL3BnX2NvbWJpbmViYWNrdXAuYyBiL3NyYy9iaW4vcGdfY29tYmluZWJhY2t1cC9w Z19jb21iaW5lYmFja3VwLmMKaW5kZXggYjI2YzUzMjQ0NS4uMTY0NDhlNzhiOCAxMDA2NDQK LS0tIGEvc3JjL2Jpbi9wZ19jb21iaW5lYmFja3VwL3BnX2NvbWJpbmViYWNrdXAuYworKysg Yi9zcmMvYmluL3BnX2NvbWJpbmViYWNrdXAvcGdfY29tYmluZWJhY2t1cC5jCkBAIC0xNiw2 ICsxNiw3IEBACiAjaW5jbHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KIAor I2luY2x1ZGUgImFjY2Vzcy94bG9nX2ludGVybmFsLmgiCiAjaW5jbHVkZSAiYmFja3VwX2xh YmVsLmgiCiAjaW5jbHVkZSAiY29tbW9uL2Jsa3JlZnRhYmxlLmgiCiAjaW5jbHVkZSAiY29t bW9uL2NoZWNrc3VtX2hlbHBlci5oIgpAQCAtMjg0LDcgKzI4NSw3IEBAIG1haW4oaW50IGFy Z2MsIGNoYXIgKmFyZ3ZbXSkKIAkJewogCQkJY2hhcgkgICAqY29udHJvbHBhdGg7CiAKLQkJ CWNvbnRyb2xwYXRoID0gcHNwcmludGYoIiVzLyVzIiwgcHJpb3JfYmFja3VwX2RpcnNbaV0s ICJnbG9iYWwvcGdfY29udHJvbCIpOworCQkJY29udHJvbHBhdGggPSBwc3ByaW50ZigiJXMv JXMiLCBwcmlvcl9iYWNrdXBfZGlyc1tpXSwgWExPR19DT05UUk9MX0ZJTEUpOwogCiAJCQlw Z19mYXRhbCgiJXM6IG1hbmlmZXN0IHN5c3RlbSBpZGVudGlmaWVyIGlzICVsbHUsIGJ1dCBj b250cm9sIGZpbGUgaGFzICVsbHUiLAogCQkJCQkgY29udHJvbHBhdGgsCkBAIC01OTEsNyAr NTkyLDcgQEAgY2hlY2tfY29udHJvbF9maWxlcyhpbnQgbl9iYWNrdXBzLCBjaGFyICoqYmFj a3VwX2RpcnMpCiAJCWJvb2wJCWNyY19vazsKIAkJY2hhcgkgICAqY29udHJvbHBhdGg7CiAK LQkJY29udHJvbHBhdGggPSBwc3ByaW50ZigiJXMvJXMiLCBiYWNrdXBfZGlyc1tpXSwgImds b2JhbC9wZ19jb250cm9sIik7CisJCWNvbnRyb2xwYXRoID0gcHNwcmludGYoIiVzLyVzIiwg YmFja3VwX2RpcnNbaV0sIFhMT0dfQ09OVFJPTF9GSUxFKTsKIAkJcGdfbG9nX2RlYnVnKCJy ZWFkaW5nIFwiJXNcIiIsIGNvbnRyb2xwYXRoKTsKIAkJY29udHJvbF9maWxlID0gZ2V0X2Nv bnRyb2xmaWxlX2J5X2V4YWN0X3BhdGgoY29udHJvbHBhdGgsICZjcmNfb2spOwogCmRpZmYg LS1naXQgYS9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRhLmMgYi9zcmMv YmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRhLmMKaW5kZXggOTNlMDgzNzk0Ny4u MWZlNjYxOGU3ZiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250 cm9sZGF0YS5jCisrKyBiL3NyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJvbGRhdGEu YwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBwZ19jb250cm9sZGF0YQogICoKLSAqIHJlYWRz IHRoZSBkYXRhIGZyb20gJFBHREFUQS9nbG9iYWwvcGdfY29udHJvbAorICogcmVhZHMgdGhl IGRhdGEgZnJvbSAkUEdEQVRBLzxjb250cm9sIGZpbGU+CiAgKgogICogY29weXJpZ2h0IChj KSBPbGl2ZXIgRWxwaGljayA8b2xseUBsZml4LmNvLnVrPiwgMjAwMTsKICAqIGxpY2Vuc2U6 IEJTRApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19yZXdpbmQvZmlsZW1hcC5jIGIvc3JjL2Jp bi9wZ19yZXdpbmQvZmlsZW1hcC5jCmluZGV4IDQ0NTgzMjRjOWQuLjYyMjRlOTRkMDkgMTAw NjQ0Ci0tLSBhL3NyYy9iaW4vcGdfcmV3aW5kL2ZpbGVtYXAuYworKysgYi9zcmMvYmluL3Bn X3Jld2luZC9maWxlbWFwLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxzeXMvc3Rh dC5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCisjaW5jbHVkZSAiYWNjZXNzL3hsb2dfaW50 ZXJuYWwuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3RhYmxlc3BhY2VfZC5oIgogI2luY2x1 ZGUgImNvbW1vbi9maWxlX3V0aWxzLmgiCiAjaW5jbHVkZSAiY29tbW9uL2hhc2hmbl91bnN0 YWJsZS5oIgpAQCAtNjQzLDcgKzY0NCw3IEBAIGRlY2lkZV9maWxlX2FjdGlvbihmaWxlX2Vu dHJ5X3QgKmVudHJ5KQogCSAqIERvbid0IHRvdWNoIHRoZSBjb250cm9sIGZpbGUuIEl0IGlz IGhhbmRsZWQgc3BlY2lhbGx5LCBhZnRlciBjb3B5aW5nCiAJICogYWxsIHRoZSBvdGhlciBm aWxlcy4KIAkgKi8KLQlpZiAoc3RyY21wKHBhdGgsICJnbG9iYWwvcGdfY29udHJvbCIpID09 IDApCisJaWYgKHN0cmNtcChwYXRoLCBYTE9HX0NPTlRST0xfRklMRSkgPT0gMCkKIAkJcmV0 dXJuIEZJTEVfQUNUSU9OX05PTkU7CiAKIAkvKiBTa2lwIG1hY09TIHN5c3RlbSBmaWxlcyAq LwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19yZXdpbmQvcGdfcmV3aW5kLmMgYi9zcmMvYmlu L3BnX3Jld2luZC9wZ19yZXdpbmQuYwppbmRleCA4NDQ5YWU3OGVmLi4yMTNhOGIyMmNkIDEw MDY0NAotLS0gYS9zcmMvYmluL3BnX3Jld2luZC9wZ19yZXdpbmQuYworKysgYi9zcmMvYmlu L3BnX3Jld2luZC9wZ19yZXdpbmQuYwpAQCAtMzI4LDcgKzMyOCw3IEBAIG1haW4oaW50IGFy Z2MsIGNoYXIgKiphcmd2KQogCSAqIG5lZWQgdG8gbWFrZSBzdXJlIGJ5IHRoZW1zZWx2ZXMg dGhhdCB0aGUgdGFyZ2V0IGNsdXN0ZXIgaXMgaW4gYSBjbGVhbgogCSAqIHN0YXRlLgogCSAq LwotCWJ1ZmZlciA9IHNsdXJwRmlsZShkYXRhZGlyX3RhcmdldCwgImdsb2JhbC9wZ19jb250 cm9sIiwgJnNpemUpOworCWJ1ZmZlciA9IHNsdXJwRmlsZShkYXRhZGlyX3RhcmdldCwgWExP R19DT05UUk9MX0ZJTEUsICZzaXplKTsKIAlkaWdlc3RDb250cm9sRmlsZSgmQ29udHJvbEZp bGVfdGFyZ2V0LCBidWZmZXIsIHNpemUpOwogCXBnX2ZyZWUoYnVmZmVyKTsKIApAQCAtMzM4 LDEyICszMzgsMTIgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJewogCQllbnN1 cmVDbGVhblNodXRkb3duKGFyZ3ZbMF0pOwogCi0JCWJ1ZmZlciA9IHNsdXJwRmlsZShkYXRh ZGlyX3RhcmdldCwgImdsb2JhbC9wZ19jb250cm9sIiwgJnNpemUpOworCQlidWZmZXIgPSBz bHVycEZpbGUoZGF0YWRpcl90YXJnZXQsIFhMT0dfQ09OVFJPTF9GSUxFLCAmc2l6ZSk7CiAJ CWRpZ2VzdENvbnRyb2xGaWxlKCZDb250cm9sRmlsZV90YXJnZXQsIGJ1ZmZlciwgc2l6ZSk7 CiAJCXBnX2ZyZWUoYnVmZmVyKTsKIAl9CiAKLQlidWZmZXIgPSBzb3VyY2UtPmZldGNoX2Zp bGUoc291cmNlLCAiZ2xvYmFsL3BnX2NvbnRyb2wiLCAmc2l6ZSk7CisJYnVmZmVyID0gc291 cmNlLT5mZXRjaF9maWxlKHNvdXJjZSwgWExPR19DT05UUk9MX0ZJTEUsICZzaXplKTsKIAlk aWdlc3RDb250cm9sRmlsZSgmQ29udHJvbEZpbGVfc291cmNlLCBidWZmZXIsIHNpemUpOwog CXBnX2ZyZWUoYnVmZmVyKTsKIApAQCAtNjMxLDcgKzYzMSw3IEBAIHBlcmZvcm1fcmV3aW5k KGZpbGVtYXBfdCAqZmlsZW1hcCwgcmV3aW5kX3NvdXJjZSAqc291cmNlLAogCSAqIEZldGNo IHRoZSBjb250cm9sIGZpbGUgZnJvbSB0aGUgc291cmNlIGxhc3QuIFRoaXMgZW5zdXJlcyB0 aGF0IHRoZQogCSAqIG1pblJlY292ZXJ5UG9pbnQgaXMgdXAtdG8tZGF0ZS4KIAkgKi8KLQli dWZmZXIgPSBzb3VyY2UtPmZldGNoX2ZpbGUoc291cmNlLCAiZ2xvYmFsL3BnX2NvbnRyb2wi LCAmc2l6ZSk7CisJYnVmZmVyID0gc291cmNlLT5mZXRjaF9maWxlKHNvdXJjZSwgWExPR19D T05UUk9MX0ZJTEUsICZzaXplKTsKIAlkaWdlc3RDb250cm9sRmlsZSgmQ29udHJvbEZpbGVf c291cmNlX2FmdGVyLCBidWZmZXIsIHNpemUpOwogCXBnX2ZyZWUoYnVmZmVyKTsKIApkaWZm IC0tZ2l0IGEvc3JjL2Jpbi9wZ191cGdyYWRlL2NvbnRyb2xkYXRhLmMgYi9zcmMvYmluL3Bn X3VwZ3JhZGUvY29udHJvbGRhdGEuYwppbmRleCAxZjBjY2VhM2VkLi5hZTJjNWQ1ODBhIDEw MDY0NAotLS0gYS9zcmMvYmluL3BnX3VwZ3JhZGUvY29udHJvbGRhdGEuYworKysgYi9zcmMv YmluL3BnX3VwZ3JhZGUvY29udHJvbGRhdGEuYwpAQCAtMTEsNiArMTEsNyBAQAogCiAjaW5j bHVkZSA8Y3R5cGUuaD4KIAorI2luY2x1ZGUgImFjY2Vzcy94bG9nX2ludGVybmFsLmgiCiAj aW5jbHVkZSAiY29tbW9uL3N0cmluZy5oIgogI2luY2x1ZGUgInBnX3VwZ3JhZGUuaCIKIApA QCAtNzE0LDEwICs3MTUsMTAgQEAgZGlzYWJsZV9vbGRfY2x1c3Rlcih2b2lkKQogCQkJCW5l d19wYXRoW01BWFBHUEFUSF07CiAKIAkvKiByZW5hbWUgcGdfY29udHJvbCBzbyBvbGQgc2Vy dmVyIGNhbm5vdCBiZSBhY2NpZGVudGFsbHkgc3RhcnRlZCAqLwotCXByZXBfc3RhdHVzKCJB ZGRpbmcgXCIub2xkXCIgc3VmZml4IHRvIG9sZCBnbG9iYWwvcGdfY29udHJvbCIpOworCXBy ZXBfc3RhdHVzKCJBZGRpbmcgXCIub2xkXCIgc3VmZml4IHRvIG9sZCAiIFhMT0dfQ09OVFJP TF9GSUxFKTsKIAotCXNucHJpbnRmKG9sZF9wYXRoLCBzaXplb2Yob2xkX3BhdGgpLCAiJXMv Z2xvYmFsL3BnX2NvbnRyb2wiLCBvbGRfY2x1c3Rlci5wZ2RhdGEpOwotCXNucHJpbnRmKG5l d19wYXRoLCBzaXplb2YobmV3X3BhdGgpLCAiJXMvZ2xvYmFsL3BnX2NvbnRyb2wub2xkIiwg b2xkX2NsdXN0ZXIucGdkYXRhKTsKKwlzbnByaW50ZihvbGRfcGF0aCwgc2l6ZW9mKG9sZF9w YXRoKSwgIiVzLyVzIiwgb2xkX2NsdXN0ZXIucGdkYXRhLCBYTE9HX0NPTlRST0xfRklMRSk7 CisJc25wcmludGYobmV3X3BhdGgsIHNpemVvZihuZXdfcGF0aCksICIlcy8lcy5vbGQiLCBv bGRfY2x1c3Rlci5wZ2RhdGEsIFhMT0dfQ09OVFJPTF9GSUxFKTsKIAlpZiAocGdfbXZfZmls ZShvbGRfcGF0aCwgbmV3X3BhdGgpICE9IDApCiAJCXBnX2ZhdGFsKCJjb3VsZCBub3QgcmVu YW1lIGZpbGUgXCIlc1wiIHRvIFwiJXNcIjogJW0iLAogCQkJCSBvbGRfcGF0aCwgbmV3X3Bh dGgpOwpAQCAtNzI1LDggKzcyNiw4IEBAIGRpc2FibGVfb2xkX2NsdXN0ZXIodm9pZCkKIAog CXBnX2xvZyhQR19SRVBPUlQsICJcbiIKIAkJICAgIklmIHlvdSB3YW50IHRvIHN0YXJ0IHRo ZSBvbGQgY2x1c3RlciwgeW91IHdpbGwgbmVlZCB0byByZW1vdmVcbiIKLQkJICAgInRoZSBc Ii5vbGRcIiBzdWZmaXggZnJvbSAlcy9nbG9iYWwvcGdfY29udHJvbC5vbGQuXG4iCisJCSAg ICJ0aGUgXCIub2xkXCIgc3VmZml4IGZyb20gJXMvJXMub2xkLlxuIgogCQkgICAiQmVjYXVz ZSBcImxpbmtcIiBtb2RlIHdhcyB1c2VkLCB0aGUgb2xkIGNsdXN0ZXIgY2Fubm90IGJlIHNh ZmVseVxuIgogCQkgICAic3RhcnRlZCBvbmNlIHRoZSBuZXcgY2x1c3RlciBoYXMgYmVlbiBz dGFydGVkLiIsCi0JCSAgIG9sZF9jbHVzdGVyLnBnZGF0YSk7CisJCSAgIG9sZF9jbHVzdGVy LnBnZGF0YSwgWExPR19DT05UUk9MX0ZJTEUpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w Z192ZXJpZnliYWNrdXAvcGdfdmVyaWZ5YmFja3VwLmMgYi9zcmMvYmluL3BnX3ZlcmlmeWJh Y2t1cC9wZ192ZXJpZnliYWNrdXAuYwppbmRleCBmZDYxMGMyMGE2Li41MzMzOGRmMzk3IDEw MDY0NAotLS0gYS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wZ192ZXJpZnliYWNrdXAuYwor KysgYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wZ192ZXJpZnliYWNrdXAuYwpAQCAtMTgs NiArMTgsNyBAQAogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8dGltZS5oPgog CisjaW5jbHVkZSAiYWNjZXNzL3hsb2dfaW50ZXJuYWwuaCIKICNpbmNsdWRlICJjb21tb24v Y29udHJvbGRhdGFfdXRpbHMuaCIKICNpbmNsdWRlICJjb21tb24vaGFzaGZuX3Vuc3RhYmxl LmgiCiAjaW5jbHVkZSAiY29tbW9uL2xvZ2dpbmcuaCIKQEAgLTczNSw3ICs3MzYsNyBAQCB2 ZXJpZnlfYmFja3VwX2ZpbGUodmVyaWZpZXJfY29udGV4dCAqY29udGV4dCwgY2hhciAqcmVs cGF0aCwgY2hhciAqZnVsbHBhdGgpCiAJICogdmVyc2lvbiAxLgogCSAqLwogCWlmIChjb250 ZXh0LT5tYW5pZmVzdC0+dmVyc2lvbiAhPSAxICYmCi0JCXN0cmNtcChyZWxwYXRoLCAiZ2xv YmFsL3BnX2NvbnRyb2wiKSA9PSAwKQorCQlzdHJjbXAocmVscGF0aCwgWExPR19DT05UUk9M X0ZJTEUpID09IDApCiAJCXZlcmlmeV9jb250cm9sX2ZpbGUoZnVsbHBhdGgsIGNvbnRleHQt Pm1hbmlmZXN0LT5zeXN0ZW1faWRlbnRpZmllcik7CiAKIAkvKiBVcGRhdGUgc3RhdGlzdGlj cyBmb3IgcHJvZ3Jlc3MgcmVwb3J0LCBpZiBuZWNlc3NhcnkgKi8KZGlmZiAtLWdpdCBhL3Ny Yy9jb21tb24vY29udHJvbGRhdGFfdXRpbHMuYyBiL3NyYy9jb21tb24vY29udHJvbGRhdGFf dXRpbHMuYwppbmRleCA4MjMwOWIyNTEwLi40MTExMzllZWIwIDEwMDY0NAotLS0gYS9zcmMv Y29tbW9uL2NvbnRyb2xkYXRhX3V0aWxzLmMKKysrIGIvc3JjL2NvbW1vbi9jb250cm9sZGF0 YV91dGlscy5jCkBAIC01Myw3ICs1Myw3IEBAIGdldF9jb250cm9sZmlsZShjb25zdCBjaGFy ICpEYXRhRGlyLCBib29sICpjcmNfb2tfcCkKIHsKIAljaGFyCQlDb250cm9sRmlsZVBhdGhb TUFYUEdQQVRIXTsKIAotCXNucHJpbnRmKENvbnRyb2xGaWxlUGF0aCwgTUFYUEdQQVRILCAi JXMvZ2xvYmFsL3BnX2NvbnRyb2wiLCBEYXRhRGlyKTsKKwlzbnByaW50ZihDb250cm9sRmls ZVBhdGgsIE1BWFBHUEFUSCwgIiVzLyVzIiwgRGF0YURpciwgWExPR19DT05UUk9MX0ZJTEUp OwogCiAJcmV0dXJuIGdldF9jb250cm9sZmlsZV9ieV9leGFjdF9wYXRoKENvbnRyb2xGaWxl UGF0aCwgY3JjX29rX3ApOwogfQotLSAKMi40My4yCgo= --------------vyyCiQPHEfgEorR9HT5ZnPXU--