X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-3.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: sourceware.org Message-ID: <4A89DC1F.2050509@cwilson.fastmail.fm> Date: Mon, 17 Aug 2009 18:39:27 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.22) Gecko/20090605 Thunderbird/2.0.0.22 Mnenhy/0.7.6.666 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: [ANNOUNCEMENT] Updated: run-1.1.11-1 References: <200908171705 DOT n7HH5TYe024203 AT StraightRunning DOT com> <4A89A490 DOT 1050108 AT cwilson DOT fastmail DOT fm> In-Reply-To: <4A89A490.1050108@cwilson.fastmail.fm> Content-Type: multipart/mixed; boundary="------------090409070907000806080905" Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com --------------090409070907000806080905 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Charles Wilson wrote: > If we already HAVE true console handles, then we shouldn't FreeConsole > and try to recreate our own... OK, how about this? Seems to work on Vista(cyg1.5, cyg1.7, mingw) x gui/cui/bat. The basic idea is to try and re-use whatever console is available, if any, when run is started. If this is the invisible console created by cygwin as part of process startup, great. If it is inherited from the calling window, fine. But never try to explicitly hide the console if it already exists (that way, you can call 'run foo' from a cmd box without it disappearing on you). Also, if creating a new console, then do it in the parent (run) process and hide it there -- even for W7, by using the message-only trick -- instead of attaching to the child's console and manipulating it after the fact. I *think* this slight refactoring will allow us to add any additional tweaks needed by W7 with only small, localized changes, so I'm hopeful that this patch can actual be checked in even if it is not perfect. -- Chuck --------------090409070907000806080905 Content-Type: application/x-patch; name="run-attempt-3.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="run-attempt-3.patch" SW5kZXg6IHNyYy9ydW4uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvY3ZzL2N5Z3dpbi1hcHBzL3J1bi9zcmMvcnVuLmMsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuOApkaWZmIC11IC1wIC1yMS44IHJ1bi5jCi0tLSBz cmMvcnVuLmMJMTYgQXVnIDIwMDkgMDM6MjY6NDIgLTAwMDAJMS44CisrKyBz cmMvcnVuLmMJMTcgQXVnIDIwMDkgMjI6MzM6MjMgLTAwMDAKQEAgLTQwLDEx ICs0MCwxMyBAQAogCiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUg PHdpbnVzZXIuaD4KKyNpbmNsdWRlIDxzaGVsbGFwaS5oPgogI2luY2x1ZGUg PHN0cmluZy5oPgogI2luY2x1ZGUgPG1hbGxvYy5oPgogI2luY2x1ZGUgPHN0 ZGxpYi5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkYXJn Lmg+CisjaW5jbHVkZSA8cHJvY2Vzcy5oPgogCiAjaW5jbHVkZSAicnVuLmgi CiAKQEAgLTYzLDYgKzY1LDkgQEAgV2luTWFpbkNSVFN0YXJ0dXAoKSB7IG1h aW5DUlRTdGFydHVwKCk7IAogRFdPUkQgb3NfdmVyc2lvbjsKIGNoYXIgYnVm ZmVyWzEwMjRdOwogCitzdGF0aWMgQk9PTCB0YXJnZXRfaXNfZ3VpKGNvbnN0 IGNoYXIqIHRhcmdldF9wYXRoKTsKK3N0YXRpYyB2b2lkIHNldHVwX3dpbl9l bnZpcm9uKHZvaWQpOworCiBpbnQgV0lOQVBJCiBXaW5NYWluIChISU5TVEFO Q0UgaFNlbGYsIEhJTlNUQU5DRSBoUHJldiwgTFBTVFIgY21kbGluZSwgaW50 IG5TaG93KQogewpAQCAtMTY1LDExICsxNzAsNjEgQEAgV2luTWFpbiAoSElO U1RBTkNFIGhTZWxmLCBISU5TVEFOQ0UgaFByZQogICAgVHJhY2UoKCJleGVj XHQlc1xuZXhlY25hbWVcdCVzXG5leGVjcGF0aFx0JXNcbiIsCiAgICAgICAg ICBleGVjLGV4ZWNuYW1lLGV4ZWNwYXRoKSk7CiAKLSAgIHdhaXRfZm9yX2No aWxkID0gYnVpbGRfY21kbGluZShjbWRsaW5lMixleGVjLGFyZ2MsYXJndik7 CisgICB3YWl0X2Zvcl9jaGlsZCA9IGJ1aWxkX2NtZGxpbmUoY21kbGluZTIs ZXhlYywmYXJnYyxhcmd2KTsKICAgIFRyYWNlKChjbWRsaW5lMikpOwogCiAg ICB4ZW1hY3Nfc3BlY2lhbChleGVjKTsKLSAgIHJldF9jb2RlID0gc3RhcnRf Y2hpbGQoY21kbGluZTIsd2FpdF9mb3JfY2hpbGQpOworICAgaWYgKHRhcmdl dF9pc19ndWkgKGV4ZWMpKQorICAgICB7CisgICAgICAgLyogbXVjaCBzaW1w bGVyIGlmIHRhcmdldCBpcyBndWksIGJlY2F1c2Ugd2UgZG9uJ3QKKyAgICAg ICAgKiBhY3R1YWxseSBuZWVkIHRvIHdvcnJ5IGFib3V0IGNvbnNvbGVzLCBz dGRpbworICAgICAgICAqIGhhbmRsZXMsIGV0Yy4gIElmIC13YWl0LCB0aGVu IGRlbGVnYXRlIHRvIF9zcGF3bnYsCisgICAgICAgICogc2luY2Ugd2UgaGF2 ZSB0aGUgYXJndiBhcnJheS4gSG93ZXZlciwgYmVjYXVzZQorICAgICAgICAq IF9zcGF3bnYgKF9QX05PV0FJVCkgZG9lc24ndCB3b3JrIHJlbGlhYmx5IG9u CisgICAgICAgICogY3lnd2luLCB1c2UgYSBsb2JvdG9taXplZCB2ZXJzaW9u IG9mIENyZWF0ZVByb2Nlc3MKKyAgICAgICAgKiAoYnV0IHN0aWxsIGRvbid0 IHdvcnJ5IGFib3V0IGhhbmRsZXMgb3IgY29uc29sZXMpLgorICAgICAgICAq LworICAgICAgIHNldHVwX3dpbl9lbnZpcm9uKCk7CisgICAgICAgaWYgKHdh aXRfZm9yX2NoaWxkKQorICAgICAgICAgeworICAgICAgICAgICBUcmFjZSgo Imd1aSB3YWl0IGZvciBjaGlsZDogJXMiLCBleGVjKSk7CisgICAgICAgICAg IC8qIHJldF9jb2RlIGlzIHRoZSBjaGlsZCBleGl0IHN0YXR1cyBmb3IgUF9X QUlUICovCisgICAgICAgICAgIHJldF9jb2RlID0gX3NwYXdudiAoX1BfV0FJ VCwgZXhlYywgYXJndik7CisgICAgICAgICAgIGlmIChyZXRfY29kZSA8IDAp CisgICAgICAgICAgICAgZXJyb3IoImNvdWxkIG5vdCBzdGFydCAlcyIsIGV4 ZWMpOworICAgICAgICAgICByZXR1cm4gKGludClyZXRfY29kZTsKKyAgICAg ICAgIH0KKyAgICAgICBlbHNlCisgICAgICAgICB7CisgICAgICAgICAgIFNU QVJUVVBJTkZPIHN0YXJ0OworICAgICAgICAgICBQUk9DRVNTX0lORk9STUFU SU9OIGNoaWxkOworICAgICAgICAgICBaZXJvTWVtb3J5KCAmY2hpbGQsIHNp emVvZihQUk9DRVNTX0lORk9STUFUSU9OKSApOworICAgICAgICAgICBaZXJv TWVtb3J5ICgmc3RhcnQsIHNpemVvZiAoU1RBUlRVUElORk8pKTsKKyAgICAg ICAgICAgc3RhcnQuY2IgPSBzaXplb2YgKFNUQVJUVVBJTkZPKTsKKyAgICAg ICAgICAgVHJhY2UoKCJMYXVuY2ggR1VJIHRhcmdldCwgYXN5bmM6ICVzIiwg Y21kbGluZTIpKTsKKyAgICAgICAgICAgcmV0X2NvZGUgPSBDcmVhdGVQcm9j ZXNzIChOVUxMLAorICAgICAgICAgICAgICAgY21kbGluZTIsLyogY29tbWFu ZCBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAg ICAgIE5VTEwsICAgIC8qIHByb2Nlc3Mgc2VjdXJpdHkgYXR0cmlidXRlcyAg ICAgICAgICovCisgICAgICAgICAgICAgICBOVUxMLCAgICAvKiBwcmltYXJ5 IHRocmVhZCBzZWN1cml0eSBhdHRyaWJ1dGVzICAqLworICAgICAgICAgICAg ICAgRkFMU0UsICAgLyogaGFuZGxlcyBhcmUgTk9UIGluaGVyaXRlZCwgICAg ICAgICAgKi8KKyAgICAgICAgICAgICAgIDAsICAgICAgIC8qIGNyZWF0aW9u IGZsYWdzICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAg ICBOVUxMLCAgICAvKiB1c2UgcGFyZW50J3MgZW52aXJvbm1lbnQgICAgICAg ICAgICAqLworICAgICAgICAgICAgICAgTlVMTCwgICAgLyogdXNlIHBhcmVu dCdzIGN1cnJlbnQgZGlyZWN0b3J5ICAgICAgKi8KKyAgICAgICAgICAgICAg ICZzdGFydCwgIC8qIFNUQVJUVVBJTkZPIHBvaW50ZXIgICAgICAgICAgICAg ICAgICovCisgICAgICAgICAgICAgICAmY2hpbGQpOyAvKiByZWNlaXZlcyBQ Uk9DRVNTX0lORk9STUFUSU9OICAgICAgICAqLworICAgICAgICAgICBpZiAo cmV0X2NvZGUgPT0gMCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICBUcmFjZSgoImdldGxhc3RlcnJvcjogJWRcbiIsIEdldExhc3RFcnJvcigp KSk7CisgICAgICAgICAgICAgICBlcnJvcigiY291bGQgbm90IHN0YXJ0ICVz IiwgZXhlYyk7CisgICAgICAgICAgICAgfQorICAgICAgICAgICByZXR1cm4g MDsKKyAgICAgICAgIH0KKyAgICAgfQorICAgZWxzZQorICAgICB7CisgICAg ICAgVHJhY2UoKCJMYXVuY2ggbm9uLUdVSSB0YXJnZXQiKSk7CisgICAgICAg cmV0X2NvZGUgPSBzdGFydF9jaGlsZChleGVjLCBjbWRsaW5lMix3YWl0X2Zv cl9jaGlsZCk7CisgICAgIH0KICAgIGlmIChjb21wYWN0X2ludm9jYXRpb24p CiAgICAgICBmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKSAvKiBhcmd2WzBd IHdhcyBub3QgbWFsbG9jJ2VkICovCiAgICAgICAgICBmcmVlKGFyZ3ZbaV0p OwpAQCAtMTc5LDYgKzIzNCw1MSBAQCBXaW5NYWluIChISU5TVEFOQ0UgaFNl bGYsIEhJTlNUQU5DRSBoUHJlCiAgICByZXR1cm4gKGludCkgcmV0X2NvZGU7 CiB9CiAKK3N0YXRpYyBCT09MIHRhcmdldF9pc19ndWkoY29uc3QgY2hhciog dGFyZ2V0X3BhdGgpCit7CisgIGNoYXIgcCwgZTsKKyAgRFdPUkRfUFRSIGQg PQorICBTSEdldEZpbGVJbmZvQSh0YXJnZXRfcGF0aCwgICAgLyogTFBDU1RS IHBzelBhdGggICAgICAgICAqLworICAgICAgICAgICAgICAgICAwLCAgICAg ICAgICAgICAgLyogRFdPUkQgZHdGaWxlQXR0cmlidXRlcyAqLworICAgICAg ICAgICAgICAgICBOVUxMLCAgICAgICAgICAgLyogU0hGSUxFSU5GTyAqcHNm aSAgICAgICAqLworICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAg LyogVUlOVCBjYkZpbGVJbmZvICAgICAgICAqLworICAgICAgICAgICAgICAg ICBTSEdGSV9FWEVUWVBFKTsgLyogVUlOVCB1RmxhZ3MgICAgICAgICAgICAq LworCisgIHAgPSBMT0JZVEUgKExPV09SRCAoZCkpOworICBlID0gSElCWVRF IChMT1dPUkQgKGQpKTsKKyAgVHJhY2UoKCJwPSVjXG5lPSVjXG52PSVkXG4i LCBwLCBlLCBISVdPUkQoZCkpKTsKKyAgcmV0dXJuICggKCgocD09J1AnKSB8 fCAocD09J04nKSkgJiYgKGU9PSdFJykpICYmIChISVdPUkQoZCkgIT0gMCkg KTsKK30KKworc3RhdGljIEJPT0wgaGF2ZV9jb25zb2xlICh2b2lkKQorewor ICAvKiBOb3RlOiB3ZSBkbyBpdCB0aGlzIHdheSBpbnN0ZWFkIG9mIHVzaW5n IEdldENvbnNvbGVXaW5kb3coKQorICAgKiBiZWNhdXNlIHdlIHdhbnQgaXQg dG8gd29yayBvbiA8IHcyay4KKyAgICovCisgIEhBTkRMRSBoQ29uT3V0Owor ICBTRUNVUklUWV9BVFRSSUJVVEVTICBzYTsKKyAgQ09OU09MRV9TQ1JFRU5f QlVGRkVSX0lORk8gYnVmZkluZm87CisKKyAgQk9PTCByZXR2YWwgPSBGQUxT RTsKKworICBzYS5uTGVuZ3RoID0gc2l6ZW9mKHNhKTsKKyAgc2EuYkluaGVy aXRIYW5kbGUgPSBUUlVFOworICBzYS5scFNlY3VyaXR5RGVzY3JpcHRvciA9 IE5VTEw7CisgIGhDb25PdXQgPSBDcmVhdGVGaWxlKCAiQ09OT1VUJCIsIEdF TkVSSUNfV1JJVEUgfCBHRU5FUklDX1JFQUQsCisgICAgICAgICAgICAgICAg ICAgICAgICBGSUxFX1NIQVJFX1JFQUQgfCBGSUxFX1NIQVJFX1dSSVRFLCAm c2EsCisgICAgICAgICAgICAgICAgICAgICAgICBPUEVOX0VYSVNUSU5HLCAw LCAwICk7CisgIGlmIChoQ29uT3V0ICE9IElOVkFMSURfSEFORExFX1ZBTFVF KQorICAgIHsKKyAgICAgIGlmIChHZXRDb25zb2xlU2NyZWVuQnVmZmVySW5m byhoQ29uT3V0LCZidWZmSW5mbykpCisgICAgICAgIHsKKyAgICAgICAgICBy ZXR2YWwgPSBUUlVFOworICAgICAgICB9CisgICAgICBDbG9zZUhhbmRsZSAo aENvbk91dCk7CisgICAgfQorICBUcmFjZSgoImhhdmUgY29uc29sZT8gJXMi LCAocmV0dmFsID8gInllcyIgOiAibm8iKSkpOworICByZXR1cm4gcmV0dmFs OworfQorCiAvKiBDb3B5IGN5Z3dpbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMg dG8gdGhlIFdpbmRvd3MgZW52aXJvbm1lbnQgaWYgdGhleSdyZSBub3QKICAq IGFscmVhZHkgdGhlcmUuICovCiBzdGF0aWMgdm9pZCBzZXR1cF93aW5fZW52 aXJvbih2b2lkKQpAQCAtMjAzLDYgKzMwMyw3IEBAIHN0YXRpYyB2b2lkIHNl dHVwX3dpbl9lbnZpcm9uKHZvaWQpCiAgICAgICAgIGZyZWUodmFyKTsKICAg ICB9CiB9CisKIEJPT0wgc2V0dXBfaW52aXNpYmxlX2NvbnNvbGUoKQogewog ICAgSFdJTlNUQSBoLCBob3JpZzsKQEAgLTIxNiwxMiArMzE3LDE0IEBAIEJP T0wgc2V0dXBfaW52aXNpYmxlX2NvbnNvbGUoKQogICAgQk9PTCBXSU5BUEkg KCpTZXRQcm9jZXNzV2luZG93U3RhdGlvbkZQKShIV0lOU1RBKSA9IE5VTEw7 CiAgICBCT09MIFdJTkFQSSAoKkNsb3NlV2luZG93U3RhdGlvbkZQKShIV0lO U1RBKSA9IE5VTEw7CiAKLSAgIC8qIHVudGlsIHdlIGhhdmUgYSBtZWNoYW5p c20gb2YgZGV0ZXJtaW5pbmcgd2hldGhlciBhIGdpdmVuIEhBTkRMRSAKLSAg ICAqIHJldHVybmVkIGJ5IEdldFN0ZEhhbmRsZXMgYWN0dWFsbHkgZGVyaXZl cyBmcm9tIGEgY29uc29sZSwgCi0gICAgKiB1bmNvbmRpdGlvbmFsbHkgY2Fs bCBGcmVlQ29uc29sZSgpIG9uIGFsbCBPU2VzIHVuZGVyIGFsbCBjb25kaXRp b25zLgotICAgICogU2VlIGNvbW1lbnRzIGluIGNvbmZpZ3VyZV9zdGFydHVw aW5mbygpLiAKLSAgICAqLwotICAgRnJlZUNvbnNvbGUoKTsKKyAgIFRyYWNl KCgiU2V0dGluZyB1cCBpbnZpc2libGUgY29uc29sZSB1c2luZyBzZXBhcmF0 ZSBXaW5kb3dTdGF0aW9uIikpOworCisgICAvKiBwYXJhbm9pYSAqLworICAg aWYgKGhhdmVfY29uc29sZSAoKSkKKyAgICAgeworICAgICAgIFRyYWNlKCgi QWxyZWFkeSBoYXZlIGEgY29uc29sZTsgbm90IHNldHRpbmcgdXAgYW5vdGhl ciBvbmUuIikpOworICAgICAgIHJldHVybiBUUlVFOworICAgICB9CiAKICAg IC8qIEZpcnN0LCBzZXQgdXAgZnVuY3Rpb24gcG9pbnRlcnMgKi8KICAgIGlm IChsaWIgPSBMb2FkTGlicmFyeSAoInVzZXIzMi5kbGwiKSkKQEAgLTI2NSwx NSArMzY4LDE3IEBAIEJPT0wgc2V0dXBfaW52aXNpYmxlX2NvbnNvbGUoKQog ICAgICAgICAgICAgICAgICAgICgqQ2xvc2VXaW5kb3dTdGF0aW9uRlApICho KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQorICAgICAgICAg ICBUcmFjZSgoIlN1Y2NlZWRlZCBpbiBzZXR0aW5nIHVwIGNvbnNvbGUgb24g c2VwYXJhdGUgV2luZG93IFN0YXRpb24/ICVzIiwgKGIgPyAieWVzIiA6ICJu byIpKSk7CiAgICAgICAgICAgIHJldHVybiBiOwogICAgICAgIH0KICAgIH0K ICAgIC8qIG90aGVyd2lzZSwgZmFpbCAqLworICAgVHJhY2UoKCJGYWlsZWQg dG8gc2V0IHVwIGNvbnNvbGUgb24gc2VwYXJhdGUgV2luZG93IFN0YXRpb24i KSk7CiAgICByZXR1cm4gRkFMU0U7CiB9CiAKIC8qIHJldHVybnMgRkFMU0Ug b25seSBvbiBlcnJvciBjb25kaXRpb25zIChub3QgaW1wbCkgKi8KLUJPT0wg Y29uZmlndXJlX3N0YXJ0dXBpbmZvKFNUQVJUVVBJTkZPKiBwc2ksIEJPT0wg YkhhdmVJbnZpc0NvbnNvbGUsCitCT09MIGNvbmZpZ3VyZV9zdGFydHVwaW5m byhTVEFSVFVQSU5GTyogcHNpLCBCT09MIGJIYXZlQ29uc29sZSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJPT0wgYkZvcmNlVXNpbmdQaXBlcywg Qk9PTCAqYlVzaW5nUGlwZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBIQU5ETEUqIGhwVG9DaGlsZCwgIEhBTkRMRSogaHBGcm9tQ2hpbGQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBIQU5ETEUqIGhwVG9QYXJlbnQs IEhBTkRMRSogaHBGcm9tUGFyZW50KQpAQCAtMjgzLDYgKzM4OCw4IEBAIEJP T0wgY29uZmlndXJlX3N0YXJ0dXBpbmZvKFNUQVJUVVBJTkZPKiAKICAgICBI QU5ETEUgaHBTdGRJbnB1dFsyXTsKICAgICBIQU5ETEUgaHBTdGRPdXRwdXRb Ml07CiAKKyAgICBUcmFjZSgoIkNvbmZpZ3VyaW5nIHN0YXJ0IGluZm8gZm9y IGNoaWxkIHByb2Nlc3MiKSk7CisKICAgICBaZXJvTWVtb3J5IChwc2ksIHNp emVvZiAoU1RBUlRVUElORk8pKTsKICAgICBwc2ktPmNiID0gc2l6ZW9mIChT VEFSVFVQSU5GTyk7CiAgICAgcHNpLT5oU3RkSW5wdXQgICA9IEdldFN0ZEhh bmRsZShTVERfSU5QVVRfSEFORExFKTsKQEAgLTI5MSwyNyArMzk4LDI5IEBA IEJPT0wgY29uZmlndXJlX3N0YXJ0dXBpbmZvKFNUQVJUVVBJTkZPKiAKICAg ICBwc2ktPmR3RmxhZ3MgICAgID0gU1RBUlRGX1VTRVNIT1dXSU5ET1cgfCBT VEFSVEZfVVNFU1RESEFORExFUzsKICAgICBwc2ktPndTaG93V2luZG93ID0g U1dfSElERTsKIAotICAgIC8qIGZvbygpIGlzIHNvbWUgbWFnaWMgbWVjaGFu aXNtIGZvciBkZXRlcm1pbmluZyB0aGF0IHRoZSBIQU5ETEVzIAotICAgICAq IHJldHVybmVkIGJ5IEdldFN0ZEhhbmRsZSgpIGFyZSBmcm9tIGEgY29uc29s ZSwgYW5kIG5vdCByZWRpcmVjdGVkCi0gICAgICogb3IgcHR5cyBvZiBzb21l IHNvcnQuICBJZiB3ZSBoYXZlIHN1Y2ggYSBtZWNoYW5pc20sIHRoZW4gdGhl IAotICAgICAqIHVuY29uZGl0aW9uYWwgRnJlZUNvbnNvbGUoKSBhdCB0aGUg dG9wIG9mIHNldHVwX2ludmlzaWJsZV9jb25zb2xlKCkKLSAgICAgKiBzaG91 bGQgYmUgcmVtb3ZlZC4KKyAgICAvKiBJZiB3ZSBoYXZlIGEgY29uc29sZSBh bmQgaGF2ZSBub3QgcmVxdWVzdGVkIHBpcGVzLAorICAgICAqIGVuc3VyZSB0 aGF0IHRoZSBjaGlsZCBzdGRpbyBoYW5kbGVzIGFyZSBwcm9wZXJseQorICAg ICAqIGNvbm5lY3RlZC4KICAgICAgKi8KLS8qCi0gICAgaWYgKCFiRm9yY2VV c2luZ1BpcGVzICYmIGZvbygpKQorICAgIGlmICghYkZvcmNlVXNpbmdQaXBl cyAmJiBiSGF2ZUNvbnNvbGUpCiAgICAgewotICAgICAgICpiVXNpbmdQaXBl cyA9IEZBTFNFOwotICAgICAgIHJldHVybiBUUlVFOwotICAgIH0KLSovCisg ICAgICBTRUNVUklUWV9BVFRSSUJVVEVTICBzYTsKIAotICAgIC8qIGJ1dCBm b3Igbm93LCB0aGUgb25seSB3YXkgd2UgS05PVyB3ZSBoYXZlIGEgY29uc29s ZSBpcwotICAgICAqIGlmIHdlIGNyZWF0ZWQgaXQgb3Vyc2VsdmVzCi0gICAg ICovCi0gICAgaWYgKCFiRm9yY2VVc2luZ1BpcGVzICYmIGJIYXZlSW52aXND b25zb2xlKQotICAgIHsKLSAgICAgICAqYlVzaW5nUGlwZXMgPSBGQUxTRTsK LSAgICAgICByZXR1cm4gVFJVRTsKKyAgICAgIHNhLm5MZW5ndGggPSBzaXpl b2Yoc2EpOworICAgICAgc2EuYkluaGVyaXRIYW5kbGUgPSBUUlVFOworICAg ICAgc2EubHBTZWN1cml0eURlc2NyaXB0b3IgPSBOVUxMOworCisgICAgICAq YlVzaW5nUGlwZXMgPSBGQUxTRTsKKyAgICAgIHBzaS0+aFN0ZElucHV0ICAg PSBDcmVhdGVGaWxlKCAiQ09OSU4kIiwgR0VORVJJQ19XUklURSB8IEdFTkVS SUNfUkVBRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFX1NIQVJF X1JFQUQsICZzYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBPUEVOX0VY SVNUSU5HLCAwLCAwICk7CisgICAgICBwc2ktPmhTdGRPdXRwdXQgID0gQ3Jl YXRlRmlsZSggIkNPTk9VVCQiLCBHRU5FUklDX1dSSVRFIHwgR0VORVJJQ19S RUFELAorICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEVfU0hBUkVfV1JJ VEUsICZzYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBPUEVOX0VYSVNU SU5HLCAwLCAwICk7CisgICAgICBwc2ktPmhTdGRFcnJvciAgID0gcHNpLT5o U3RkT3V0cHV0OworCisgICAgICBUcmFjZSgoIkhhdmUgYSBjb25zb2xlLCBh bmQgbm90IHJlcXVlc3RpbmcgcGlwZXM6IGNvbm5lY3RpbmcgY2hpbGQgc3Rk aW8gdG8gY29uc29sZSIpKTsKKyAgICAgIHJldHVybiBUUlVFOwogICAgIH0K IAogICAgIC8qIG90aGVyd2lzZSwgc2V0IHVwIHBpcGVzICovCkBAIC0zNDAs MzAgKzQ0OSwzMiBAQCBCT09MIGNvbmZpZ3VyZV9zdGFydHVwaW5mbyhTVEFS VFVQSU5GTyogCiAgICAgKmhwVG9QYXJlbnQgID0gaHBTdGRPdXRwdXRbMV07 CiAgICAgKmhwRnJvbVBhcmVudD0gaHBTdGRJbnB1dFswXTsKIAorICAgIFRy YWNlKCgiU2V0IHVwIHBpcGVzIGZvciBjaGlsZCBzdGRpbyIpKTsKICAgICBy ZXR1cm4gVFJVRTsKIH0KLWludCBzdGFydF9jaGlsZChjaGFyKiBjbWRsaW5l LCBpbnQgd2FpdF9mb3JfY2hpbGQpCisKK2ludCBzdGFydF9jaGlsZChjaGFy ICpleGVjLCBjaGFyKiBjbWRsaW5lLCBpbnQgd2FpdF9mb3JfY2hpbGQpCiB7 CiAgICBTVEFSVFVQSU5GTyBzdGFydDsKICAgIFBST0NFU1NfSU5GT1JNQVRJ T04gY2hpbGQ7CiAgICBEV09SRCByZXR2YWw7CiAgICBCT09MIGJGdW5jUmV0 dXJuOwotICAgQk9PTCBiSGF2ZUludmlzQ29uc29sZTsKICAgIEJPT0wgYlVz aW5nUGlwZXM7CiAgICBCT09MIGJGb3JjZVVzaW5nUGlwZXMgPSBGQUxTRTsK ICAgIEhBTkRMRSBoVG9DaGlsZCwgaEZyb21DaGlsZDsKICAgIEhBTkRMRSBo VG9QYXJlbnQsIGhGcm9tUGFyZW50OwogICAgQk9PTCBXSU5BUEkgKCpBdHRh Y2hDb25zb2xlRlApKERXT1JEKSA9IE5VTEw7CiAgICBIV05EIFdJTkFQSSAo KkdldENvbnNvbGVXaW5kb3dGUCkoVk9JRCkgPSBOVUxMOwotICAgRFdPUkQg Y3JlYXRpb25GbGFncyA9IDA7CisgICBCT09MIGJIYXZlQ29uc29sZSA9IEZB TFNFOworICAgQk9PTCBiVXNlTWVzc2FnZU9ubHlXb3JrYXJvdW5kID0gRkFM U0U7CiAKLSAgIHNldHVwX3dpbl9lbnZpcm9uKCk7CisgICBzZXR1cF93aW5f ZW52aXJvbiAoKTsKKyAgIGJIYXZlQ29uc29sZSA9IGhhdmVfY29uc29sZSAo KTsKIAotICAgLyogV29yayBhcm91bmQgYnVnIGluIFdpbmRvd3MgNy4gRm9y IFZpc3RhIGFuZCBiZWxvdywgY29udGludWUKLSAgICAqIHRvIHVzZSB0aGUg bW9yZSByZWxpYWJsZSBzZXR1cF9pbnZpc2libGVfY29uc29sZSgpIGFuZCBp dHMKLSAgICAqIHNlcGFyYXRlIFdpbmRvd1N0YXRpb24gYXBwcm9hY2g7IGZv ciBXNyB3ZSBuZWVkIHRoZXNlIHBvaW50ZXJzLgotICAgICovCi0gICBpZiAo b3NfdmVyc2lvbiA+PSAweDA2MDEpCisgICAvKiBOZWVkIHRoaXMgdG8gd29y ayBhcm91bmQgYSBidWcgaW4gV2luZG93cyA3ICovCisgICBiVXNlTWVzc2Fn ZU9ubHlXb3JrYXJvdW5kID0gKG9zX3ZlcnNpb24gPj0gMHgwNjAxKTsKKwor ICAgaWYgKGJVc2VNZXNzYWdlT25seVdvcmthcm91bmQpCiAgICAgIHsKICAg ICAgICBITU9EVUxFIGxpYiA9IEdldE1vZHVsZUhhbmRsZSAoImtlcm5lbDMy LmRsbCIpOwogICAgICAgIEF0dGFjaENvbnNvbGVGUCA9IChCT09MIFdJTkFQ SSAoKikoRFdPUkQpKQpAQCAtMzcyLDQ5ICs0ODMsNDEgQEAgaW50IHN0YXJ0 X2NoaWxkKGNoYXIqIGNtZGxpbmUsIGludCB3YWl0XwogICAgICAgICAgICBH ZXRQcm9jQWRkcmVzcyAobGliLCAiR2V0Q29uc29sZVdpbmRvdyIpOwogICAg ICAgIGlmICghQXR0YWNoQ29uc29sZUZQIHx8ICFHZXRDb25zb2xlV2luZG93 RlApCiAgICAgICAgICAgIG9zX3ZlcnNpb24gPSAwOwotI2lmIGRlZmluZWQo X19DWUdXSU5fXykgJiYgSEFWRV9ERUNMX0NZR1dJTl9DT05WX1BBVEgKLSAg ICAgICAvKiBhbmQgZm9yIGN5Z3dpbi0xLjcsIGFsc28gdGhpcywgYmVjYXVz ZSBjeWd3aW4ga2VybmVsCi0gICAgICAgICogd2lsbCBjcmVhdGUgYSBoaWRk ZW4gY29uc29sZSAtLSBvciBhdHRhY2ggY2hpbGQgdG8gYW4KLSAgICAgICAg KiBleGlzdGluZyBvbmUgLS0gZm9yIHVzLgotICAgICAgICAqLwotICAgICAg IC8qIGNyZWF0aW9uRmxhZ3MgfD0gQ1JFQVRFX05PX1dJTkRPVzsgKi8KLSNl bmRpZgogICAgICB9CiAKICNpZmRlZiBERUJVR19GT1JDRV9QSVBFUwotICAg YkhhdmVJbnZpc0NvbnNvbGUgPSBGQUxTRTsKICAgIGJGb3JjZVVzaW5nUGlw ZXMgPSBUUlVFOwogICAgRnJlZUNvbnNvbGUoKTsKKyAgIGJIYXZlQ29uc29s ZSA9IEZBTFNFOwogI2Vsc2UKLSAgIC8qIFdvcmsgYXJvdW5kIGJ1ZyBpbiBX aW5kb3dzIDcuIEZvciBWaXN0YSBhbmQgYmVsb3csIGNvbnRpbnVlCi0gICAg KiB0byB1c2UgdGhlIG1vcmUgcmVsaWFibGUgc2V0dXBfaW52aXNpYmxlX2Nv bnNvbGUoKSBhbmQgaXRzCi0gICAgKiBzZXBhcmF0ZSBXaW5kb3dTdGF0aW9u IGFwcHJvYWNoLgotICAgICovCi0gICBiSGF2ZUludmlzQ29uc29sZSA9IG9z X3ZlcnNpb24gPj0gMHgwNjAxID8gVFJVRSA6IHNldHVwX2ludmlzaWJsZV9j b25zb2xlKCk7Ci0gICAvKiBGaXggaXNzdWUgd2l0aCAxMDAlIENQVSB1c2Fn ZSB3aGVuIGxhdW5jaGluZyBjZXJ0YWluIGFwcHMgZnJvbQotICAgICogYSBj bWQuZXhlIGJveAotICAgICovCi0gICBiRm9yY2VVc2luZ1BpcGVzID0gKG9z X3ZlcnNpb24gPj0gMHgwNTAxKTsKKyAgIGlmIChiVXNlTWVzc2FnZU9ubHlX b3JrYXJvdW5kKQorICAgICB7CisgICAgICAgaWYgKCFiSGF2ZUNvbnNvbGUp CisgICAgICAgICB7CisgICAgICAgICAgIEFsbG9jQ29uc29sZSAoKTsKKyAg ICAgICAgICAgYkhhdmVDb25zb2xlID0gVFJVRTsKKyAgICAgICAgIH0KKyAg ICAgICBTZXRQYXJlbnQgKCgqR2V0Q29uc29sZVdpbmRvd0ZQKSAoKSwgSFdO RF9NRVNTQUdFKTsKKyAgICAgfQorICAgZWxzZSBpZiAoIWJIYXZlQ29uc29s ZSkKKyAgICAgeworICAgICAgIGJIYXZlQ29uc29sZSA9IHNldHVwX2ludmlz aWJsZV9jb25zb2xlKCk7CisgICAgIH0KICNlbmRpZgogCi0gICBpZiAoIWNv bmZpZ3VyZV9zdGFydHVwaW5mbygmc3RhcnQsIGJIYXZlSW52aXNDb25zb2xl LAorICAgaWYgKCFjb25maWd1cmVfc3RhcnR1cGluZm8oJnN0YXJ0LCBiSGF2 ZUNvbnNvbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiRm9y Y2VVc2luZ1BpcGVzLCAmYlVzaW5nUGlwZXMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmaFRvQ2hpbGQsICZoRnJvbUNoaWxkLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmhUb1BhcmVudCwgJmhGcm9tUGFy ZW50KSkKICAgICAgIGVycm9yKCJjb3VsZCBub3Qgc3RhcnQgJXMiLGNtZGxp bmUpOwogCi0jaWZkZWYgREVCVUcKLSAgIG1lc3NhZ2UoIlVzaW5nIFBpcGVz OiAlcyIsIChiVXNpbmdQaXBlcyA/ICJ5ZXMiIDogIm5vIikpOwotI2VuZGlm Ci0KICAgIFplcm9NZW1vcnkoICZjaGlsZCwgc2l6ZW9mKFBST0NFU1NfSU5G T1JNQVRJT04pICk7Ci0KICAgIGJGdW5jUmV0dXJuID0gQ3JlYXRlUHJvY2Vz cyAoTlVMTCwKICAgICAgICBjbWRsaW5lLCAvKiBjb21tYW5kIGxpbmUgICAg ICAgICAgICAgICAgICAgICAgICAqLwogICAgICAgIE5VTEwsICAgIC8qIHBy b2Nlc3Mgc2VjdXJpdHkgYXR0cmlidXRlcyAgICAgICAgICovCiAgICAgICAg TlVMTCwgICAgLyogcHJpbWFyeSB0aHJlYWQgc2VjdXJpdHkgYXR0cmlidXRl cyAgKi8KICAgICAgICBUUlVFLCAgICAvKiBoYW5kbGVzIGFyZSBpbmhlcml0 ZWQsICAgICAgICAgICAgICAqLwotICAgICAgIGNyZWF0aW9uRmxhZ3MsIC8q IGNyZWF0aW9uIGZsYWdzICAgICAgICAgICAgICAgICovCisgICAgICAgMCwg ICAgICAgLyogY3JlYXRpb24gZmxhZ3MgICAgICAgICAgICAgICAgICAgICAg Ki8KICAgICAgICBOVUxMLCAgICAvKiB1c2UgcGFyZW50J3MgZW52aXJvbm1l bnQgICAgICAgICAgICAqLwogICAgICAgIE5VTEwsICAgIC8qIHVzZSBwYXJl bnQncyBjdXJyZW50IGRpcmVjdG9yeSAgICAgICovCiAgICAgICAgJnN0YXJ0 LCAgLyogU1RBUlRVUElORk8gcG9pbnRlciAgICAgICAgICAgICAgICAgKi8K QEAgLTQ1NiwxNyArNTU5LDYgQEAgaW50IHN0YXJ0X2NoaWxkKGNoYXIqIGNt ZGxpbmUsIGludCB3YWl0XwogICAgICAgICAgIEdldEV4aXRDb2RlUHJvY2Vz cyAoY2hpbGQuaFByb2Nlc3MsICZyZXR2YWwpOwogICAgICAgfQogCi0gICAg ICAvKiBXb3JrIGFyb3VuZCBidWcgaW4gV2luZG93cyA3LiBGb3IgVmlzdGEg YW5kIGJlbG93LCBjb250aW51ZQotICAgICAgICogdG8gdXNlIHRoZSBtb3Jl IHJlbGlhYmxlIHNldHVwX2ludmlzaWJsZV9jb25zb2xlKCkgYW5kIGl0cwot ICAgICAgICogc2VwYXJhdGUgV2luZG93U3RhdGlvbiBhcHByb2FjaC4KLSAg ICAgICAqLwotICAgICAgaWYgKG9zX3ZlcnNpb24gPj0gMHgwNjAxKQotICAg ICAgewotICAgICAgICBGcmVlQ29uc29sZSAoKTsKLSAgICAgICAgKCpBdHRh Y2hDb25zb2xlRlApIChjaGlsZC5kd1Byb2Nlc3NJZCk7Ci0gICAgICAgIFNl dFBhcmVudCAoKCpHZXRDb25zb2xlV2luZG93RlApICgpLCBIV05EX01FU1NB R0UpOwotICAgICAgfQotCiAgICAgICBDbG9zZUhhbmRsZSAoY2hpbGQuaFRo cmVhZCk7CiAgICAgICBDbG9zZUhhbmRsZSAoY2hpbGQuaFByb2Nlc3MpOwog ICAgICAgaWYgKGJVc2luZ1BpcGVzKQpAQCAtNDg2LDYgKzU3OCw3IEBAIGlu dCBzdGFydF9jaGlsZChjaGFyKiBjbWRsaW5lLCBpbnQgd2FpdF8KICAgIH0K ICAgIHJldHVybiByZXR2YWw7CiB9CisKIHZvaWQgeGVtYWNzX3NwZWNpYWwo Y2hhciogZXhlYykKIHsKICAgLyoKQEAgLTUxOCwyOSArNjExLDMzIEBAIHZv aWQgeGVtYWNzX3NwZWNpYWwoY2hhciogZXhlYykKICAgICAgIH0KICAgIH0K IH0KLWludCBidWlsZF9jbWRsaW5lKGNoYXIqIG5ld19jbWRsaW5lLCBjaGFy KiBleGVjLCBpbnQgYXJnYywgY2hhciogYXJndltdKQoraW50IGJ1aWxkX2Nt ZGxpbmUoY2hhciogbmV3X2NtZGxpbmUsIGNoYXIqIGV4ZWMsIGludCAqYXJn YywgY2hhciogYXJndltdKQogewogICAgaW50IHJldHZhbCA9IEZBTFNFOwot ICAgaW50IGZpcnN0X2FyZyA9IDE7CiAgICBpbnQgaTsKICAgIGludCBjaGFy X2NudCA9IDA7CiAgICAvKgogICAgICogbG9vayBmb3IgIi13YWl0IiBhcyBm aXJzdCB0cnVlIGFyZ3VtZW50OyB3ZSdsbCBhcHBseSB0aGF0IG91cnNlbHZl cwogICAgICovCi0gICBpZiAoKGFyZ2MgPj0gMikgJiYgKHN0cmljbXAoYXJn dlsxXSwiLXdhaXQiKSA9PSAwKSkKKyAgIGlmICgoKmFyZ2MgPj0gMikgJiYg KHN0cmljbXAoYXJndlsxXSwiLXdhaXQiKSA9PSAwKSkKICAgIHsKICAgICAg IHJldHZhbCA9IFRSVUU7Ci0gICAgICBmaXJzdF9hcmcrKzsKKyAgICAgIC8q IHJlbW92ZSAtd2FpdCBmcm9tIGFyZ3YgYXJyYXkgKi8KKyAgICAgIGZyZWUg KGFyZ3ZbMV0pOworICAgICAgZm9yIChpID0gMTsgaSA8ICphcmdjLTE7IGkr KykKKyAgICAgICAgYXJndltpXSA9IGFyZ3ZbaSsxXTsKKyAgICAgIGFyZ3Zb KmFyZ2MtMV0gPSBOVUxMOworICAgICAgKmFyZ2MgLT0gMTsKICAgIH0KIAog ICAgY2hhcl9jbnQgPSBzdHJsZW4oZXhlYyk7Ci0gICBmb3IgKGkgPSBmaXJz dF9hcmc7IGkgPCBhcmdjOyBpKyspCisgICBmb3IgKGkgPSAxOyBpIDwgKmFy Z2M7IGkrKykKICAgICAgIGNoYXJfY250ICs9IHN0cmxlbihhcmd2W2ldKTsK ICAgIGlmIChjaGFyX2NudCA+IE1BWF9BUkdTKk1BWF9QQVRIKSAvKiB0aGVu IHdlIHJhbiBvdXQgb2Ygcm9vbSAqLwogICAgICAgZXJyb3IoImNvbW1hbmQg bGluZSB0b28gbG9uZyAtXG4lcyIsbmV3X2NtZGxpbmUpOwogCiAgICBzdHJj cHkobmV3X2NtZGxpbmUsZXhlYyk7Ci0gICBmb3IgKGkgPSBmaXJzdF9hcmc7 IGkgPCBhcmdjOyBpKyspCisgICBmb3IgKGkgPSAxOyBpIDwgKmFyZ2M7IGkr KykKICAgIHsKICAgICAgIHN0cmNhdChuZXdfY21kbGluZSwiICIpOwogICAg ICAgc3RyY2F0KG5ld19jbWRsaW5lLGFyZ3ZbaV0pOwpAQCAtNzM3LDYgKzgz NCw3IEBAIHZvaWQgcHJvY2Vzc19leGVjbmFtZShjaGFyICpleGVjLCBjb25z dCAKICAgIHN0cmNweSAoZXhlYywgZXhlY190bXAyKTsKICNlbmRpZgogfQor CiBpbnQgZW5kc1dpdGgoY29uc3QgY2hhciogczEsIGNvbnN0IGNoYXIqIHMy KQogewogICAgIGludCBsZW4xOwpAQCAtNzQ4LDcgKzg0Niw5IEBAIGludCBl bmRzV2l0aChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hhcioKICAgICAgICAg aWYgKHN0cmljbXAoJihzMVtsZW4xLWxlbjJdKSxzMikgPT0gMCkKICAgICAg ICAgICAgIHJldHZhbCA9IFRSVUU7CiAgICAgcmV0dXJuIHJldHZhbDsKLX12 b2lkIHN0cmlwX2V4ZShjaGFyKiBzKQorfQorCit2b2lkIHN0cmlwX2V4ZShj aGFyKiBzKQogewogICAgaWYgKChzdHJsZW4ocykgPiA0KSAmJiAvKiBsb25n IGVub3VnaCB0byBoYXZlIC5leGUgZXh0ZW5zaW9uICovCiAgICAgICAgLyog c2Vjb25kIHBhcnQgbm90IGV2YWx1YXRlZCAoc2hvcnQgY2lyY3VpdCkgaWYg ZXhlY19hcmcgdG9vIHNob3J0ICovCkluZGV4OiBzcmMvcnVuLmgKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9jeWd3aW4tYXBwcy9y dW4vc3JjL3J1bi5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIKZGlmZiAt dSAtcCAtcjEuMiBydW4uaAotLS0gc3JjL3J1bi5oCTE2IEF1ZyAyMDA5IDAz OjE4OjQ4IC0wMDAwCTEuMgorKysgc3JjL3J1bi5oCTE3IEF1ZyAyMDA5IDIy OjMzOjIzIC0wMDAwCkBAIC03NCw3ICs3NCw3IEBACiAjZW5kaWYKIAogI2Rl ZmluZSBOVU1fRVhURU5TSU9OUyAyCi1jb25zdCBjaGFyKiBleHRzW05VTV9F WFRFTlNJT05TXSA9IHsgIiIsICIuZXhlIiB9OworY29uc3QgY2hhciogZXh0 c1tOVU1fRVhURU5TSU9OU10gPSB7ICIuZXhlIiwgIiIgfTsKIAogY2hhciog cGZvcGVuKGNoYXIgKnJldHZhbCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qg Y2hhciAqZGlycyk7CiB2b2lkIGVycm9yKGNoYXIqIGZtdCwgLi4uKTsKQEAg LTg0LDkgKzg0LDkgQEAgaW50IGdldF9leGVjX25hbWVfYW5kX3BhdGgoY2hh ciogZXhlY25hbQogY2hhciogbXlfc3RydG9rKGNoYXIqIHMsIGNvbnN0IGNo YXIqIGRlbGltLCBjaGFyKiogbGFzdHMpOwogaW50IHBhcnNlX2NtZGxpbmVf dG9fYXJnX2FycmF5KGNoYXIqIGFyZ3ZbTUFYX0FSR1NdLCBjaGFyKiBjbWRs aW5lKTsKIHZvaWQgc3RyaXBfZXhlKGNoYXIqIHMpOwotaW50IHN0YXJ0X2No aWxkKGNoYXIqIGNtZGxpbmUsIGludCB3YWl0X2Zvcl9jaGlsZCk7CitpbnQg c3RhcnRfY2hpbGQoY2hhciAqZXhlYywgY2hhciogY21kbGluZSwgaW50IHdh aXRfZm9yX2NoaWxkKTsKIHZvaWQgeGVtYWNzX3NwZWNpYWwoY2hhciogZXhl Yyk7Ci1pbnQgYnVpbGRfY21kbGluZShjaGFyKiBuZXdfY21kbGluZSwgY2hh ciogZXhlYywgaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSk7CitpbnQgYnVpbGRf Y21kbGluZShjaGFyKiBuZXdfY21kbGluZSwgY2hhciogZXhlYywgaW50ICph cmdjLCBjaGFyKiBhcmd2W10pOwogdm9pZCBwcm9jZXNzX2V4ZWNuYW1lKGNo YXIgKmV4ZWMsIGNvbnN0IGNoYXIqIGV4ZWNuYW1lLCBjb25zdCBjaGFyKiBl eGVjcGF0aCk7CiBpbnQgZmlsZUV4aXN0cyhjaGFyKiBmdWxsbmFtZSwgY29u c3QgY2hhciogcGF0aCwgY29uc3QgY2hhciogbmFtZSk7CiBpbnQgZW5kc1dp dGgoY29uc3QgY2hhciogczEsIGNvbnN0IGNoYXIqIHMyKTsK --------------090409070907000806080905 Content-Type: text/plain; charset=us-ascii -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --------------090409070907000806080905--