From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18894 invoked by alias); 22 Apr 2012 20:10:19 -0000 Received: (qmail 18878 invoked by uid 22791); 22 Apr 2012 20:10:16 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_WEB X-Spam-Check-By: sourceware.org Received: from forward10.mail.yandex.net (HELO forward10.mail.yandex.net) (77.88.61.49) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 22 Apr 2012 20:10:00 +0000 Received: from web28e.yandex.ru (web28e.yandex.ru [77.88.61.8]) by forward10.mail.yandex.net (Yandex) with ESMTP id E03F5102093D for ; Mon, 23 Apr 2012 00:09:57 +0400 (MSK) Received: from 127.0.0.1 (localhost.localdomain [127.0.0.1]) by web28e.yandex.ru (Yandex) with ESMTP id B1B4A2088028; Mon, 23 Apr 2012 00:09:57 +0400 (MSK) Received: from kts.bestnet.kharkov.ua (kts.bestnet.kharkov.ua [80.92.226.138]) by web28e.yandex.ru with HTTP; Mon, 23 Apr 2012 00:09:57 +0400 From: xgsa Envelope-From: xgsa@yandex.ru To: "gdb-patches@sourceware.org" Subject: [patch] Use the string returned by pretty printer for MI varobjs instead of "{...}" MIME-Version: 1.0 Message-Id: <305151335125397@web28e.yandex.ru> Date: Sun, 22 Apr 2012 20:17:00 -0000 Content-Type: multipart/mixed; boundary="----==--bound.30516.web28e.yandex.ru" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-04/txt/msg00723.txt.bz2 ------==--bound.30516.web28e.yandex.ru Content-Transfer-Encoding: 7bit Content-Type: text/plain Content-length: 728 Hi, The documentation for -var-create says that "for a varobj whose type is some sort of aggregate (e.g., a struct), or for a dynamic varobj, the 'value' attribute will not be interesting". That's not true, as dynamic varobj could also have no children (so its value will be not "{...}" and will be interesting). However I think the string value of varobj that has pretty printer installed should always be returned via MI. It could contain such a useful information as container length or reference count for smart pointers. Moreover, it seems that this information cannot be accessed via MI in another way. This patch contains the proposed fix, documentation and test suite update. No regressions on linux32. Thanks, Anton ------==--bound.30516.web28e.yandex.ru Content-Disposition: attachment; filename="dynamic_show_str3.ChangeLog" Content-Transfer-Encoding: base64 Content-Type: text/plain; name="dynamic_show_str3.ChangeLog" Content-length: 1066 Z2RiL2RvYy9DaGFuZ2VMb2c6CgoyMDEyLTA0LTIyICBBbnRvbiBHb3Jlbmtv diA8eGdzYUB5YW5kZXgucnU+CgoJKEdEQi9NSSBWYXJpYWJsZSBPYmplY3Rz KTogRml4IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlICJ2YWx1ZSIgCglhdHRy aWJ1dGUgb2YgLXZhci1jcmVhdGUgTUkgY29tbWFuZC4KCgpnZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZzoKCjIwMTItMDQtMjIgIEFudG9uIEdvcmVua292IDx4 Z3NhQHlhbmRleC5ydT4KCgkqIGdkYi5weXRob24vcHktbWkuZXhwOiBVc2Ug bWlfY3JlYXRlX2Zsb2F0aW5nX3Zhcm9ial93aXRoX3ZhbHVlIAoJaW5zdGVh ZCBvZiBtaV9jcmVhdGVfZHluYW1pY192YXJvYmogYW5kIHByb3ZpZGUgdGhl IHZhcm9iaiB2YWx1ZS4KCSogbGliL21pLXN1cHBvcnQuZXhwIChtaV9jcmVh dGVfZmxvYXRpbmdfdmFyb2JqX3dpdGhfdmFsdWUpOiBOZXcgZnVuY3Rpb24u CgkobWlfY3JlYXRlX2Zsb2F0aW5nX3Zhcm9iaik6IHVwZGF0ZWQgdG8gYXZv aWQgY29kZSBkdXBsaWNhdGlvbi4KCShtaV9jcmVhdGVfZHluYW1pY192YXJv YmopOiBSZW1vdmUuCgoKZ2RiL0NoYW5nZUxvZzoKCjIwMTItMDQtMjIgIEFu dG9uIEdvcmVua292IDx4Z3NhQHlhbmRleC5ydT4KCgkqIHZhcm9iai5jIChk eW5hbWljX3Zhcm9ial9oYXNfY2hpbGRfbWV0aG9kKTogUmVtb3ZlIGZ1bmN0 aW9uLgoJKHZhbHVlX2dldF9wcmludF92YWx1ZSk6IFJlbW92ZSBjaGVjayBm b3IgZHluYW1pYyB2YXJvYmogY2hpbGRyZW4KCWFuZCBhZGQgTm9uZSByZXR1 cm4gdmFsdWUgaGFuZGxpbmcuCgo= ------==--bound.30516.web28e.yandex.ru Content-Disposition: attachment; filename="dynamic_show_str3.diff" Content-Transfer-Encoding: base64 Content-Type: text/plain; name="dynamic_show_str3.diff" Content-length: 8459 ZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dk Yi50ZXhpbmZvCmluZGV4IDU3NDgwOWQuLmRlNTBjY2EgMTAwNjQ0Ci0tLSBh L2dkYi9kb2MvZ2RiLnRleGluZm8KKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5m bwpAQCAtMjk0ODIsOCArMjk0ODIsNyBAQCByZWxpYWJsZSBmb3IgYSBkeW5h bWljIHZhcm9iai4gIEluc3RlYWQsIHlvdSBtdXN0IGV4YW1pbmUgdGhlCiAK IEBpdGVtIHZhbHVlCiBUaGUgdmFyb2JqJ3Mgc2NhbGFyIHZhbHVlLiAgRm9y IGEgdmFyb2JqIHdob3NlIHR5cGUgaXMgc29tZSBzb3J0IG9mCi1hZ2dyZWdh dGUgKGUuZy4sIGEgQGNvZGV7c3RydWN0fSksIG9yIGZvciBhIGR5bmFtaWMg dmFyb2JqLCB0aGlzIHZhbHVlCi13aWxsIG5vdCBiZSBpbnRlcmVzdGluZy4K K2FnZ3JlZ2F0ZSAoZS5nLiwgYSBAY29kZXtzdHJ1Y3R9KSwgdGhpcyB2YWx1 ZSB3aWxsIG5vdCBiZSBpbnRlcmVzdGluZy4KIAogQGl0ZW0gdHlwZQogVGhl IHZhcm9iaidzIHR5cGUuICBUaGlzIGlzIGEgc3RyaW5nIHJlcHJlc2VudGF0 aW9uIG9mIHRoZSB0eXBlLCBhcwpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIucHl0aG9uL3B5LW1pLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS1taS5leHAKaW5kZXggOGQ1NGE4ZC4uYmYzZWQ3MiAxMDA2NDQK LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LW1pLmV4cAorKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktbWkuZXhwCkBAIC01MSw3 ICs1MSw3IEBAIG1pX2dkYl90ZXN0ICJweXRob24gZXhlY2ZpbGUgKCcke3Jl bW90ZV9weXRob25fZmlsZX0nKSIgIiIKIG1pX2NvbnRpbnVlX3RvX2xpbmUg W2dkYl9nZXRfbGluZV9udW1iZXIge01JIGJyZWFrcG9pbnQgaGVyZX0gJHtz cmNmaWxlfV0gXAogICAic3RlcCB0byBicmVha3BvaW50IgogCi1taV9jcmVh dGVfZHluYW1pY192YXJvYmogY29udGFpbmVyIGMgXAorbWlfY3JlYXRlX2Zs b2F0aW5nX3Zhcm9ial93aXRoX3ZhbHVlIGNvbnRhaW5lciBjIHt7Li4ufX0g XAogICAiY3JlYXRlIGNvbnRhaW5lciB2YXJvYmosIG5vIHByZXR0eS1wcmlu dGluZyIKIAogbWlfbGlzdF92YXJvYmpfY2hpbGRyZW4gY29udGFpbmVyIHsK QEAgLTYyLDcgKzYyLDcgQEAgbWlfbGlzdF92YXJvYmpfY2hpbGRyZW4gY29u dGFpbmVyIHsKIAogbWlfZGVsZXRlX3Zhcm9iaiBjb250YWluZXIgImRlbGV0 ZSB2YXJvYmoiCiAKLW1pX2NyZWF0ZV9keW5hbWljX3Zhcm9iaiBuc2NvbnQg bnN0eXBlIFwKK21pX2NyZWF0ZV9mbG9hdGluZ192YXJvYmpfd2l0aF92YWx1 ZSBuc2NvbnQgbnN0eXBlIHt7Li4ufX0gXAogICAiY3JlYXRlIG5zY29udCB2 YXJvYmosIG5vIHByZXR0eS1wcmludGluZyIKIAogbWlfbGlzdF92YXJvYmpf Y2hpbGRyZW4gbnNjb250IHsKQEAgLTg5LDcgKzg5LDcgQEAgbWlfZ2RiX3Rl c3QgIi12YXItdXBkYXRlIHN0cmluZyIgXAogICAgICJcXF5kb25lLGNoYW5n ZWxpc3Q9XFxcW3tuYW1lPVwic3RyaW5nXCIsaW5fc2NvcGU9XCJ0cnVlXCIs dHlwZV9jaGFuZ2VkPVwiZmFsc2VcIixkeW5hbWljPVwiMVwiLGhhc19tb3Jl PVwiMFwifVxcXF0iIFwKICAgICAidXBkYXRlIHN0cmluZyB2YXJvYmogYWZ0 ZXIgYXNzaWdubWVudCIKIAotbWlfY3JlYXRlX2R5bmFtaWNfdmFyb2JqIGNv bnRhaW5lciBjIFwKK21pX2NyZWF0ZV9mbG9hdGluZ192YXJvYmpfd2l0aF92 YWx1ZSBjb250YWluZXIgYyB7Y29udGFpbmVyIFxcImNvbnRhaW5lclxcIiB3 aXRoIDAgZWxlbWVudHN9IFwKICAgImNyZWF0ZSBjb250YWluZXIgdmFyb2Jq IgogCiBtaV9saXN0X3Zhcm9ial9jaGlsZHJlbiBjb250YWluZXIgewpAQCAt MjA0LDcgKzIwNCw3IEBAIG1pX25leHQgIm5leHQgb3ZlciB1cGRhdGUgNSIK IAogIyBSZWdyZXNzaW9uIHRlc3Q6IGV4YW1pbmUgYW4gb2JqZWN0IHRoYXQg aGFzIG5vIGNoaWxkcmVuLCB0aGVuIHVwZGF0ZQogIyBpdCB0byBlbnN1cmUg dGhhdCB3ZSBkb24ndCBwcmludCB0aGUgY2hpbGRyZW4uCi1taV9jcmVhdGVf ZHluYW1pY192YXJvYmogY29udGFpbmVyMiBjMiBcCittaV9jcmVhdGVfZmxv YXRpbmdfdmFyb2JqX3dpdGhfdmFsdWUgY29udGFpbmVyMiBjMiB7Y29udGFp bmVyIFxcImNvbnRhaW5lcjJcXCIgd2l0aCAwIGVsZW1lbnRzfSBcCiAgICJj cmVhdGUgc2Vjb25kIGNvbnRhaW5lciB2YXJvYmoiCiAKIG1pX2dkYl90ZXN0 ICItdmFyLXVwZGF0ZSBjb250YWluZXIyIiBcCkBAIC0yMjUsNyArMjI1LDcg QEAgbWlfY29udGludWVfdG9fbGluZSBcCiAgICAgW2dkYl9nZXRfbGluZV9u dW1iZXIge01JIG91dGVyIGJyZWFrcG9pbnQgaGVyZX0gJHtzcmNmaWxlfV0g XAogICAgICJzdGVwIHRvIG91dGVyIGJyZWFrcG9pbnQiCiAKLW1pX2NyZWF0 ZV9keW5hbWljX3Zhcm9iaiBvdXRlciBvdXRlciBcCittaV9jcmVhdGVfZmxv YXRpbmdfdmFyb2JqX3dpdGhfdmFsdWUgb3V0ZXIgb3V0ZXIge3ggPSAwfSBc CiAgICJjcmVhdGUgb3V0ZXIgdmFyb2JqIgogCiBtaV9saXN0X3Zhcm9ial9j aGlsZHJlbiBvdXRlciB7CkBAIC0yNTUsNyArMjU1LDcgQEAgbWlfY29udGlu dWVfdG9fbGluZSBcCiAgICAgW2dkYl9nZXRfbGluZV9udW1iZXIge2JyZWFr IHRvIGluc3BlY3Qgc3RydWN0IGFuZCB1bmlvbn0gJHtzcmNmaWxlfV0gXAog ICAgICJzdGVwIHRvIG91dGVyIGJyZWFrcG9pbnQiCiAKLW1pX2NyZWF0ZV9k eW5hbWljX3Zhcm9iaiBuc2NvbnQgbnN0eXBlIFwKK21pX2NyZWF0ZV9mbG9h dGluZ192YXJvYmpfd2l0aF92YWx1ZSBuc2NvbnQgbnN0eXBlIHt7Li4ufX0g XAogICAiY3JlYXRlIG5zdHlwZSB2YXJvYmoiCiAKIG1pX2xpc3RfdmFyb2Jq X2NoaWxkcmVuIG5zY29udCB7CkBAIC0yNzcsNyArMjc3LDcgQEAgbWlfZ2Ri X3Rlc3QgIi12YXItc2V0LXZpc3VhbGl6ZXIgbnNjb250IGdkYi5kZWZhdWx0 X3Zpc3VhbGl6ZXIiIFwKIAogbWlfZ2RiX3Rlc3QgInB5dGhvbiBleGNlcHRp b25fZmxhZyA9IFRydWUiICIiCiAKLW1pX2NyZWF0ZV9keW5hbWljX3Zhcm9i aiBuc3R5cGUyIG5zdHlwZTIgXAorbWlfY3JlYXRlX2Zsb2F0aW5nX3Zhcm9i al93aXRoX3ZhbHVlIG5zdHlwZTIgbnN0eXBlMiB7ey4uLn19IFwKICAgImNy ZWF0ZSBuc3R5cGUyIHZhcm9iaiIKIAogbWlfbGlzdF92YXJvYmpfY2hpbGRy ZW4gbnN0eXBlMiB7CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9t aS1zdXBwb3J0LmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQu ZXhwCmluZGV4IDQwMTU2NWQuLjg0ZmY4M2EgMTAwNjQ0Ci0tLSBhL2dkYi90 ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCisrKyBiL2dkYi90ZXN0c3Vp dGUvbGliL21pLXN1cHBvcnQuZXhwCkBAIC0xMjQ2LDEyICsxMjQ2LDE4IEBA IHByb2MgbWlfY3JlYXRlX3Zhcm9iaiB7IG5hbWUgZXhwcmVzc2lvbiB0ZXN0 bmFtZSB9IHsKICAgICAgICAgJHRlc3RuYW1lCiB9CiAKLXByb2MgbWlfY3Jl YXRlX2Zsb2F0aW5nX3Zhcm9iaiB7IG5hbWUgZXhwcmVzc2lvbiB0ZXN0bmFt ZSB9IHsKKyMgQ3JlYXRlcyBmbG9hdGluZyB2YXJvYmogbmFtZWQgTkFNRSBm b3IgRVhQUkVTU0lPTiBhbmQgY2hlY2tzIGl0cyBWQUxVRS4KK3Byb2MgbWlf Y3JlYXRlX2Zsb2F0aW5nX3Zhcm9ial93aXRoX3ZhbHVlIHtuYW1lIGV4cHJl c3Npb24gdmFsdWUgdGVzdG5hbWV9IHsKICAgICBtaV9nZGJfdGVzdCAiLXZh ci1jcmVhdGUgJG5hbWUgQCAkZXhwcmVzc2lvbiIgXAotICAgICAgICAiXFxe ZG9uZSxuYW1lPVwiJG5hbWVcIixudW1jaGlsZD1cIlwoLTFcfFxbMC05XF0r XClcIix2YWx1ZT1cIi4qXCIsdHlwZT0uKiIgXAorICAgICAgICAiXFxeZG9u ZSxuYW1lPVwiJG5hbWVcIixudW1jaGlsZD1cIlwoLTFcfFxbMC05XF0rXClc Iix2YWx1ZT1cIiR2YWx1ZVwiLHR5cGU9LioiIFwKICAgICAgICAgJHRlc3Ru YW1lCiB9CiAKKyMgU2FtZSBhcyBtaV9jcmVhdGVfZmxvYXRpbmdfdmFyb2Jq X3dpdGhfdmFsdWUsIGJ1dCBkb2VzIG5vdCBjaGVjayB0aGUgdmFsdWUuCitw cm9jIG1pX2NyZWF0ZV9mbG9hdGluZ192YXJvYmogeyBuYW1lIGV4cHJlc3Np b24gdGVzdG5hbWUgfSB7CisgICAgbWlfY3JlYXRlX2Zsb2F0aW5nX3Zhcm9i al93aXRoX3ZhbHVlICRuYW1lICRleHByZXNzaW9uICIuKiIgJHRlc3RuYW1l Cit9CisKIAogIyBTYW1lIGFzIG1pX2NyZWF0ZV92YXJvYmosIGJ1dCBhbHNv IGNoZWNrcyB0aGUgcmVwb3J0ZWQgdHlwZQogIyBvZiB0aGUgdmFyb2JqLgpA QCAtMTI2MSwxNCArMTI2Nyw2IEBAIHByb2MgbWlfY3JlYXRlX3Zhcm9ial9j aGVja2VkIHsgbmFtZSBleHByZXNzaW9uIHR5cGUgdGVzdG5hbWUgfSB7CiAg ICAgICAgICR0ZXN0bmFtZQogfQogCi0jIFNhbWUgYXMgbWlfY3JlYXRlX2Zs b2F0aW5nX3Zhcm9iaiwgYnV0IGFzc3VtZXMgdGhlIHRlc3QgaXMgY3JlYXRp bmcKLSMgYSBkeW5hbWljIHZhcm9iaiB0aGF0IGhhcyBjaGlsZHJlbiwgc28g dGhlIHZhbHVlIG11c3QgYmUgInsuLi59Ii4KLXByb2MgbWlfY3JlYXRlX2R5 bmFtaWNfdmFyb2JqIHtuYW1lIGV4cHJlc3Npb24gdGVzdG5hbWV9IHsKLSAg ICBtaV9nZGJfdGVzdCAiLXZhci1jcmVhdGUgJG5hbWUgQCAkZXhwcmVzc2lv biIgXAotICAgICAgICAiXFxeZG9uZSxuYW1lPVwiJG5hbWVcIixudW1jaGls ZD1cIlwoLTFcfFxbMC05XF0rXClcIix2YWx1ZT1cIntcXC5cXC5cXC59XCIs dHlwZT0uKiIgXAotICAgICAgICAkdGVzdG5hbWUKLX0KLQogIyBEZWxldGVz IHRoZSBzcGVjaWZpZWQgTkFNRS4gCiBwcm9jIG1pX2RlbGV0ZV92YXJvYmog eyBuYW1lIHRlc3RuYW1lIH0gewogICAgIG1pX2dkYl90ZXN0ICItdmFyLWRl bGV0ZSAkbmFtZSIgXApkaWZmIC0tZ2l0IGEvZ2RiL3Zhcm9iai5jIGIvZ2Ri L3Zhcm9iai5jCmluZGV4IDMwODY0OTkuLjdiZDI0ZjUgMTAwNjQ0Ci0tLSBh L2dkYi92YXJvYmouYworKysgYi9nZGIvdmFyb2JqLmMKQEAgLTEwNTMsMTkg KzEwNTMsNiBAQCBpbnN0YWxsX2R5bmFtaWNfY2hpbGQgKHN0cnVjdCB2YXJv YmogKnZhciwKICAgICB9CiB9CiAKLXN0YXRpYyBpbnQKLWR5bmFtaWNfdmFy b2JqX2hhc19jaGlsZF9tZXRob2QgKHN0cnVjdCB2YXJvYmogKnZhcikKLXsK LSAgc3RydWN0IGNsZWFudXAgKmJhY2tfdG87Ci0gIFB5T2JqZWN0ICpwcmlu dGVyID0gdmFyLT5wcmV0dHlfcHJpbnRlcjsKLSAgaW50IHJlc3VsdDsKLQot ICBiYWNrX3RvID0gdmFyb2JqX2Vuc3VyZV9weXRob25fZW52ICh2YXIpOwot ICByZXN1bHQgPSBQeU9iamVjdF9IYXNBdHRyIChwcmludGVyLCBnZGJweV9j aGlsZHJlbl9jc3QpOwotICBkb19jbGVhbnVwcyAoYmFja190byk7Ci0gIHJl dHVybiByZXN1bHQ7Ci19Ci0KICNlbmRpZgogCiBzdGF0aWMgaW50CkBAIC0y ODY2LDE0ICsyODUzLDYgQEAgdmFsdWVfZ2V0X3ByaW50X3ZhbHVlIChzdHJ1 Y3QgdmFsdWUgKnZhbHVlLCBlbnVtIHZhcm9ial9kaXNwbGF5X2Zvcm1hdHMg Zm9ybWF0LAogCiAgICAgaWYgKHZhbHVlX2Zvcm1hdHRlcikKICAgICAgIHsK LQkvKiBGaXJzdCBjaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBhbnkgY2hpbGRy ZW4gYXQgYWxsLiAgSWYgc28sCi0JICAgd2Ugc2ltcGx5IHJldHVybiB7Li4u fS4gICovCi0JaWYgKGR5bmFtaWNfdmFyb2JqX2hhc19jaGlsZF9tZXRob2Qg KHZhcikpCi0JICB7Ci0JICAgIGRvX2NsZWFudXBzIChvbGRfY2hhaW4pOwot CSAgICByZXR1cm4geHN0cmR1cCAoInsuLi59Iik7Ci0JICB9Ci0KIAlpZiAo UHlPYmplY3RfSGFzQXR0ciAodmFsdWVfZm9ybWF0dGVyLCBnZGJweV90b19z dHJpbmdfY3N0KSkKIAkgIHsKIAkgICAgc3RydWN0IHZhbHVlICpyZXBsYWNl bWVudDsKQEAgLTI4ODgsNiArMjg2NywxMyBAQCB2YWx1ZV9nZXRfcHJpbnRf dmFsdWUgKHN0cnVjdCB2YWx1ZSAqdmFsdWUsIGVudW0gdmFyb2JqX2Rpc3Bs YXlfZm9ybWF0cyBmb3JtYXQsCiAJICAgICAgewogCQltYWtlX2NsZWFudXBf cHlfZGVjcmVmIChvdXRwdXQpOwogCisJCS8qIEhhbmRsZSByZXR1cm5lZCBO b25lIHByb3Blcmx5LiAgKi8KKwkJaWYgKG91dHB1dCA9PSBQeV9Ob25lKQor CQkgIHsKKwkJICAgIGRvX2NsZWFudXBzIChvbGRfY2hhaW4pOworCQkgICAg cmV0dXJuIHhzdHJkdXAgKCJ7Li4ufSIpOworCQkgIH0KKwogCQkvKiBJZiB0 aGlzIGlzIGEgbGF6eSBzdHJpbmcsIGV4dHJhY3QgaXQuICBGb3IgbGF6eQog CQkgICBzdHJpbmdzIHdlIGFsd2F5cyBwcmludCBhcyBhIHN0cmluZywgc28g c2V0CiAJCSAgIHN0cmluZ19wcmludC4gICovCg== ------==--bound.30516.web28e.yandex.ru--