delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2000/09/02/11:53:26

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Date: Sat, 2 Sep 2000 19:51:59 +0400
From: Egor Duda <deo AT logos-m DOT ru>
X-Mailer: The Bat! (v1.45) Personal
Reply-To: Egor Duda <cygwin-developers AT sources DOT redhat DOT com>
Organization: DEO
X-Priority: 3 (Normal)
Message-ID: <11977784207.20000902195159@logos-m.ru>
To: Chris Faylor <cygwin-developers AT sources DOT redhat DOT com>
Subject: sigframe inlining
In-reply-To: <20000901211953.A32424@cygnus.com>
References: <1975989842 DOT 20000901235524 AT logos-m DOT ru>
<20000901160904 DOT A29015 AT cygnus DOT com> <1137440989 DOT 20000902001935 AT logos-m DOT ru>
<20000901163248 DOT A29171 AT cygnus DOT com> <1958635367 DOT 20000902003930 AT logos-m DOT ru>
<20000901205807 DOT A32178 AT cygnus DOT com> <20000901211953 DOT A32424 AT cygnus DOT com>
Mime-Version: 1.0

------------912F24F18B692E7
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi!

Saturday, 02 September, 2000 Chris Faylor cgf AT cygnus DOT com wrote:

>>I've duplicated the problem. A test case is below.
>>
>>I'll look into this.

CF> I've checked in a fix.

Thanks!

today i've got another bug, when i've compiled cygwin without -O2 flag
since   gcc   stops   inining   class   sigframe   member   functions,
__builtin_frame_address   got   wrong  stack  offset.  this  leads  to
api_fatal in signal handler. how about this patch?

Egor.          mailto:deo AT logos-m DOT ru ICQ 5165414 FidoNet 2:5020/496.19
------------912F24F18B692E7
Content-Type: application/octet-stream; name="sigframe-inline.ChangeLog"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sigframe-inline.ChangeLog"

MjAwMC0wOS0wMiAgRWdvciBEdWRhICA8ZGVvQGxvZ29zLW0ucnU+CgoJKiBzaWdwcm9jLmggKGNs
YXNzIHNpZ2ZyYW1lKTogZGVmaW5lIG1hY3JvcyBmb3Igc2lnZnJhbWUgY3JlYXRpb24KCWFuZCBt
b2RpZmljYXRpb24gdG8gbWFrZSBzaWdmcmFtZSBpbmRlcGVuZGVudCB0byBpbmxpbmluZwoJKiBu
ZXQuY2MgKGN5Z3dpbl9zZW5kdG8pOiB1dGlsaXplIHNpZ2ZyYW1lIG1hY3JvcwoJKGN5Z3dpbl9y
ZWN2ZnJvbSk6IERpdHRvCgkoY3lnd2luX2Nvbm5lY3QpOiBEaXR0bwoJKGN5Z3dpbl9hY2NlcHQp
OiBEaXR0bwoJKGN5Z3dpbl9zaHV0ZG93bik6IERpdHRvCgkoY3lnd2luX3JlY3YpOiBEaXR0bwoJ
KGN5Z3dpbl9zZW5kKTogRGl0dG8KCShjeWd3aW5fcmNtZCk6IERpdHRvCgkoY3lnd2luX3JyZXN2
cG9ydCk6IERpdHRvCgkoY3lnd2luX3JleGVjKTogRGl0dG8KCShmaGFuZGxlcl9zb2NrZXQ6OnJl
YWQpOiBEaXR0bwoJKGZoYW5kbGVyX3NvY2tldDo6d3JpdGUpOiBEaXR0bwoJKGZoYW5kbGVyX3Nv
Y2tldDo6Y2xvc2UpOiBEaXR0bwoJKGZoYW5kbGVyX3NvY2tldDo6aW9jdGwpOiBEaXR0bwoJKiBz
ZWxlY3QuY2MgKGN5Z3dpbl9zZWxlY3QpOiBEaXR0bwoJKiBzaWdwcm9jLmNjIChzaWdfc2VuZCk6
IERpdHRvCgkqIHNpZ3Byb2MuY2MgKFdGU08pOiBEaXR0bwoJKiBzaWdwcm9jLmNjIChXRk1PKTog
RGl0dG8KCSogc3lzY2FsbHMuY2MgKHJlYWRfaGFuZGxlcik6IERpdHRvCg==

