From: Date: December 2 2008 2:11pm Subject: bzr commit into mysql-6.0-falcon-team branch (lars-erik.bjork:2922) Bug#34479 List-Archive: http://lists.mysql.com/commits/60379 X-Bug: 34479 Message-Id: <200812021311.mB2DBav1020223@dm-uk-02.uk.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 I0F0IGZpbGU6Ly8vaG9tZS9sYjIwMDY3MC9kZXZlbC9teXNxbC9ib3VuY2VyLyBiYXNlZCBvbiBy ZXZpZDpqb2huLmVtYnJldHNlbkBzdW4uY29tLTIwMDgxMTI3MTczOTM0LXI4ZnhydDFweXRneWE2 dzcKCiAyOTIyIGxhcnMtZXJpay5iam9ya0BzdW4uY29tCTIwMDgtMTItMDIKICAgICAgVGhpcyBp cyBhIHBhdGNoIGZvciBidWcjMzQ0NzkKICAgICAgRmFsY29uOiBzZWFyY2ggZmFpbHVyZSB3aXRo IGluZGV4ZWQgdWNzMiB2YXJjaGFyCiAgICAgIAogICAgICBXaGVuIGNvbXB1dGluZyB0aGUga2V5 IGxlbmd0aCwgdHJhaWxpbmcgc3BhY2VzIGFyZSByZW1vdmVkLiBUaGlzIHdhcwogICAgICBkb25l IGJ5IGxvb2tpbmcgYXQgYSBzaW5nbGUgYnl0ZSBhdCBhIHRpbWUuIFdoZW4gdXNpbmcgZi4gZXgg dGhlIHVjczIKICAgICAgY2hhcmFjdGVyIHNldCAod2hlcmUgZXZlcnkgY2hhcmFjdGVyIGlzIHJl cHJlc2VudGVkIHVzaW5nIHR3byBieXRlcyksIAogICAgICB0aGlzIHdvdWxkIHJlc3VsdCBpbiBh IGNoYXJhY3RlciBlbmRpbmcgaW4gMHgyMCwgKGYgLmV4IMSgICgweDAxMjApICkKICAgICAgaGF2 aW5nIGl0cyBmaW5hbCBieXRlICd0cmltbWVkJy4gSSBoYXZlIG5vdyBpbXBsZW1lbnRlZCBhIGNo YXJzZXQtd2lzZQogICAgICB2ZXJzaW9uLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSB2YXJ5aW5n IGxlbmd0aHMgb2YgbXVsdGktYnl0ZQogICAgICBzZXF1ZW5jZXMgb2YgZGlmZmVyZW50IGNoYXJh Y3RlciBzZXRzLgogICAgICAKICAgICAgYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mYWxj b24vdC9mYWxjb25fYnVnXzM0NDc5LnRlc3QnCiAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICBUaGlzIGlzIGEgdGVz dCBmaWxlIHRlc3RpbmcgdGhlIHBhdGNoLiBJdCBpcyBiYXNlZCBvbiB0aGUKICAgICAgYnVnIHJl cG9ydAogICAgICAKICAgICAgYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mYWxjb24vci9m YWxjb25fYnVnXzM0NDc5LnJlc3VsdCcKICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgVGhpcyBpcyB0aGUgcmVz dWx0IGZpbGUgZm9yIHRoZSB0ZXN0LiBJdCBzdGF0ZXMgdGhlIGV4cGVjdGVkCiAgICAgIG91dHB1 dAogICAgICAKICAgICAgCiAgICAgIG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvZmFsY29uL015U1FM Q29sbGF0aW9uLmNwcCcKICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogICAgICBNb2RpZmllZCB0aGUgZnVuY3Rpb24gY29tcHV0ZUtleUxlbmd0 aCggLi4uICkgCiAgICAgIAogICAgICBFYXJsaWVyLCB3aGVuIHJlbW92aW5nIHRyYWlsaW5nIHBh ZCBjaGFyYWN0ZXJzICgnICcpLCB0aGUgZnVuY3Rpb24KICAgICAgb25seSBsb29rZWQgYXQgYSBz aW5nbGUgYnl0ZSBhdCBhIHRpbWUuIEkgaGF2ZSBpbXBsZW1lbnRlZCBhCiAgICAgIGNoYXJzZXQt d2lzZSBpbXBsZW1lbnRhdGlvbiB0aGF0IHRyYW5zbGF0ZXMgdGhlIHBhZCBjaGFyYWN0ZXIgaW50 byB0aGUKICAgICAgcmVsZXZhbnQgY2hhcmFjdGVyIHNldCwgYW5kIHRoYXQgY29tcGFyZXMgcmVs YXRpdmUgdG8gdGhlIChwb3NzaWJsZSkKICAgICAgbXVsdGktYnl0ZSBzZXF1ZW5jZXMgb2YgdGhl IGRpZmZlcmVudCBjaGFyYWN0ZXIgc2V0cy4KICAgICAgCiAgICAgIAogICAgICBtb2RpZmllZCBm aWxlICdzdG9yYWdlL2ZhbGNvbi9NeVNRTENvbGxhdGlvbi5oJwogICAgICAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICBDaGFuZ2VkIHRoZSBmdW5j dGlvbiBjb21wdXRlS2V5TGVuZ3RoKCAuLi4pIG5vdCB0byBiZSBpbmxpbmUsIGJlY2F1c2UgdGhl CiAgICAgIGltcGxlbWVudGF0aW9uIGdyZXcgYmlnIGVub3VnaCB0byBjbHV0dGVyIHRoZSBoZWFk ZXIgZmlsZS4KICAgICAgCiAgICAgIAogICAgICBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2ZhbGNv bi9oYV9mYWxjb24uY3BwJwogICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogICAgICBBZGRlZCBzb21lIGZ1bmN0aW9ucyBnaXZpbmcgYWNjZXNzIHRvIHRo ZSBjaGFyYWN0ZXIgc2V0IGZ1bmN0aW9ucwogICAgICAKICAgICAgKiBpbnQgZmFsY29uX2NvbnZf dW5pX2NzICggLi4uICkKICAgICAgICAtIENvbnZlcnRzIGEgY2hhcmFjdGVyIHRvIHRoZSBnaXZl biBjaGFyYWN0ZXIgc2V0CiAgICAgICogdW5zaWduZWQgaW50IGZhbGNvbl9nZXRfbWJtaW5sZW4g KCAuLi4gKQogICAgICAgIC0gUmV0dXJucyB0aGUgbWluaW11bSBtdWx0aS1ieXRlIHNlcXVlbmNl IGZvciB0aGUgZ2l2ZW4gY2hhcnNldAogICAgICAKICAgICAgKiB1aW50IGZhbGNvbl9nZXRfbWJj aGFybGVuKCAuLi4gKQogICAgICAgIC0gUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHRoZSBjdXJyZW50 IG11bHRpLWJ5dGUgc2VxdWVuY2UgaWYgdGhlCiAgICAgICAgICBwb2ludGVyIGdpdmVuIHBvaW50 cyB0byBhIHZhbGlkIGhlYWRlciwgMCBvdGhlcndpc2UKbW9kaWZpZWQ6CiAgc3RvcmFnZS9mYWxj b24vTXlTUUxDb2xsYXRpb24uY3BwCiAgc3RvcmFnZS9mYWxjb24vTXlTUUxDb2xsYXRpb24uaAog IHN0b3JhZ2UvZmFsY29uL2hhX2ZhbGNvbi5jcHAKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdl L2ZhbGNvbi9NeVNRTENvbGxhdGlvbi5jcHAnCi0tLSBhL3N0b3JhZ2UvZmFsY29uL015U1FMQ29s bGF0aW9uLmNwcAkyMDA3LTExLTI3IDIwOjA3OjMwICswMDAwCisrKyBiL3N0b3JhZ2UvZmFsY29u L015U1FMQ29sbGF0aW9uLmNwcAkyMDA4LTEyLTAyIDEzOjExOjE1ICswMDAwCkBAIC0xMyw2ICsx Myw3IEBACiAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUg RnJlZSBTb2Z0d2FyZQogICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0 ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQSAqLwogCisjaW5jbHVkZSA8bWVtb3J5 Lmg+CiAjaW5jbHVkZSAiRW5naW5lLmgiCiAjaW5jbHVkZSAiTXlTUUxDb2xsYXRpb24uaCIKICNp bmNsdWRlICJJbmRleEtleS5oIgpAQCAtNDMsOCArNDQsOCBAQCBpbnQgTXlTUUxDb2xsYXRpb246 OmNvbXBhcmUgKFZhbHVlICp2YWx1CiAKIAlpZiAoIWlzQmluYXJ5KQogCQl7Ci0JCWxlbjEgPSBj b21wdXRlS2V5TGVuZ3RoKGxlbjEsIHN0cmluZzEsIHBhZENoYXIsIG1pblNvcnRDaGFyKTsKLQkJ bGVuMiA9IGNvbXB1dGVLZXlMZW5ndGgobGVuMiwgc3RyaW5nMiwgcGFkQ2hhciwgbWluU29ydENo YXIpOworCQlsZW4xID0gY29tcHV0ZUtleUxlbmd0aChjaGFyc2V0LCBsZW4xLCBzdHJpbmcxLCBw YWRDaGFyLCBtaW5Tb3J0Q2hhcik7CisJCWxlbjIgPSBjb21wdXRlS2V5TGVuZ3RoKGNoYXJzZXQs IGxlbjIsIHN0cmluZzIsIHBhZENoYXIsIG1pblNvcnRDaGFyKTsKIAkJfQogCiAJcmV0dXJuIGZh bGNvbl9zdHJubmNvbGwoY2hhcnNldCwgc3RyaW5nMSwgbGVuMSwgc3RyaW5nMiwgbGVuMiwgZmFs c2UpOwpAQCAtNjcsNyArNjgsNyBAQCBpbnQgTXlTUUxDb2xsYXRpb246Om1ha2VLZXkgKFZhbHVl ICp2YWx1CiAJCXNyY0xlbiA9IHZhbHVlLT5nZXRTdHJpbmcgKHNpemVvZih0ZW1wKSwgdGVtcCk7 CiAKIAlpZiAoIWlzQmluYXJ5KQotCQlzcmNMZW4gPSBjb21wdXRlS2V5TGVuZ3RoKHNyY0xlbiwg dGVtcCwgcGFkQ2hhciwgbWluU29ydENoYXIpOworCQlzcmNMZW4gPSBjb21wdXRlS2V5TGVuZ3Ro KGNoYXJzZXQsIHNyY0xlbiwgdGVtcCwgcGFkQ2hhciwgbWluU29ydENoYXIpOwogCiAJLy8gU2lu Y2Ugc29tZSBjb2xsYXRpb25zIG1ha2UgZHN0TGVuID4gc3JjTGVuLCBiZSBzdXJlIGRzdExlbiBp cyA8IHBhcnRpYWxLZXkuCiAKQEAgLTExNCwzICsxMTUsNTggQEAgaW50IE15U1FMQ29sbGF0aW9u Ojp0cnVuY2F0ZShWYWx1ZSAqdmFsdQogCiAJcmV0dXJuIGxlbjsKIH0KKwordWludCBNeVNRTENv bGxhdGlvbjo6Y29tcHV0ZUtleUxlbmd0aCAodm9pZCAqY2hhcnNldCwgdWludCBsZW5ndGgsIGNv bnN0IGNoYXIgKmtleSwKKwkJCQkJCQkJCSAgIGNoYXIgcGFkQ2hhciwgY2hhciBtaW5Tb3J0Q2hh cikKKworeworCS8vIFdlIG5lZWQgdG8gY29udmVydCB0aGUgcGFkQ2hhciBpbnRvIHRoZSBjdXJy ZW50IGNoYXJhY3RlciBzZXQKKwkKKwl1bnNpZ25lZCBjaGFyIHBhZFsyMF07CisJaW50IHBhZExl biA9IGZhbGNvbl9jb252X3VuaV9jcyAoY2hhcnNldCwgcGFkQ2hhciwgcGFkLCBzaXplb2YocGFk KSk7CisJCisJaWYgKGZhbGNvbl9nZXRfbWJtaW5sZW4oY2hhcnNldCkgPT0gZmFsY29uX2dldF9t Ym1heGxlbihjaGFyc2V0KSkKKwkJeworCQkKKwkJLy8gQWxsIGNoYXJhY3RlcnMgYXJlIHJlcHJl c2VudGVkIHVzaW5nIHRoZSBzYW1lIG51bWJlciBvZiBieXRlcworCQkvLyB3ZSBkb24ndCBoYXZl IHRvIHdvcnJ5IGFib3V0IG11bHRpLWJ5dGUgc2VxdWVuY2VzIG9mIGRpZmZlcmVudCAKKwkJLy8g bGVuZ3RocyAKKwkJCisJCWludCBjaGFyTGVuID0gZmFsY29uX2dldF9tYm1pbmxlbihjaGFyc2V0 KTsKKwkJCisJCWZvciAoY29uc3QgY2hhciAqcCA9IGtleSArIGxlbmd0aDsgcCA+IGtleTsgcCA9 IHAgLSBjaGFyTGVuKQorCQkJeworCQkJaWYgKChwWy1jaGFyTGVuXSAhPSAwKSAmJiAobWVtY21w KHBhZCwgcC1jaGFyTGVuLCBjaGFyTGVuKSAhPSAwKSAKKwkJCQkmJiAocFstY2hhckxlbl0gIT0g bWluU29ydENoYXIpKQorCQkJCXsKKwkJCQlyZXR1cm4gKHVpbnQpIChwIC0ga2V5KTsKKwkJCQl9 CisJCQl9CQkKKwkJfQorCWVsc2UgCisJCXsKKwkJCisJCS8vIFRoZSBudW1iZXIgb2YgYnl0ZXMg aW4gZWFjaCBtdWx0aS1ieXRlIHNlcXVlbmNlIG1heSB2YXJ5CisJCQorCQlpbnQgY2hhckxlbiA9 IDA7CisJCQorCQlmb3IgKGNvbnN0IGNoYXIgKnAgPSBrZXkgKyBsZW5ndGg7IHAgPiBrZXk7IC0t cCkKKwkJCXsKKwkJCWNoYXJMZW4gPSBmYWxjb25fZ2V0X21iY2hhcmxlbihjaGFyc2V0LCBwLTEp OworCQkJCisJCQlpZiAoY2hhckxlbiA9PSAwKQorCQkJCXsKKwkJCQkvLyBOb3QgYXQgdGhlIGJl Z2lubmluZyBvZiBhIHNlcXVlbmNlCisJCQkJY29udGludWU7CisJCQkJfQorCQkJZWxzZSBpZiAo KHBbLTFdICE9IDApICYmIChwYWRMZW4gIT0gY2hhckxlbiB8fCBtZW1jbXAocGFkLCBwLTEsIGNo YXJMZW4pICE9IDApIAorCQkJCQkgJiYgKHBbLTFdICE9IG1pblNvcnRDaGFyKSkKKwkJCQl7CisJ CQkJcmV0dXJuICh1aW50KSAocCAtIGtleSArIChjaGFyTGVuLTEpKTsKKwkJCQl9CisKKwkJCX0K KwkJfQorCQorCXJldHVybiAwOwkJCit9Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9mYWxj b24vTXlTUUxDb2xsYXRpb24uaCcKLS0tIGEvc3RvcmFnZS9mYWxjb24vTXlTUUxDb2xsYXRpb24u aAkyMDA3LTExLTI3IDIwOjA3OjMwICswMDAwCisrKyBiL3N0b3JhZ2UvZmFsY29uL015U1FMQ29s bGF0aW9uLmgJMjAwOC0xMi0wMiAxMzoxMToxNSArMDAwMApAQCAtMjYsOSArMjYsMTIgQEAgZXh0 ZXJuIGludCBmYWxjb25fc3Rybnhmcm0gKHZvaWQgKmNzLCAKIAkJCQkJCQljb25zdCBjaGFyICpz cmMsIHVpbnQgc3JjbGVuKTsKIAogZXh0ZXJuIGNoYXIgZmFsY29uX2dldF9wYWRfY2hhciAodm9p ZCAqY3MpOworZXh0ZXJuIGludCBmYWxjb25fY29udl91bmlfY3MgKHZvaWQgKmNzLCBjaGFyIGNo YXJhY3RlciwgdW5zaWduZWQgY2hhciogZHN0LCBpbnQgZHN0TGVuKTsKIGV4dGVybiBpbnQgZmFs Y29uX2NzX2lzX2JpbmFyeSAodm9pZCAqY3MpOworZXh0ZXJuIHVuc2lnbmVkIGludCBmYWxjb25f Z2V0X21ibWlubGVuICh2b2lkICpjcyk7CiBleHRlcm4gdW5zaWduZWQgaW50IGZhbGNvbl9nZXRf bWJtYXhsZW4gKHZvaWQgKmNzKTsKIGV4dGVybiBjaGFyIGZhbGNvbl9nZXRfbWluX3NvcnRfY2hh ciAodm9pZCAqY3MpOworZXh0ZXJuIHVpbnQgZmFsY29uX2dldF9tYmNoYXJsZW4odm9pZCAqY3Ms IGNvbnN0IGNoYXIgKnMpOwogZXh0ZXJuIHVpbnQgZmFsY29uX3N0cm5jaHJsZW4odm9pZCAqY3Ms IGNvbnN0IGNoYXIgKnMsIHVpbnQgbCk7CiBleHRlcm4gdWludCBmYWxjb25fc3Rybnhmcm1sZW4o dm9pZCAqY3MsIGNvbnN0IGNoYXIgKnMsIHVpbnQgc3JjbGVuLAogCQkJCQkJCSAgIGludCBwYXJ0 aWFsS2V5LCBpbnQgYnVmU2l6ZSk7CkBAIC02MywxNSArNjYsOSBAQCBwdWJsaWM6CiAJdWludAlt Yk1heExlbjsKIAljaGFyCW1pblNvcnRDaGFyOwogCQotCXN0YXRpYyBpbmxpbmUgdWludCBjb21w dXRlS2V5TGVuZ3RoICh1aW50IGxlbmd0aCwgY29uc3QgY2hhciAqa2V5LAotCQkJCQkJCQkJCWNo YXIgcGFkQ2hhciwgY2hhciBtaW5Tb3J0Q2hhcikKLQkJewotCQlmb3IgKGNvbnN0IGNoYXIgKnAg PSBrZXkgKyBsZW5ndGg7IHAgPiBrZXk7IC0tcCkKLQkJCWlmICgocFstMV0gIT0gMCkgJiYgKHBb LTFdICE9IHBhZENoYXIpICYmIChwWy0xXSAhPSBtaW5Tb3J0Q2hhcikpCi0JCQkJcmV0dXJuICh1 aW50KSAocCAtIGtleSk7CisJc3RhdGljIHVpbnQgY29tcHV0ZUtleUxlbmd0aCAodm9pZCAqY2hh cnNldCwgdWludCBsZW5ndGgsIGNvbnN0IGNoYXIgKmtleSwKKwkJCQkJCQkJICBjaGFyIHBhZENo YXIsIGNoYXIgbWluU29ydENoYXIpOwogCi0JCXJldHVybiAwOwotCQl9CiB9OwogCiAjZW5kaWYK Cj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2ZhbGNvbi9oYV9mYWxjb24uY3BwJwotLS0gYS9z dG9yYWdlL2ZhbGNvbi9oYV9mYWxjb24uY3BwCTIwMDgtMTEtMjUgMTM6Mzg6MDYgKzAwMDAKKysr IGIvc3RvcmFnZS9mYWxjb24vaGFfZmFsY29uLmNwcAkyMDA4LTEyLTAyIDEzOjExOjE1ICswMDAw CkBAIC0yOTIsMTIgKzI5MiwzNyBAQCBjaGFyIGZhbGNvbl9nZXRfcGFkX2NoYXIgKHZvaWQgKmNz KQogCXJldHVybiAoY2hhcikgKChDSEFSU0VUX0lORk8qKSBjcyktPnBhZF9jaGFyOwogfQogCitp bnQgZmFsY29uX2NvbnZfdW5pX2NzICh2b2lkICpjcywgY29uc3QgY2hhciBjaGFyYWN0ZXIsIHVu c2lnbmVkIGNoYXIqIGRzdCwgaW50IGRzdExlbikKK3sKKwkKKwkvLyBDb252ZXJ0IGZyb20gdW5p Y29kZSBjb2RlcG9pbnQKKworCUNIQVJTRVRfSU5GTyogY2hhcnNldCA9IChDSEFSU0VUX0lORk8q KSBjczsJCisJaW50IGxlbiA9IChjaGFyc2V0LT5jc2V0LT53Y19tYihjaGFyc2V0LCAobXlfd2Nf dCljaGFyYWN0ZXIsIGRzdCwgZHN0ICsgZHN0TGVuKSk7CisKKwlpZiAobGVuIDw9IDApCisJCXsK KwkJLy8gU2hvdWxkIG5vdCBoYXBwZW4KKwkJZHN0WzBdID0gY2hhcmFjdGVyOworCQlyZXR1cm4g MTsKKwkJfQorCWVsc2UKKwkJeworCQlyZXR1cm4gbGVuOworCQl9Cit9CisKIGludCBmYWxjb25f Y3NfaXNfYmluYXJ5ICh2b2lkICpjcykKIHsKIAlyZXR1cm4gKDAgPT0gc3RyY21wKCgoQ0hBUlNF VF9JTkZPKikgY3MpLT5uYW1lLCAiYmluYXJ5IikpOwogLy8JcmV0dXJuICgoKChDSEFSU0VUX0lO Rk8qKSBjcyktPnN0YXRlICYgTVlfQ1NfQklOU09SVCkgPT0gTVlfQ1NfQklOU09SVCk7CiB9CiAK K3Vuc2lnbmVkIGludCBmYWxjb25fZ2V0X21ibWlubGVuICh2b2lkICpjcykKK3sKKwlyZXR1cm4g KChDSEFSU0VUX0lORk8qKSBjcyktPm1ibWlubGVuOworfQorCiB1bnNpZ25lZCBpbnQgZmFsY29u X2dldF9tYm1heGxlbiAodm9pZCAqY3MpCiB7CiAJcmV0dXJuICgoQ0hBUlNFVF9JTkZPKikgY3Mp LT5tYm1heGxlbjsKQEAgLTMwOCw2ICszMzMsMTMgQEAgY2hhciBmYWxjb25fZ2V0X21pbl9zb3J0 X2NoYXIgKHZvaWQgKmNzKQogCXJldHVybiAoY2hhcikgKChDSEFSU0VUX0lORk8qKSBjcyktPm1p bl9zb3J0X2NoYXI7CiB9CiAKK3VpbnQgZmFsY29uX2dldF9tYmNoYXJsZW4odm9pZCAqY3MsIGNv bnN0IGNoYXIgKnMpCit7CisJQ0hBUlNFVF9JTkZPICpjaGFyc2V0ID0gKENIQVJTRVRfSU5GTyop IGNzOworCXVjaGFyICpjaCA9ICh1Y2hhciAqKSBzOworCXJldHVybiBjaGFyc2V0LT5jc2V0LT5t YmNoYXJsZW4oY2hhcnNldCwgKmNoKTsKK30KKwogLy8gUmV0dXJuIHRoZSBhY3R1YWwgbnVtYmVy IG9mIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZwogLy8gTm90ZSwgdGhpcyBpcyBub3QgdGhlIG51 bWJlciBvZiBjaGFyYWN0ZXJzIHdpdGggY29sbGF0YWJsZSB3ZWlnaHQuCiAKCg==