delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/08/17/18:40:13

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 <cygwin AT cwilson DOT fastmail DOT fm>
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>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019