Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 90377 invoked from network); 18 May 2006 08:28:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 18 May 2006 08:28:02 -0000 Received: (qmail 90278 invoked by uid 500); 18 May 2006 08:28:00 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 90119 invoked by uid 500); 18 May 2006 08:27:59 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 90100 invoked by uid 99); 18 May 2006 08:27:59 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 May 2006 01:27:59 -0700 X-ASF-Spam-Status: No, hits=1.4 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_WHOIS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [209.191.85.46] (HELO web36712.mail.mud.yahoo.com) (209.191.85.46) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 18 May 2006 01:27:57 -0700 Received: (qmail 31341 invoked by uid 60001); 18 May 2006 08:27:36 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=0M1j5xb8LgymBI9Q/cxukdbyXwZVkC2zS9f7xvZxvfiqi0qmyRiMlsZPOptdNPCKCecV2c5Kulh3CuTLTBGFlqHkCGkK3MoI55ckgZ1QSO9F70nmrRtdBMVR2qUA7fgjlPWwkvEpXlraGLKDayZDisSvHBM9FSibawZAvasLaLs= ; Message-ID: <20060518082736.31339.qmail@web36712.mail.mud.yahoo.com> Received: from [203.173.41.22] by web36712.mail.mud.yahoo.com via HTTP; Thu, 18 May 2006 01:27:36 PDT Date: Thu, 18 May 2006 01:27:36 -0700 (PDT) From: Alex Dubov Subject: [PATCH]: improved error reporting for apr_dbd_mysql.c (and question) To: dev@apr.apache.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-1683849536-1147940856=:28700" Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N --0-1683849536-1147940856=:28700 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Content-Id: Content-Disposition: inline Hello. Attached patch makes apr_dbd_mysql to always return internal xxx_errno codes of mysql instead of arbitrary integers. Incredibly useful in debugging complex issues (like permissions on triggers and views). The patch is against my last version (posted on this list couple of months ago). Question: After period of inactivity, mysqld will close connection to the server. I found no way to resume the connection apart of restarting the server. I'm going to look into this later, but may be somebody knows how to deal with the situation? __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --0-1683849536-1147940856=:28700 Content-Type: application/octet-stream; name="apr_dbd_mysql.diff" Content-Transfer-Encoding: base64 Content-Description: 2926323567-apr_dbd_mysql.diff Content-Disposition: attachment; filename="apr_dbd_mysql.diff" LS0tIGFwcl9kYmRfbXlzcWwuYy5wcmV2CTIwMDYtMDItMjQgMTM6MzI6NDYu MDAwMDAwMDAwICsxMTAwCisrKyBhcHJfZGJkX215c3FsLmMJMjAwNi0wNS0w MSAxMjozMDo1NS4wMDAwMDAwMDAgKzEwMDAKQEAgLTUwLDYgKzUwLDEwIEBA CiAgKiAgICAgICAgLSBvdGhlciBzdHJpbmcgdHlwZXMgYXJlIGhhbmRsZWQg YnkgZmV0Y2hfcmVzdWx0X3N0ciwgd2hpY2ggYWx3YXlzIGFkZHMgdGVybWlu YXRpbmcgXDAKICAqICAgICAgNS4gUmVtb3ZlZCBteXNxbF9zdG10X2Nsb3Nl IGNhbGwtYmFjayByZWdpc3RyYXRpb24gLSBteXNxbF9jbG9zZSByZW1vdmVz IGFsbCBzdGF0ZW1lbnRzCiAgKiAgICAgICAgLSBJIGhhZCB0aGlzIHByb2Js ZW0gd2l0aCBzdGFuZC1hbG9uZSBhcHIgYXBwIChnbGliYyBkb3VibGUgZnJl ZSBleGNlcHRpb24pCisgKgorICogICAgIEFkZGl0aW9uYWwgY2hhbmdlczog QWxleCBEdWJvdiA8b2FrYWRAeWFob28uY29tPiAyMDA2LTA0LTIwCisgKgor ICoJMS4gTWFrZSBhbGwgZnVuY3Rpb24gcmV0dXJuIG15c3FsX2Vycm5vL215 c3FsX3N0bXRfZXJybm8gKG11Y2ggbW9yZSBpbmZvcm1hdGl2ZSkKICAqLwog CiAjaW5jbHVkZSAiYXB1LmgiCkBAIC02MCw2ICs2NCw3IEBACiAjaW5jbHVk ZSA8c3RkbGliLmg+CiAKICNpbmNsdWRlIDxteXNxbC9teXNxbC5oPgorI2lu Y2x1ZGUgPG15c3FsL2Vycm1zZy5oPgogCiAjaW5jbHVkZSAiYXByX3N0cmlu Z3MuaCIKIApAQCAtOTMsNyArOTgsNyBAQAogfTsKIAogc3RydWN0IGJsb2Jf dCB7Ci0gICAgaW50IGxlbjsKKyAgICB1bnNpZ25lZCBsb25nIGxlbmd0aDsK ICAgICBjaGFyIGRhdGFbXTsKIH07CiAKQEAgLTEyNCw3ICsxMjksMTAgQEAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQq KW15c3FsX2ZyZWVfcmVzdWx0LAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBhcHJfcG9vbF9jbGVhbnVwX251bGwpOwogICAgICAg ICB9CisgICAgfSBlbHNlIHsKKwlyZXQgPSBteXNxbF9lcnJubyhzcWwtPmNv bm4pOwogICAgIH0KKyAgICAKICAgICBpZiAoc3FsLT50cmFucykgewogICAg ICAgICBzcWwtPnRyYW5zLT5lcnJudW0gPSByZXQ7CiAgICAgfQpAQCAtMTQy LDcgKzE1MCw5IEBACiAgICAgICAgICAgICAgICAgbXlzcWxfc3RtdF9kYXRh X3NlZWsocmVzLT5zdGF0ZW1lbnQsIChteV91bG9uZ2xvbmcpcm93bnVtKTsK ICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICByZXQgPSBteXNx bF9zdG10X2ZldGNoKHJlcy0+c3RhdGVtZW50KTsKKyAgICAgICAgaWYoKHJl dCA9IG15c3FsX3N0bXRfZmV0Y2gocmVzLT5zdGF0ZW1lbnQpKSkgeworCSAg ICByZXQgPSBteXNxbF9zdG10X2Vycm5vKHJlcy0+c3RhdGVtZW50KTsKKwl9 CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBpZiAocmVzLT5yYW5kb20p IHsKQEAgLTE1MCwxMCArMTYwLDkgQEAKICAgICAgICAgICAgICAgICBteXNx bF9kYXRhX3NlZWsocmVzLT5yZXMsIChteV91bG9uZ2xvbmcpIHJvd251bSk7 CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgciA9IG15c3Fs X2ZldGNoX3JvdyhyZXMtPnJlcyk7Ci0gICAgICAgIGlmIChyID09IE5VTEwp IHsKLSAgICAgICAgICAgIHJldCA9IDE7Ci0gICAgICAgIH0KKyAgICAgICAg aWYoIShyID0gbXlzcWxfZmV0Y2hfcm93KHJlcy0+cmVzKSkpIHsKKyAgICAJ ICAgIHJldCA9IC0xOworCX0KICAgICB9CiAgICAgaWYgKHJldCA9PSAwKSB7 CiAgICAgICAgIGlmICghKnJvdykgewpAQCAtMTY1LDcgKzE3NCw2IEBACiAg ICAgZWxzZSB7CiAgICAgICAgIG15c3FsX2ZyZWVfcmVzdWx0KHJlcy0+cmVz KTsKICAgICAgICAgYXByX3Bvb2xfY2xlYW51cF9raWxsKHBvb2wsIHJlcy0+ cmVzLCAodm9pZCopbXlzcWxfZnJlZV9yZXN1bHQpOwotICAgICAgICByZXQg PSAtMTsKICAgICB9CiAgICAgcmV0dXJuIHJldDsKIH0KQEAgLTIxNSw3ICsy MjMsNyBAQAogICAgICAgICAgICAgICAgfHwgYmluZC0+YnVmZmVyX3R5cGUg PT0gTVlTUUxfVFlQRV9CTE9CCiAgICAgICAgICAgICAgICB8fCBiaW5kLT5i dWZmZXJfdHlwZSA9PSBNWVNRTF9UWVBFX0JJVCkgewogICAgICAgICAgICAg ICAgLyogVXNlIG9wdGlvbmFsIGxlbmd0aCBmaWVsZCAtIGJpbmQtPmxlbmd0 aCBwb2ludHMgdG8gdGhlIHJlYWwgZGF0YSBzaXplICovCi0gICAgICAgICAg ICAgICAoKHN0cnVjdCBibG9iX3QqKShiaW5kLT5idWZmZXIgLSBzaXplb2Yo c3RydWN0IGJsb2JfdCkpKS0+bGVuID0gKihiaW5kLT5sZW5ndGgpOworICAg ICAgICAgICAgICAgKChzdHJ1Y3QgYmxvYl90KikoYmluZC0+YnVmZmVyIC0g c2l6ZW9mKHN0cnVjdCBibG9iX3QpKSktPmxlbmd0aCA9ICooYmluZC0+bGVu Z3RoKTsKICAgICAgICAgICAgICAgIHJldHVybiBiaW5kLT5idWZmZXIgLSBz aXplb2Yoc3RydWN0IGJsb2JfdCk7CiAgICAgICAgICAgICB9CiAgICAgICAg ICAgICBlbHNlIHJldHVybiBiaW5kLT5idWZmZXI7CkBAIC0yMzcsNyArMjQ1 LDcgQEAKICAgICBpZiAoc3FsLT50cmFucyAmJiBzcWwtPnRyYW5zLT5lcnJu dW0pIHsKICAgICAgICAgcmV0dXJuIHNxbC0+dHJhbnMtPmVycm51bTsKICAg ICB9Ci0gICAgcmV0ID0gbXlzcWxfcXVlcnkoc3FsLT5jb25uLCBxdWVyeSk7 CisgICAgaWYoKHJldCA9IG15c3FsX3F1ZXJ5KHNxbC0+Y29ubiwgcXVlcnkp KSkgcmV0ID0gbXlzcWxfZXJybm8oc3FsLT5jb25uKTsKICAgICAqbnJvd3Mg PSBteXNxbF9hZmZlY3RlZF9yb3dzKHNxbC0+Y29ubik7CiAgICAgaWYgKHNx bC0+dHJhbnMpIHsKICAgICAgICAgc3FsLT50cmFucy0+ZXJybnVtID0gcmV0 OwpAQCAtMjgxLDggKzI4OSw4IEBACiAgICAgICogICAgJWxsZCh1KSAgICAg ICB8IE1ZU1FMX1RZUEVfTE9OR0xPTkcgICAgfCBCSUdJTlQgICAgICAgICAg ICAgICAgfCBsb25nIGxvbmcgaW50CiAgICAgICogICAgJWYgICAgICAgICAg ICB8IE1ZU1FMX1RZUEVfRkxPQVQgICAgICAgfCBGTE9BVCAgICAgICAgICAg ICAgICAgfCBmbG9hdAogICAgICAqICAgICVsZiAgICAgICAgICAgfCBNWVNR TF9UWVBFX0RPVUJMRSAgICAgIHwgRE9VQkxFICAgICAgICAgICAgICAgIHwg ZG91YmxlCi0gICAgICogICAgJWMgICAgICAgICAgICB8IE1ZU1FMX1RZUEVf U1RSSU5HICAgICAgfCBDSEFSL0JJTkFSWSAgICAgICAgICAgfCBjaGFyKgot ICAgICAqICAgICVzICAgICAgICAgICAgfCBNWVNRTF9UWVBFX0JMT0IgICAg ICAgIHwgQkxPQi9URVhUICAgICAgICAgICAgIHwgc3RydWN0IGJsb2JfdCoK KyAgICAgKiAgICAlYyAgICAgICAgICAgIHwgTVlTUUxfVFlQRV9TVFJJTkcg ICAgICB8IENIQVIvVEVYVCAgICAgICAgICAgICB8IGNoYXIqCisgICAgICog ICAgJXMgICAgICAgICAgICB8IE1ZU1FMX1RZUEVfQkxPQiAgICAgICAgfCBC TE9CL0JJTkFSWSAgICAgICAgICAgfCBzdHJ1Y3QgYmxvYl90KgogICAgICAq IFRoZXNlIGFyZSBub3Qgc3VwcG9ydGVkIGN1cnJlbnRseToKICAgICAgKiAg ICAgICAgICAgICAgICAgIHwgTVlTUUxfVFlQRV9CSVQKICAgICAgKiAgICAg ICAgICAgICAgICAgIHwgTVlTUUxfVFlQRV9USU1FICAgICAgICB8IFRJTUUg ICAgICAgICAgICAgICAgICB8IE1ZU1FMX1RJTUUKQEAgLTM2Nyw3ICszNzUs NyBAQAogICAgICAgICAgICAgICAgICAgICAvLyBpdCB3aWxsIGJlIG5pY2Ug dG8gaGF2ZSByZWFsbG9jIGhlcmUKICAgICAgICAgICAgICAgICAgICAgTVlT UUxfQklORCogb2xkX2JpbmQgPSAoKnN0YXRlbWVudCktPmJpbmQ7CiAgICAg ICAgICAgICAgICAgICAgIGlmKCEoKCpzdGF0ZW1lbnQpLT5iaW5kID0gYXBy X3BjYWxsb2MocG9vbCwgKGJpbmRfc2l6ZSArIGJpbmRfaW5jKSAqIHNpemVv ZihNWVNRTF9CSU5EKSkpKSAKLSAgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiAxOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENSX09V VF9PRl9NRU1PUlk7CiAKICAgICAgICAgICAgICAgICAgICAgbWVtY3B5KCgq c3RhdGVtZW50KS0+YmluZCwgb2xkX2JpbmQsIGJpbmRfc2l6ZSAqIHNpemVv ZihNWVNRTF9CSU5EKSk7CiAgICAgICAgICAgICAgICAgICAgIGJpbmRfc2l6 ZSArPSBiaW5kX2luYzsKQEAgLTM4MSw3ICszODksNyBAQAogCiAgICAgKCpz dGF0ZW1lbnQpLT5zdG10ID0gbXlzcWxfc3RtdF9pbml0KHNxbC0+Y29ubik7 CiAKLSAgICBpZighKCpzdGF0ZW1lbnQpLT5zdG10KSByZXQgPSAxOworICAg IGlmKCEoKnN0YXRlbWVudCktPnN0bXQpIHJldCA9IENSX09VVF9PRl9NRU1P Ulk7CiAgICAgZWxzZSB7CiAgICAgICAgIC8qIGFwcl9wb29sX2NsZWFudXBf cmVnaXN0ZXIocG9vbCwgKnN0YXRlbWVudCwgKHZvaWQqKW15c3FsX3N0bXRf Y2xvc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBy X3Bvb2xfY2xlYW51cF9udWxsKTsgKi8KQEAgLTM4OSw4ICszOTcsMTAgQEAK ICAgICAgICAgaWYoIXJldCkgewogICAgICAgICAgICAgbmFyZ3MgPSBteXNx bF9zdG10X3BhcmFtX2NvdW50KCgqc3RhdGVtZW50KS0+c3RtdCk7CiAKLSAg ICAgICAgICAgIGlmKG5hcmdzICE9IGJpbmRfcG9zKSByZXQgPSAyOyAvLyBT UUwgc3RyaW5nIHByb2JhYmx5IGhhcyAnPycgY2hhcmFjdGVycyB3ZSBrbm93 IG5vdGhpbmcgYWJvdWQKLSAgICAgICAgfQorICAgICAgICAgICAgaWYobmFy Z3MgIT0gYmluZF9wb3MpIHJldCA9IENSX0lOVkFMSURfUEFSQU1FVEVSX05P OyAvLyBTUUwgc3RyaW5nIHByb2JhYmx5IGhhcyAnPycgY2hhcmFjdGVycyB3 ZSBrbm93IG5vdGhpbmcgYWJvdWQKKyAgICAgICAgfSBlbHNlIHsKKwkgICAg cmV0ID0gbXlzcWxfc3RtdF9lcnJubygoKnN0YXRlbWVudCktPnN0bXQpOwor CX0KICAgICB9CiAKICAgICByZXR1cm4gcmV0OwpAQCAtNDI5LDcgKzQzOSw3 IEBACiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBNWVNRTF9U WVBFX0JMT0I6CiAgICAgICAgICAgICBiaW5kLT5idWZmZXIgPSAoKHN0cnVj dCBibG9iX3QqKWFyZyktPmRhdGE7Ci0gICAgICAgICAgICBiaW5kLT5idWZm ZXJfbGVuZ3RoID0gKChzdHJ1Y3QgYmxvYl90KilhcmcpLT5sZW47CisgICAg ICAgICAgICBiaW5kLT5idWZmZXJfbGVuZ3RoID0gKChzdHJ1Y3QgYmxvYl90 KilhcmcpLT5sZW5ndGg7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg ZGVmYXVsdDoKICAgICAgICAgICAgIGJpbmQtPmJ1ZmZlcl90eXBlID0gTVlT UUxfVFlQRV9OVUxMOwpAQCAtNDc1LDkgKzQ4NSwxMyBAQAogICAgIHJldCA9 IG15c3FsX3N0bXRfYmluZF9wYXJhbShzdGF0ZW1lbnQtPnN0bXQsIHN0YXRl bWVudC0+YmluZCk7CiAgICAgaWYgKHJldCAhPSAwKSB7CiAgICAgICAgICpu cm93cyA9IDA7CisJcmV0ID0gbXlzcWxfc3RtdF9lcnJubyhzdGF0ZW1lbnQt PnN0bXQpOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgcmV0ID0gbXlz cWxfc3RtdF9leGVjdXRlKHN0YXRlbWVudC0+c3RtdCk7CisgICAgICAgIGlm KChyZXQgPSBteXNxbF9zdG10X2V4ZWN1dGUoc3RhdGVtZW50LT5zdG10KSkp IHsKKwkgICAgcmV0ID0gbXlzcWxfc3RtdF9lcnJubyhzdGF0ZW1lbnQtPnN0 bXQpOworCX0KKwkKICAgICAgICAgKm5yb3dzID0gbXlzcWxfc3RtdF9hZmZl Y3RlZF9yb3dzKHN0YXRlbWVudC0+c3RtdCk7CiAgICAgfQogICAgIGlmIChz cWwtPnRyYW5zKSB7CkBAIC01MDksOSArNTIzLDEyIEBACiAgICAgcmV0ID0g bXlzcWxfc3RtdF9iaW5kX3BhcmFtKHN0YXRlbWVudC0+c3RtdCwgc3RhdGVt ZW50LT5iaW5kKTsKICAgICBpZiAocmV0ICE9IDApIHsKICAgICAgICAgKm5y b3dzID0gMDsKKwlyZXQgPSBteXNxbF9zdG10X2Vycm5vKHN0YXRlbWVudC0+ c3RtdCk7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICByZXQgPSBteXNx bF9zdG10X2V4ZWN1dGUoc3RhdGVtZW50LT5zdG10KTsKKyAgICAgICAgaWYo KHJldCA9IG15c3FsX3N0bXRfZXhlY3V0ZShzdGF0ZW1lbnQtPnN0bXQpKSkg eworCSAgICByZXQgPSBteXNxbF9zdG10X2Vycm5vKHN0YXRlbWVudC0+c3Rt dCk7CisJfQogICAgICAgICAqbnJvd3MgPSBteXNxbF9zdG10X2FmZmVjdGVk X3Jvd3Moc3RhdGVtZW50LT5zdG10KTsKICAgICB9CiAgICAgaWYgKHNxbC0+ dHJhbnMpIHsKQEAgLTU1OSw3ICs1NzYsNyBAQAogICAgICAgICAgICAgICAg ICpyZXMgPSBhcHJfcGNhbGxvYyhwb29sLCBzaXplb2YoYXByX2RiZF9yZXN1 bHRzX3QpKTsKICAgICAgICAgICAgICAgICBpZiAoISpyZXMpIHsKICAgICAg ICAgICAgICAgICAgICAgd2hpbGUgKCFteXNxbF9zdG10X2ZldGNoKHN0YXRl bWVudC0+c3RtdCkpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7 CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBDUl9PVVRfT0ZfTUVNT1JZ OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICgqcmVzKS0+cmFuZG9tID0gcmFuZG9tOwpAQCAtNTk5LDkgKzYxNiwx NiBAQAogICAgICAgICAgICAgcmV0ID0gbXlzcWxfc3RtdF9iaW5kX3Jlc3Vs dChzdGF0ZW1lbnQtPnN0bXQsICgqcmVzKS0+YmluZCk7CiAgICAgICAgICAg ICBpZiAoIXJldCkgewogICAgICAgICAgICAgICAgIHJldCA9IG15c3FsX3N0 bXRfc3RvcmVfcmVzdWx0KHN0YXRlbWVudC0+c3RtdCk7Ci0gICAgICAgICAg ICB9Ci0gICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisJCXJldCA9 IG15c3FsX3N0bXRfZXJybm8oc3RhdGVtZW50LT5zdG10KTsKKwkgICAgfQor ICAgICAgICB9IGVsc2UgeworCSAgICByZXQgPSBteXNxbF9zdG10X2Vycm5v KHN0YXRlbWVudC0+c3RtdCk7CisJfQorICAgIH0gZWxzZSB7CisJcmV0ID0g bXlzcWxfc3RtdF9lcnJubyhzdGF0ZW1lbnQtPnN0bXQpOwogICAgIH0KKyAg ICAKICAgICBpZiAoc3FsLT50cmFucykgewogICAgICAgICBzcWwtPnRyYW5z LT5lcnJudW0gPSByZXQ7CiAgICAgfQpAQCAtNjQ0LDcgKzY2OCw3IEBACiAg ICAgICAgICAgICAgICAgKnJlcyA9IGFwcl9wY2FsbG9jKHBvb2wsIHNpemVv ZihhcHJfZGJkX3Jlc3VsdHNfdCkpOwogICAgICAgICAgICAgICAgIGlmICgh KnJlcykgewogICAgICAgICAgICAgICAgICAgICB3aGlsZSAoIW15c3FsX3N0 bXRfZmV0Y2goc3RhdGVtZW50LT5zdG10KSk7Ci0gICAgICAgICAgICAgICAg ICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENS X09VVF9PRl9NRU1PUlk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgfQogICAgICAgICAgICAgKCpyZXMpLT5yYW5kb20gPSByYW5kb207CkBA IC02ODQsOSArNzA4LDE2IEBACiAgICAgICAgICAgICByZXQgPSBteXNxbF9z dG10X2JpbmRfcmVzdWx0KHN0YXRlbWVudC0+c3RtdCwgKCpyZXMpLT5iaW5k KTsKICAgICAgICAgICAgIGlmICghcmV0KSB7CiAgICAgICAgICAgICAgICAg cmV0ID0gbXlzcWxfc3RtdF9zdG9yZV9yZXN1bHQoc3RhdGVtZW50LT5zdG10 KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAgICAgICAgfSBl bHNlIHsKKwkJcmV0ID0gbXlzcWxfc3RtdF9lcnJubyhzdGF0ZW1lbnQtPnN0 bXQpOworCSAgICB9CisgICAgICAgIH0gZWxzZSB7CisJICAgIHJldCA9IG15 c3FsX3N0bXRfZXJybm8oc3RhdGVtZW50LT5zdG10KTsKKwl9CisgICAgfSBl bHNlIHsKKwlyZXQgPSBteXNxbF9zdG10X2Vycm5vKHN0YXRlbWVudC0+c3Rt dCk7CiAgICAgfQorICAgIAogICAgIGlmIChzcWwtPnRyYW5zKSB7CiAgICAg ICAgIHNxbC0+dHJhbnMtPmVycm51bSA9IHJldDsKICAgICB9CkBAIC03ODUs NyArODE2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZmllbGRzWzNdLnZhbHVlLCBwb3J0LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmaWVsZHNbNV0udmFsdWUsIDApOwogCi0gICAg aWYoc3FsLT5jb25uID09IE5VTEwpIHJldHVybiBOVUxMOyAvKiB0aGlzIGlz IGltcG9ydGFudCAqLworICAgIGlmKCFzcWwtPmNvbm4pIHJldHVybiAwOyAv KiB0aGlzIGlzIGltcG9ydGFudCAqLwogCiAgICAgcmV0dXJuIHNxbDsKIH0K --0-1683849536-1147940856=:28700--