------------912F24F18B692E7
Content-Type: application/octet-stream; name="sigframe-inline.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sigframe-inline.diff"

SW5kZXg6IHdpbnN1cC9jeWd3aW4vbmV0LmNjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2R1
ZGFfYWRtaW4vY3ZzLW1pcnJvci9zcmMvd2luc3VwL2N5Z3dpbi9uZXQuY2MsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMTQKZGlmZiAtYyAtMiAtcjEuMTQgbmV0LmNjCioqKiB3aW5zdXAvY3lnd2lu
L25ldC5jYwkyMDAwLzA4LzIyIDA1OjEwOjIwCTEuMTQKLS0tIHdpbnN1cC9jeWd3aW4vbmV0LmNj
CTIwMDAvMDkvMDIgMTQ6NTM6MjYKKioqKioqKioqKioqKioqCioqKiA0MzAsNDM0ICoqKioKICAg
IGZoYW5kbGVyX3NvY2tldCAqaCA9IChmaGFuZGxlcl9zb2NrZXQgKikgZmR0YWJbZmRdOwogICAg
c29ja2FkZHJfaW4gc2luOwohICAgc2lnZnJhbWUgdGhpc2ZyYW1lIChtYWludGhyZWFkLCAwKTsK
ICAKICAgIGlmIChnZXRfaW5ldF9hZGRyICh0bywgdG9sZW4sICZzaW4sICZ0b2xlbikgPT0gMCkK
LS0tIDQzMCw0MzQgLS0tLQogICAgZmhhbmRsZXJfc29ja2V0ICpoID0gKGZoYW5kbGVyX3NvY2tl
dCAqKSBmZHRhYltmZF07CiAgICBzb2NrYWRkcl9pbiBzaW47CiEgICBTSUdGUkFNRV9IRVJFKG1h
aW50aHJlYWQpOwogIAogICAgaWYgKGdldF9pbmV0X2FkZHIgKHRvLCB0b2xlbiwgJnNpbiwgJnRv
bGVuKSA9PSAwKQoqKioqKioqKioqKioqKioKKioqIDQ1Niw0NjAgKioqKgogIHsKICAgIGZoYW5k
bGVyX3NvY2tldCAqaCA9IChmaGFuZGxlcl9zb2NrZXQgKikgZmR0YWJbZmRdOwohICAgc2lnZnJh
bWUgdGhpc2ZyYW1lIChtYWludGhyZWFkLCAwKTsKICAKICAgIGRlYnVnX3ByaW50ZiAoInJlY3Zm
cm9tICVkIiwgaC0+Z2V0X3NvY2tldCAoKSk7Ci0tLSA0NTYsNDYwIC0tLS0KICB7CiAgICBmaGFu
ZGxlcl9zb2NrZXQgKmggPSAoZmhhbmRsZXJfc29ja2V0ICopIGZkdGFiW2ZkXTsKISAgIFNJR0ZS
QU1FX0hFUkUobWFpbnRocmVhZCk7CiAgCiAgICBkZWJ1Z19wcmludGYgKCJyZWN2ZnJvbSAlZCIs
IGgtPmdldF9zb2NrZXQgKCkpOwoqKioqKioqKioqKioqKioKKioqIDYxMyw2MTcgKioqKgogICAg
ZmhhbmRsZXJfc29ja2V0ICpzb2NrID0gZ2V0IChmZCk7CiAgICBzb2NrYWRkcl9pbiBzaW47CiEg
ICBzaWdmcmFtZSB0aGlzZnJhbWUgKG1haW50aHJlYWQsIDApOwogIAogICAgaWYgKGdldF9pbmV0
X2FkZHIgKG5hbWUsIG5hbWVsZW4sICZzaW4sICZuYW1lbGVuKSA9PSAwKQotLS0gNjEzLDYxNyAt
LS0tCiAgICBmaGFuZGxlcl9zb2NrZXQgKnNvY2sgPSBnZXQgKGZkKTsKICAgIHNvY2thZGRyX2lu
IHNpbjsKISAgIFNJR0ZSQU1FX0hFUkUobWFpbnRocmVhZCk7CiAgCiAgICBpZiAoZ2V0X2luZXRf
YWRkciAobmFtZSwgbmFtZWxlbiwgJnNpbiwgJm5hbWVsZW4pID09IDApCioqKioqKioqKioqKioq
KgoqKiogNzI2LDczMCAqKioqCiAgewogICAgaW50IHJlcyA9IC0xOwohICAgc2lnZnJhbWUgdGhp
c2ZyYW1lIChtYWludGhyZWFkLCAwKTsKICAKICAgIGZoYW5kbGVyX3NvY2tldCAqc29jayA9IGdl
dCAoZmQpOwotLS0gNzI2LDczMCAtLS0tCiAgewogICAgaW50IHJlcyA9IC0xOwohICAgU0lHRlJB
TUVfSEVSRShtYWludGhyZWFkKTsKICAKICAgIGZoYW5kbGVyX3NvY2tldCAqc29jayA9IGdldCAo
ZmQpOwoqKioqKioqKioqKioqKioKKioqIDkxMiw5MTYgKioqKgogIHsKICAgIGludCByZXMgPSAt
MTsKISAgIHNpZ2ZyYW1lIHRoaXNmcmFtZSAobWFpbnRocmVhZCwgMCk7CiAgCiAgICBmaGFuZGxl
cl9zb2NrZXQgKnNvY2sgPSBnZXQgKGZkKTsKLS0tIDkxMiw5MTYgLS0tLQogIHsKICAgIGludCBy
ZXMgPSAtMTsKISAgIFNJR0ZSQU1FX0hFUkUobWFpbnRocmVhZCk7CiAgCiAgICBmaGFuZGxlcl9z
b2NrZXQgKnNvY2sgPSBnZXQgKGZkKTsKKioqKioqKioqKioqKioqCioqKiA5NTUsOTU5ICoqKioK
ICB7CiAgICBmaGFuZGxlcl9zb2NrZXQgKmggPSAoZmhhbmRsZXJfc29ja2V0ICopIGZkdGFiW2Zk
XTsKISAgIHNpZ2ZyYW1lIHRoaXNmcmFtZSAobWFpbnRocmVhZCwgMCk7CiAgCiAgICBpbnQgcmVz
ID0gcmVjdiAoaC0+Z2V0X3NvY2tldCAoKSwgKGNoYXIgKikgYnVmLCBsZW4sIGZsYWdzKTsKLS0t
IDk1NSw5NTkgLS0tLQogIHsKICAgIGZoYW5kbGVyX3NvY2tldCAqaCA9IChmaGFuZGxlcl9zb2Nr
ZXQgKikgZmR0YWJbZmRdOwohICAgU0lHRlJBTUVfSEVSRShtYWludGhyZWFkKTsKICAKICAgIGlu
dCByZXMgPSByZWN2IChoLT5nZXRfc29ja2V0ICgpLCAoY2hhciAqKSBidWYsIGxlbiwgZmxhZ3Mp
OwoqKioqKioqKioqKioqKioKKioqIDk4MSw5ODUgKioqKgogIHsKICAgIGZoYW5kbGVyX3NvY2tl
dCAqaCA9IChmaGFuZGxlcl9zb2NrZXQgKikgZmR0YWJbZmRdOwohICAgc2lnZnJhbWUgdGhpc2Zy
YW1lIChtYWludGhyZWFkLCAwKTsKICAKICAgIGludCByZXMgPSBzZW5kIChoLT5nZXRfc29ja2V0
ICgpLCAoY29uc3QgY2hhciAqKSBidWYsIGxlbiwgZmxhZ3MpOwotLS0gOTgxLDk4NSAtLS0tCiAg
ewogICAgZmhhbmRsZXJfc29ja2V0ICpoID0gKGZoYW5kbGVyX3NvY2tldCAqKSBmZHRhYltmZF07
CiEgICBTSUdGUkFNRV9IRVJFKG1haW50aHJlYWQpOwogIAogICAgaW50IHJlcyA9IHNlbmQgKGgt
PmdldF9zb2NrZXQgKCksIChjb25zdCBjaGFyICopIGJ1ZiwgbGVuLCBmbGFncyk7CioqKioqKioq
KioqKioqKgoqKiogMTM2OCwxMzcyICoqKioKICAgIGludCByZXMgPSAtMTsKICAgIFNPQ0tFVCBm
ZDJzOwohICAgc2lnZnJhbWUgdGhpc2ZyYW1lIChtYWludGhyZWFkLCAwKTsKICAKICAgIGludCBy
ZXNfZmQgPSBmZHRhYi5maW5kX3VudXNlZF9oYW5kbGUgKCk7Ci0tLSAxMzY4LDEzNzIgLS0tLQog
ICAgaW50IHJlcyA9IC0xOwogICAgU09DS0VUIGZkMnM7CiEgICBTSUdGUkFNRV9IRVJFKG1haW50
aHJlYWQpOwogIAogICAgaW50IHJlc19mZCA9IGZkdGFiLmZpbmRfdW51c2VkX2hhbmRsZSAoKTsK
KioqKioqKioqKioqKioqCioqKiAxNDA4LDE0MTIgKioqKgogIHsKICAgIGludCByZXMgPSAtMTsK
ISAgIHNpZ2ZyYW1lIHRoaXNmcmFtZSAobWFpbnRocmVhZCwgMCk7CiAgCiAgICBpbnQgcmVzX2Zk
ID0gZmR0YWIuZmluZF91bnVzZWRfaGFuZGxlICgpOwotLS0gMTQwOCwxNDEyIC0tLS0KICB7CiAg
ICBpbnQgcmVzID0gLTE7CiEgICBTSUdGUkFNRV9IRVJFKG1haW50aHJlYWQpOwogIAogICAgaW50
IHJlc19mZCA9IGZkdGFiLmZpbmRfdW51c2VkX2hhbmRsZSAoKTsKKioqKioqKioqKioqKioqCioq
KiAxNDM3LDE0NDEgKioqKgogICAgaW50IHJlcyA9IC0xOwogICAgU09DS0VUIGZkMnM7CiEgICBz
aWdmcmFtZSB0aGlzZnJhbWUgKG1haW50aHJlYWQsIDApOwogIAogICAgaW50IHJlc19mZCA9IGZk
dGFiLmZpbmRfdW51c2VkX2hhbmRsZSAoKTsKLS0tIDE0MzcsMTQ0MSAtLS0tCiAgICBpbnQgcmVz
ID0gLTE7CiAgICBTT0NLRVQgZmQyczsKISAgIFNJR0ZSQU1FX0hFUkUobWFpbnRocmVhZCk7CiAg
CiAgICBpbnQgcmVzX2ZkID0gZmR0YWIuZmluZF91bnVzZWRfaGFuZGxlICgpOwoqKioqKioqKioq
KioqKioKKioqIDE2MTUsMTYxOSAqKioqCiAgZmhhbmRsZXJfc29ja2V0OjpyZWFkICh2b2lkICpw
dHIsIHNpemVfdCBsZW4pCiAgewohICAgc2lnZnJhbWUgdGhpc2ZyYW1lIChtYWludGhyZWFkKTsK
ICAgIGludCByZXMgPSByZWN2IChnZXRfc29ja2V0ICgpLCAoY2hhciAqKSBwdHIsIGxlbiwgMCk7
CiAgICBpZiAocmVzID09IFNPQ0tFVF9FUlJPUikKLS0tIDE2MTUsMTYxOSAtLS0tCiAgZmhhbmRs
ZXJfc29ja2V0OjpyZWFkICh2b2lkICpwdHIsIHNpemVfdCBsZW4pCiAgewohICAgU0lHRlJBTUVf
SEVSRShtYWludGhyZWFkKTsKICAgIGludCByZXMgPSByZWN2IChnZXRfc29ja2V0ICgpLCAoY2hh
ciAqKSBwdHIsIGxlbiwgMCk7CiAgICBpZiAocmVzID09IFNPQ0tFVF9FUlJPUikKKioqKioqKioq
KioqKioqCioqKiAxNjI3LDE2MzEgKioqKgogIGZoYW5kbGVyX3NvY2tldDo6d3JpdGUgKGNvbnN0
IHZvaWQgKnB0ciwgc2l6ZV90IGxlbikKICB7CiEgICBzaWdmcmFtZSB0aGlzZnJhbWUgKG1haW50
aHJlYWQpOwogICAgaW50IHJlcyA9IHNlbmQgKGdldF9zb2NrZXQgKCksIChjb25zdCBjaGFyICop
IHB0ciwgbGVuLCAwKTsKICAgIGlmIChyZXMgPT0gU09DS0VUX0VSUk9SKQotLS0gMTYyNywxNjMx
IC0tLS0KICBmaGFuZGxlcl9zb2NrZXQ6OndyaXRlIChjb25zdCB2b2lkICpwdHIsIHNpemVfdCBs
ZW4pCiAgewohICAgU0lHRlJBTUVfSEVSRShtYWludGhyZWFkKTsKICAgIGludCByZXMgPSBzZW5k
IChnZXRfc29ja2V0ICgpLCAoY29uc3QgY2hhciAqKSBwdHIsIGxlbiwgMCk7CiAgICBpZiAocmVz
ID09IFNPQ0tFVF9FUlJPUikKKioqKioqKioqKioqKioqCioqKiAxNjQzLDE2NDcgKioqKgogIHsK
ICAgIGludCByZXMgPSAwOwohICAgc2lnZnJhbWUgdGhpc2ZyYW1lIChtYWludGhyZWFkKTsKICAK
ICAgIGlmIChjbG9zZXNvY2tldCAoZ2V0X3NvY2tldCAoKSkpCi0tLSAxNjQzLDE2NDcgLS0tLQog
IHsKICAgIGludCByZXMgPSAwOwohICAgU0lHRlJBTUVfSEVSRShtYWludGhyZWFkKTsKICAKICAg
IGlmIChjbG9zZXNvY2tldCAoZ2V0X3NvY2tldCAoKSkpCioqKioqKioqKioqKioqKgoqKiogMTY4
MiwxNjg2ICoqKioKICAgIHN0cnVjdCBpZmNvbmYgKmlmYzsKICAgIHN0cnVjdCBpZnJlcSAqaWZy
OwohICAgc2lnZnJhbWUgdGhpc2ZyYW1lIChtYWludGhyZWFkKTsKICAKICAgIHN3aXRjaCAoY21k
KQotLS0gMTY4MiwxNjg2IC0tLS0KICAgIHN0cnVjdCBpZmNvbmYgKmlmYzsKICAgIHN0cnVjdCBp
ZnJlcSAqaWZyOwohICAgU0lHRlJBTUVfSEVSRShtYWludGhyZWFkKTsKICAKICAgIHN3aXRjaCAo
Y21kKQpJbmRleDogd2luc3VwL2N5Z3dpbi9zZWxlY3QuY2MKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2hvbWUvZHVkYV9hZG1pbi9jdnMtbWlycm9yL3NyYy93aW5zdXAvY3lnd2luL3NlbGVjdC5jYyx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNApkaWZmIC1jIC0yIC1yMS4yNCBzZWxlY3QuY2MKKioq
IHdpbnN1cC9jeWd3aW4vc2VsZWN0LmNjCTIwMDAvMDgvMjQgMjE6MTk6MTQJMS4yNAotLS0gd2lu
c3VwL2N5Z3dpbi9zZWxlY3QuY2MJMjAwMC8wOS8wMiAxNDo1MzoyNgoqKioqKioqKioqKioqKioK
KioqIDExOSwxMjMgKioqKgogICAgZmRfc2V0ICpkdW1teV93cml0ZWZkcyA9IGFsbG9jZmRfc2V0
IChtYXhmZHMpOwogICAgZmRfc2V0ICpkdW1teV9leGNlcHRmZHMgPSBhbGxvY2ZkX3NldCAobWF4
ZmRzKTsKISAgIHNpZ2ZyYW1lIHRoaXNmcmFtZSAobWFpbnRocmVhZCwgMCk7CiAgCiAgI2lmIDAK
LS0tIDExOSwxMjMgLS0tLQogICAgZmRfc2V0ICpkdW1teV93cml0ZWZkcyA9IGFsbG9jZmRfc2V0
IChtYXhmZHMpOwogICAgZmRfc2V0ICpkdW1teV9leGNlcHRmZHMgPSBhbGxvY2ZkX3NldCAobWF4
ZmRzKTsKISAgIFNJR0ZSQU1FX0hFUkUobWFpbnRocmVhZCk7CiAgCiAgI2lmIDAKSW5kZXg6IHdp
bnN1cC9jeWd3aW4vc2lncHJvYy5jYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9kdWRhX2Fk
bWluL2N2cy1taXJyb3Ivc3JjL3dpbnN1cC9jeWd3aW4vc2lncHJvYy5jYyx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4zNQpkaWZmIC1jIC0yIC1yMS4zNSBzaWdwcm9jLmNjCioqKiB3aW5zdXAvY3ln
d2luL3NpZ3Byb2MuY2MJMjAwMC8wOS8wMiAwMToxOTo1OAkxLjM1Ci0tLSB3aW5zdXAvY3lnd2lu
L3NpZ3Byb2MuY2MJMjAwMC8wOS8wMiAxNDo1MzoyNwoqKioqKioqKioqKioqKioKKioqIDc4Miw3
ODYgKioqKgogIAkgIHRoaXNjYXRjaCA9IHNpZ2NhdGNoX21haW47CiAgCSAgdGhpc2NvbXBsZXRl
ID0gc2lnY29tcGxldGVfbWFpbjsKISAJICB0aGlzZnJhbWUuc2V0IChtYWludGhyZWFkLCAxLCBl
YnApOwogIAl9CiAgICAgIH0KLS0tIDc4Miw3ODYgLS0tLQogIAkgIHRoaXNjYXRjaCA9IHNpZ2Nh
dGNoX21haW47CiAgCSAgdGhpc2NvbXBsZXRlID0gc2lnY29tcGxldGVfbWFpbjsKISAJICBTSUdG
UkFNRV9TRVRfSEVSRSh0aGlzZnJhbWUsIG1haW50aHJlYWQsIDEsIGVicCk7CiAgCX0KICAgICAg
fQoqKioqKioqKioqKioqKioKKioqIDE0MDUsMTQwOSAqKioqCiAgewogICAgRFdPUkQgcmV0Owoh
ICAgc2lnZnJhbWUgdGhpc2ZyYW1lIChtYWludGhyZWFkKTsKICAgIHJldCA9IFdhaXRGb3JTaW5n
bGVPYmplY3QgKGhIYW5kbGUsIGR3TWlsbGlzZWNvbmRzKTsKICAgIHJldHVybiByZXQ7Ci0tLSAx
NDA1LDE0MDkgLS0tLQogIHsKICAgIERXT1JEIHJldDsKISAgIFNJR0ZSQU1FX0hFUkUobWFpbnRo
cmVhZCk7CiAgICByZXQgPSBXYWl0Rm9yU2luZ2xlT2JqZWN0IChoSGFuZGxlLCBkd01pbGxpc2Vj
b25kcyk7CiAgICByZXR1cm4gcmV0OwoqKioqKioqKioqKioqKioKKioqIDE0MTYsMTQyMiAqKioq
CiAgewogICAgRFdPUkQgcmV0OwohICAgc2lnZnJhbWUgdGhpc2ZyYW1lIChtYWludGhyZWFkKTsK
ICAgIHJldCA9IFdhaXRGb3JNdWx0aXBsZU9iamVjdHMgKG5Db3VudCwgbHBIYW5kbGVzLCBmV2Fp
dEFsbCwgZHdNaWxsaXNlY29uZHMpOwogICAgcmV0dXJuIHJldDsKICB9CiAgfQotLS0gMTQxNiwx
NDIzIC0tLS0KICB7CiAgICBEV09SRCByZXQ7CiEgICBTSUdGUkFNRV9IRVJFKG1haW50aHJlYWQp
OwogICAgcmV0ID0gV2FpdEZvck11bHRpcGxlT2JqZWN0cyAobkNvdW50LCBscEhhbmRsZXMsIGZX
YWl0QWxsLCBkd01pbGxpc2Vjb25kcyk7CiAgICByZXR1cm4gcmV0OwogIH0KICB9CisgCkluZGV4
OiB3aW5zdXAvY3lnd2luL3NpZ3Byb2MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9kdWRh
X2FkbWluL2N2cy1taXJyb3Ivc3JjL3dpbnN1cC9jeWd3aW4vc2lncHJvYy5oLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjE1CmRpZmYgLWMgLTIgLXIxLjE1IHNpZ3Byb2MuaAoqKiogd2luc3VwL2N5
Z3dpbi9zaWdwcm9jLmgJMjAwMC8wOS8wMSAyMDo1NDoyMgkxLjE1Ci0tLSB3aW5zdXAvY3lnd2lu
L3NpZ3Byb2MuaAkyMDAwLzA5LzAyIDE0OjUzOjMwCioqKioqKioqKioqKioqKgoqKiogNDIsNDUg
KioqKgotLS0gNDIsNDggLS0tLQogIH07CiAgCisgI2RlZmluZSBTSUdGUkFNRV9IRVJFKHRocmVh
ZCkJc2lnZnJhbWUgdGhpc2ZyYW1lKHRocmVhZCwgKERXT1JEKShfX2J1aWx0aW5fZnJhbWVfYWRk
cmVzcygwKSkgKQorICNkZWZpbmUgU0lHRlJBTUVfU0VUX0hFUkUoZnJhbWUsdGhyZWFkLHVwLGVi
cCkJZnJhbWUuc2V0KHRocmVhZCwgKGVicD86KERXT1JEKShfX2J1aWx0aW5fZnJhbWVfYWRkcmVz
cyh1cD8xOjApKSkgKQorIAogIGNsYXNzIHNpZ2ZyYW1lCiAgewoqKioqKioqKioqKioqKioKKioq
IDQ4LDY4ICoqKioKICAKICBwdWJsaWM6CiEgICB2b2lkIHNldCAoc2lndGhyZWFkICZ0LCBpbnQg
dXAgPSAxLCBEV09SRCBlYnAgPSAwKQogICAgewogICAgICB0LmxvY2stPmFjcXVpcmUgKCk7CiAg
ICAgIHN0ID0gJnQ7CiEgICAgIGlmIChlYnApCiEgICAgICAgdC5mcmFtZSA9IGVicDsKISAgICAg
ZWxzZQohICAgICAgIHQuZnJhbWUgPSAoRFdPUkQpICh1cCA/IF9fYnVpbHRpbl9mcmFtZV9hZGRy
ZXNzICgxKSA6CiEgCQkJICAgICBfX2J1aWx0aW5fZnJhbWVfYWRkcmVzcyAoMCkpOwogICAgICB0
LmxvY2stPnJlbGVhc2UgKCk7CiAgICB9CiAgCiAgICBzaWdmcmFtZSAoKSB7c3QgPSBOVUxMO30K
ISAgIHNpZ2ZyYW1lIChzaWd0aHJlYWQgJnQsIGludCB1cCA9IDApCiAgICB7CiAgICAgIGlmICgh
dC5mcmFtZSAmJiB0LmlkID09IEdldEN1cnJlbnRUaHJlYWRJZCAoKSkKISAgICAgICBzZXQgKHQs
IHVwKTsKICAgICAgZWxzZQogICAgICAgIHN0ID0gTlVMTDsKLS0tIDUxLDY3IC0tLS0KICAKICBw
dWJsaWM6CiEgICB2b2lkIHNldCAoc2lndGhyZWFkICZ0LCBEV09SRCBlYnApCiAgICB7CiAgICAg
IHQubG9jay0+YWNxdWlyZSAoKTsKICAgICAgc3QgPSAmdDsKISAgICAgdC5mcmFtZSA9IGVicDsK
ICAgICAgdC5sb2NrLT5yZWxlYXNlICgpOwogICAgfQogIAogICAgc2lnZnJhbWUgKCkge3N0ID0g
TlVMTDt9CiEgICBzaWdmcmFtZSAoc2lndGhyZWFkICZ0LCBEV09SRCBlYnApCiAgICB7CiAgICAg
IGlmICghdC5mcmFtZSAmJiB0LmlkID09IEdldEN1cnJlbnRUaHJlYWRJZCAoKSkKISAgICAgICBz
ZXQgKHQsZWJwKTsKICAgICAgZWxzZQogICAgICAgIHN0ID0gTlVMTDsKSW5kZXg6IHdpbnN1cC9j
eWd3aW4vc3lzY2FsbHMuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvZHVkYV9hZG1pbi9j
dnMtbWlycm9yL3NyYy93aW5zdXAvY3lnd2luL3N5c2NhbGxzLmNjLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjUwCmRpZmYgLWMgLTIgLXIxLjUwIHN5c2NhbGxzLmNjCioqKiB3aW5zdXAvY3lnd2lu
L3N5c2NhbGxzLmNjCTIwMDAvMDgvMjIgMDU6MTA6MjAJMS41MAotLS0gd2luc3VwL2N5Z3dpbi9z
eXNjYWxscy5jYwkyMDAwLzA5LzAyIDE0OjUzOjMwCioqKioqKioqKioqKioqKgoqKiogMTk0LDE5
OCAqKioqCiAgewogICAgaW50IHJlczsKISAgIHNpZ2ZyYW1lIHRoaXNmcmFtZSAobWFpbnRocmVh
ZCk7CiAgICBmaGFuZGxlcl9iYXNlICpmaCA9IGZkdGFiW2ZkXTsKICAKLS0tIDE5NCwxOTggLS0t
LQogIHsKICAgIGludCByZXM7CiEgICBTSUdGUkFNRV9IRVJFKG1haW50aHJlYWQpOwogICAgZmhh
bmRsZXJfYmFzZSAqZmggPSBmZHRhYltmZF07CiAgCg==

------------912F24F18B692E7--


- Raw text -


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