www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1996/06/19/08:01:13

Date: Wed, 19 Jun 1996 13:51:32 +0200 (METDST)
From: Robert Hoehne <robert DOT hoehne AT Mathematik DOT TU-Chemnitz DOT DE>
To: DJGPP workers <djgpp-workers AT delorie DOT com>
Subject: Changes for restarting a program when debugging
Message-Id: <Pine.HPP.3.91.960619134506.16080G-200000@newton.mathematik.tu-chemnitz.de>
Mime-Version: 1.0

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime AT docserver DOT cac DOT washington DOT edu for more info.

--55974162-1804928587-835185092=:16080
Content-Type: TEXT/PLAIN; charset=US-ASCII

Now I have the first changes for watching the int 0x31 done.
I added some assembler code to 'dbgcom.c', so they can be used
by every debugger. I have tested the code with FSDB and it
works. All selectors and all the memory from child process
is cleaned up by calling the new function 'cleanup_child()'.

If I do it with the in RHIDE linked GDB 4.16 object files, there
is one selector lost, but I don't know where. Has anyone an idea
where the problem is?

Robert
*****************************************************************
* Robert Hoehne, Fakultaet fuer Mathematik, TU-Chemnitz-Zwickau *
* Post:    Am Berg 3, D-09573 Dittmannsdorf                     *
* e-Mail:  Robert DOT Hoehne AT Mathematik DOT TU-Chemnitz DOT DE              *
* WWW:     http://www.tu-chemnitz.de/~rho                       *
*****************************************************************

--55974162-1804928587-835185092=:16080
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="dbgcom.dif"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine DOT HPP DOT 3 DOT 91 DOT 960619135132 DOT 16080H AT newton DOT mathematik DOT tu-chemnitz DOT de>
Content-Description: 

KioqIGk6ZGJnY29tLmMJVGh1IEphbiAxMSAwNDozOTozMCAxOTk2DQotLS0g
ZGJnY29tLmMJV2VkIEp1biAxOSAwOTowNzozOCAxOTk2DQoqKioqKioqKioq
KioqKioNCioqKiAxMiwyMSAqKioqDQotLS0gMTIsMzEgLS0tLQ0KICAjaW5j
bHVkZSA8c2V0am1wLmg+DQogICNpbmNsdWRlIDxkZWJ1Zy9kYmdjb20uaD4N
CiAgI2luY2x1ZGUgPHN5cy9leGNlcHRuLmg+DQorICNpbmNsdWRlIDxzdHVi
aW5mby5oPg0KKyAjaW5jbHVkZSA8c3lzL2ZhcnB0ci5oPg0KICANCiAgZXh0
ZXJuIGNoYXIgX19saWJkYmdfaWRlbnRfc3RyaW5nW107DQogIHN0YXRpYyBj
aGFyICppZCA9IF9fbGliZGJnX2lkZW50X3N0cmluZzsNCiAgDQorICNkZWZp
bmUgTUVNX0hBTkRMRV9DT1VOVAkyNTYNCisgI2RlZmluZSBERVNDUklQVE9S
X0NPVU5UCTEyOA0KKyAjZGVmaW5lIERPU19ERVNDUklQVE9SX0NPVU5UCTEy
OA0KKyANCisgbG9uZyBtZW1faGFuZGxlc1tNRU1fSEFORExFX0NPVU5UXTsN
CisgdW5zaWduZWQgc2hvcnQgZGVzY3JpcHRvcnNbREVTQ1JJUFRPUl9DT1VO
VF07DQorIHVuc2lnbmVkIHNob3J0IGRvc19kZXNjcmlwdG9yc1tET1NfREVT
Q1JJUFRPUl9DT1VOVF07DQorIA0KICAvKiBBUkdTVVNFRCAqLw0KICBjaGFy
ICoqDQogIF9fY3J0MF9nbG9iX2Z1bmN0aW9uKGNoYXIgKmZvbykNCioqKioq
KioqKioqKioqKg0KKioqIDE0OCwxNTMgKioqKg0KLS0tIDE1OCwyNzYgLS0t
LQ0KICAgIF9fZHBtaV9zZXRfcHJvdGVjdGVkX21vZGVfaW50ZXJydXB0X3Zl
Y3RvcigweDMxLCAmbmV3X2ludCk7DQogIH0NCiAgDQorIC8qIENoYW5nZSBh
IGhhbmRsZSBpbiB0aGUgbGlzdDogRUFYIGlzIHRoZSBvbGQgaGFuZGxlLCBF
RFggaXMgdGhlIG5ldyAqLw0KKyAvKiBmb3IgY2hhbmdpbmcgYSB2YWx1ZSwg
d2UgbmVlZCBvdXIgZHMsIGJlY2F1c2UgY3MgaGFzIG5vIHdyaXRlIGFjY2Vz
cyAqLw0KKyBhc20oCQkJCQkJICAgICAgIAkJCSJcblwNCisgCS50ZXh0CQkJ
CQkJCQlcblwNCisgCS5hbGlnbiAgMiwweDkwCQkJCQkJCVxuXA0KKyBfY2hh
bmdlX2hhbmRsZToJCQkJCQkJCVxuXA0KKyAJcHVzaGwJJWVjeAkJCQkJCQlc
blwNCisgCXhvcmwJJWVjeCwlZWN4CQkJCQkJXG5cDQorIENMMToJCQkJCQkJ
CQlcblwNCisgCS5ieXRlCTB4MmUgCQkJCQkJCVxuXA0KKyAJY21wbAklZWF4
LF9tZW1faGFuZGxlcygsJWVjeCw0KQkJCQlcblwNCisgCWpuZQlDTDIJCQkJ
CQkJXG5cDQorIAlwdXNoCSVkcwkJCQkJCQlcblwNCisgCS5ieXRlCTB4MmUJ
CQkJCQkJXG5cDQorIAltb3Z3CV9teV9kcywlYXgJCQkJCQlcblwNCisgCW1v
dncJJWF4LCVkcwkJCQkJCQlcblwNCisgCW1vdmwJJWVkeCxfbWVtX2hhbmRs
ZXMoLCVlY3gsNCkJCQkJXG5cDQorIAlwb3AJJWRzCQkJCQkJCVxuXA0KKyAJ
cG9wbAklZWN4CQkJCQkJCVxuXA0KKyAJcmV0CQkJCQkJCQlcblwNCisgQ0wy
OgkJCQkJCQkJCVxuXA0KKyAJaW5jbAklZWN4CQkJCQkJCVxuXA0KKyAJY21w
bAkkMjU2LCVlY3gJLyogTUVNX0hBTkRMRV9DT1VOVCAqLwkJCVxuXA0KKyAJ
amwJQ0wxCQkJCQkJCVxuXA0KKyAJcG9wbAklZWN4CQkJCQkJCVxuXA0KKyAJ
cmV0CQkJCQkJCQlcbiINCisgKTsNCisgDQorIC8qIENoYW5nZSBhIGRlc2Ny
aXB0b3IgaW4gdGhlIGxpc3Q6IEFYIGlzIHRoZSBvbGQsIERYIGlzIHRoZSBu
ZXcgKi8NCisgLyogZm9yIGNoYW5naW5nIGEgdmFsdWUsIHdlIG5lZWQgb3Vy
IGRzLCBiZWNhdXNlIGNzIGhhcyBubyB3cml0ZSBhY2Nlc3MgKi8NCisgYXNt
KAkJCQkJCSAgICAgICAJCQkiXG5cDQorIAkudGV4dAkJCQkJCQkJXG5cDQor
IAkuYWxpZ24gIDIsMHg5MAkJCQkJCQlcblwNCisgX2NoYW5nZV9kZXNjcmlw
dG9yOgkJCQkJCQlcblwNCisgCXB1c2hsCSVlY3gJCQkJCQkJXG5cDQorIAlw
dXNobAklZWF4CQkJCQkJCVxuXA0KKyAJeG9ybAklZWN4LCVlY3gJCQkJCQlc
blwNCisgQ0wzOgkJCQkJCQkJCVxuXA0KKyAJLmJ5dGUJMHgyZSAJCQkJCQkJ
XG5cDQorIAljbXB3CSVheCxfZGVzY3JpcHRvcnMoLCVlY3gsMikJCQkJXG5c
DQorIAlqbmUJQ0w0CQkJCQkJCVxuXA0KKyAJcHVzaAklZHMJCQkJCQkJXG5c
DQorIAkuYnl0ZQkweDJlCQkJCQkJCVxuXA0KKyAJbW92dwlfbXlfZHMsJWF4
CQkJCQkJXG5cDQorIAltb3Z3CSVheCwlZHMJCQkJCQkJXG5cDQorIAltb3Z3
CSVkeCxfZGVzY3JpcHRvcnMoLCVlY3gsMikJCQkJXG5cDQorIAlwb3AJJWRz
CQkJCQkJCVxuXA0KKyAJcG9wbAklZWF4CQkJCQkJCVxuXA0KKyAJcG9wbAkl
ZWN4CQkJCQkJCVxuXA0KKyAJcmV0CQkJCQkJCQlcblwNCisgQ0w0OgkJCQkJ
CQkJCVxuXA0KKyAJaW5jbAklZWN4CQkJCQkJCVxuXA0KKyAJY21wbAkkMTI4
LCVlY3gJLyogREVTQ1JJUFRPUl9DT1VOVCAqLwkJCVxuXA0KKyAJamwJQ0wz
CQkJCQkJCVxuXA0KKyAJcG9wbAklZWF4CQkJCQkJCVxuXA0KKyAJcG9wbAkl
ZWN4CQkJCQkJCVxuXA0KKyAJcmV0CQkJCQkJCQlcbiINCisgKTsNCisgDQor
IC8qIEFkZCBkZXNjcmlwdG9ycyB0byB0aGUgbGlzdDogQVggaXMgdGhlIGZp
cnN0LCBDWCBpcyB0aGUgY291bnQgKi8NCisgYXNtKAkJCQkJCQkJCSJcblwN
CisgCS50ZXh0CQkJCQkJCQlcblwNCisgCS5hbGlnbiAgMiwweDkwCQkJCQkJ
CVxuXA0KKyBfYWRkX2Rlc2NyaXB0b3JzOgkJCQkJCQlcblwNCisgCXB1c2hs
CSVlZHgJCQkJCQkJXG5cDQorIAlwdXNobAklZWN4CQkJCQkJCVxuXA0KKyAJ
cHVzaGwJJWVieAkJCQkJCQlcblwNCisgCXB1c2hsCSVlYXgJCQkJCQkJXG5c
DQorIAltb3Z3CSQweDAwMDMsJWF4CQkJCQkJXG5cDQorIAlwdXNoZgkJCQkJ
CQkJXG5cDQorIAkuYnl0ZQkweDJlCQkJCQkJCVxuXA0KKyAJbGNhbGwJX29s
ZF9pMzEJCQkJCQlcblwNCisgCW1vdncJJWF4LCVieAkJCQkJCQlcblwNCisg
CXBvcGwJJWVheAkJCQkJCQlcblwNCisgCXB1c2hsCSVlYXgJCQkJCQkJXG5c
DQorIAltb3Z3CSVheCwlZHgJCQkJCQkJXG5cDQorIAl4b3J3CSVheCwlYXgJ
CQkJCQkJXG5cDQorIENMNToJCQkJCQkJCQlcblwNCisgCWNhbGwJX2NoYW5n
ZV9kZXNjcmlwdG9yCQkJCQlcblwNCisgCWFkZHcJJWJ4LCVkeAkJCQkJCQlc
blwNCisgCWxvb3AJQ0w1CQkJCQkJCVxuXA0KKyAJcG9wbAklZWF4CQkJCQkJ
CVxuXA0KKyAJcG9wbAklZWJ4CQkJCQkJCVxuXA0KKyAJcG9wbAklZWN4CQkJ
CQkJCVxuXA0KKyAJcG9wbAklZWR4CQkJCQkJCVxuXA0KKyAJcmV0CQkJCQkJ
CQlcbiINCisgKTsNCisgDQorIC8qIENoYW5nZSBhIGRvc19kZXNjcmlwdG9y
IGluIHRoZSBsaXN0OiBBWCBpcyB0aGUgb2xkLCBEWCBpcyB0aGUgbmV3ICov
DQorIC8qIGZvciBjaGFuZ2luZyBhIHZhbHVlLCB3ZSBuZWVkIG91ciBkcywg
YmVjYXVzZSBjcyBoYXMgbm8gd3JpdGUgYWNjZXNzICovDQorIGFzbSgJCQkJ
CQkgICAgICAgCQkJIlxuXA0KKyAJLnRleHQJCQkJCQkJCVxuXA0KKyAJLmFs
aWduICAyLDB4OTAJCQkJCQkJXG5cDQorIF9jaGFuZ2VfZG9zX2Rlc2NyaXB0
b3I6CQkJCQkJCVxuXA0KKyAJeG9ybAklZWN4LCVlY3gJCQkJCQlcblwNCisg
Q0w2OgkJCQkJCQkJCVxuXA0KKyAJLmJ5dGUJMHgyZSAJCQkJCQkJXG5cDQor
IAljbXB3CSVheCxfZG9zX2Rlc2NyaXB0b3JzKCwlZWN4LDIpCQkJCVxuXA0K
KyAJam5lCUNMNwkJCQkJCQlcblwNCisgCXB1c2gJJWRzCQkJCQkJCVxuXA0K
KyAJLmJ5dGUJMHgyZQkJCQkJCQlcblwNCisgCW1vdncJX215X2RzLCVheAkJ
CQkJCVxuXA0KKyAJbW92dwklYXgsJWRzCQkJCQkJCVxuXA0KKyAJbW92dwkl
ZHgsX2Rvc19kZXNjcmlwdG9ycygsJWVjeCwyKQkJCQlcblwNCisgCXBvcAkl
ZHMJCQkJCQkJXG5cDQorIAlyZXQJCQkJCQkJCVxuXA0KKyBDTDc6CQkJCQkJ
CQkJXG5cDQorIAlpbmNsCSVlY3gJCQkJCQkJXG5cDQorIAljbXBsCSQxMjgs
JWVjeAkvKiBET1NfREVTQ1JJUFRPUl9DT1VOVCAqLwkJXG5cDQorIAlqbAlD
TDYJCQkJCQkJXG5cDQorIAlyZXQJCQkJCQkJCVxuIg0KKyApOw0KKyANCiAg
LyogQlVHUzogV2UgaWdub3JlIHRoZSBleGNlcHRpb24gaGFuZGxlcnMgZm9y
IHRoZSBjaGlsZCBwcm9jZXNzLCBzbyBzaWduYWxzDQogICAgIGRvIG5vdCB3
b3JrLiAgV2UgYWxzbyBkaXNhYmxlIHRoZSBob29raW5nIG9mIEhXIGludGVy
cnVwdHMgdGhhdCBtaWdodA0KICAgICBjYXVzZSB0aGUgSFctaW50ZXJydXB0
LXRvLWxpbWl0IGV4Y2VwdGlvbnMsIHNpbmNlIHRoZXkgY2FuIG5ldmVyIGJl
IGZpeGVkLg0KKioqKioqKioqKioqKioqDQoqKiogMTU2LDE2NSAqKioqDQot
LS0gMjc5LDMxOSAtLS0tDQogICAgIGludGVycnVwdCBob29rcyBhbmQgdGhl
biBjaGFpbiB0byB0aGVtIG9uIHRoZSBuZXh0IGV4ZWN1dGlvbi4gIFNvbWVk
YXkuICovDQogIA0KICAvKiBXYXRjaCBzZXQgc2VsZWN0b3IgYmFzZSwgaWYg
aXQgaXMgX19kamdwcF9hcHBfRFMgdGhlbiByZXNldCBicmVha3BvaW50cyAq
Lw0KKyANCisgLyogV2F0Y2ggdGhlIGZvbGxvd2luZyBEUE1JLWZ1bmN0aW9u
czogKGFkZGVkIGJ5IFJIKQ0KKyANCisgICAweDAwMDAgICA6IF9fZHBtaV9h
bGxvY2F0ZV9sZHRfZGVzY3JpcHRvcnMNCisgICAweDAwMDEgICA6IF9fZHBt
aV9mcmVlX2xkdF9kZXNjcmlwdG9yDQorICAgMHgwMDBBICAgOiBfX2RwbWlf
Y3JlYXRlX2FsaWFzX2Rlc2NyaXB0b3INCisgICANCisgICAweDAxMDAgICA6
IF9fZHBtaV9hbGxvY2F0ZV9kb3NfbWVtb3J5DQorICAgMHgwMTAxICAgOiBf
X2RwbWlfZnJlZV9kb3NfbWVtb3J5DQorICAgDQorICAgMHgwNTAxICAgOiBf
X2RwbWlfYWxsb2NhdGVfbWVtb3J5DQorICAgMHgwNTAxICAgOiBfX2RwbWlf
ZnJlZV9tZW1vcnkNCisgICAweDA1MDMgICA6IF9fZHBtaV9yZXNpemVfbWVt
b3J5DQorICAgDQorICovIA0KICBhc20oCQkJCQkJICAgICAgIAkJCSJcblwN
CiAgCS50ZXh0CQkJCQkJCQlcblwNCiAgCS5hbGlnbiAgMiwweDkwCQkJCQkJ
CVxuXA0KICBfaTMxX2hvb2s6CQkJCQkJCQlcblwNCisgCWNtcHcJJDB4MDAw
MCwlYXgJCQkJCQlcblwNCisgCWplCUxjMzFfYWxsb2NfZGVzY3JpcHRvcnMJ
CQkJCVxuXA0KKyAJY21wdwkkMHgwMDAxLCVheAkJCQkJCVxuXA0KKyAJamUJ
TGMzMV9mcmVlX2Rlc2NyaXB0b3IJCQkJCVxuXA0KKyAJY21wdwkkMHgwMDBB
LCVheAkJCQkJCVxuXA0KKyAJamUJTGMzMV9jcmVhdGVfYWxpYXNfZGVzY3Jp
cHRvcgkJCQlcblwNCisgCWNtcHcJJDB4MDEwMCwlYXgJCQkJCQlcblwNCisg
CWplCUxjMzFfYWxsb2NhdGVfZG9zX21lbW9yeQkJCQlcblwNCisgCWNtcHcJ
JDB4MDEwMSwlYXgJCQkJCQlcblwNCisgCWplCUxjMzFfZnJlZV9kb3NfbWVt
b3J5CQkJCQlcblwNCisgCWNtcHcJJDB4MDUwMSwlYXgJCQkJCQlcblwNCisg
CWplCUxjMzFfYWxsb2NfbWVtCQkJCQkJXG5cDQorIAljbXB3CSQweDA1MDIs
JWF4CQkJCQkJXG5cDQorIAlqZQlMYzMxX2ZyZWVfbWVtCQkJCQkJXG5cDQor
IAljbXB3CSQweDA1MDMsJWF4CQkJCQkJXG5cDQorIAlqZQlMYzMxX3Jlc2l6
ZV9tZW0JCQkJCQlcblwNCiAgCWNtcHcJJDB4MDIwMywlYXgJCQkJCQlcblwN
CiAgCWplCUxjMzFhCQkJCQkJCVxuXA0KICAJY21wdwkkMHgwMDA3LCVheAkJ
CQkJCVxuXA0KKioqKioqKioqKioqKioqDQoqKiogMTY4LDE3MyAqKioqDQot
LS0gMzIyLDMzMiAtLS0tDQogIAlqZQlMYzMxZAkJCQkJCQlcblwNCiAgTGMz
MWM6CS5ieXRlCTB4MmUJCQkJCQkJXG5cDQogIAlsam1wCV9vbGRfaTMxCQkJ
CQkJXG5cDQorIExjMzFhXzoJcHVzaGwJJWVheAkJCQkJCQlcblwNCisgCXB1
c2hmCQkJCQkJCQlcblwNCisgCXBvcGwJJWVheAkJCQkJCQlcblwNCisgCW1v
dmwJJWVheCwxMiglZXNwKQkvKiBzdG9yZSB0aGUgcmlnaHQgZmxhZ3MgZm9y
IGlyZXQgKi8JXG5cDQorIAlwb3BsCSVlYXgJCQkJCQkJXG5cDQogIExjMzFh
OglpcmV0CQkJCQkJCQlcblwNCiAgTGMzMWI6CS5ieXRlCTB4MmUJCQkJCQkJ
XG5cDQogIAljbXB3CV9fX2RqZ3BwX2FwcF9EUywlYngJCQkJCVxuXA0KKioq
KioqKioqKioqKioqDQoqKiogMTg3LDE5MiAqKioqDQotLS0gMzQ2LDQ0OSAt
LS0tDQogIAljbXBiCSQweDc1LCVibAkJCQkJCVxuXA0KICAJamUJTGMzMWEJ
CQkJCQkJXG5cDQogIAlqbXAJTGMzMWMJCQkJCQkJXG5cDQorIExjMzFfYWxs
b2NfbWVtOgkJCQkJCQkJXG5cDQorIAlwdXNoZgkJCQkJCQkJXG5cDQorIAku
Ynl0ZQkweDJlCQkJCQkJCVxuXA0KKyAJbGNhbGwJX29sZF9pMzEJCQkJCQlc
blwNCisgCWpjCUxjMzFhXwkJCQkJCQlcblwNCisgCXB1c2h3CSVzaQkJCQkJ
CQlcblwNCisgCXB1c2h3CSVkaQkJCQkJCQlcblwNCisgCXBvcGwJJWVkeAkJ
CQkJCQlcblwNCisgCXhvcmwJJWVheCwlZWF4CQkJCQkJXG5cDQorIAljYWxs
CV9jaGFuZ2VfaGFuZGxlCQkJCQkJXG5cDQorIAljbGMJCQkJCQkJCVxuXA0K
KyAJam1wCUxjMzFhXwkJCQkJCQlcblwNCisgTGMzMV9mcmVlX21lbToJCQkJ
CQkJCVxuXA0KKyAJcHVzaHcJJXNpCQkJCQkJCVxuXA0KKyAJcHVzaHcJJWRp
CQkJCQkJCVxuXA0KKyAJcHVzaGYJCQkJCQkJCVxuXA0KKyAJLmJ5dGUJMHgy
ZQkJCQkJCQlcblwNCisgCWxjYWxsCV9vbGRfaTMxCQkJCQkJXG5cDQorIAlq
YwlMYzMxX3Jlc2l6ZV9tZW1fZXJyb3IJCQkJCVxuXA0KKyAJcG9wbAklZWF4
CQkJCQkJCVxuXA0KKyAJeG9ybAklZWR4LCVlZHgJCQkJCQlcblwNCisgCWNh
bGwJX2NoYW5nZV9oYW5kbGUJCQkJCQlcblwNCisgCXhvcmwJJWVheCwlZWF4
CQkJCQkJXG5cDQorIAlqbXAJTGMzMWFfCQkJCQkJCVxuXA0KKyBMYzMxX3Jl
c2l6ZV9tZW06CQkJCQkJCVxuXA0KKyAJcHVzaHcJJXNpCQkJCQkJCVxuXA0K
KyAJcHVzaHcJJWRpCQkJCQkJCVxuXA0KKyAJcHVzaGYJCQkJCQkJCVxuXA0K
KyAJLmJ5dGUJMHgyZQkJCQkJCQlcblwNCisgCWxjYWxsCV9vbGRfaTMxCQkJ
CQkJXG5cDQorIAlqbmMJTGMzMV9yZXNpemVfbWVtX29rCQkJCQlcblwNCisg
TGMzMV9yZXNpemVfbWVtX2Vycm9yOgkJCQkJCQlcblwNCisgCWFkZGwJJDQs
JWVzcAkJCQkJCQlcblwNCisgCXN0YwkJCQkJCQkJXG5cDQorIAlqbXAJTGMz
MWFfCQkJCQkJCVxuXA0KKyBMYzMxX3Jlc2l6ZV9tZW1fb2s6CQkJCQkJCVxu
XA0KKyAJcG9wbAklZWF4CQkJCQkJCVxuXA0KKyAJcHVzaHcJJXNpCQkJCQkJ
CVxuXA0KKyAJcHVzaHcJJWRpCQkJCQkJCVxuXA0KKyAJcG9wbAklZWR4CQkJ
CQkJCVxuXA0KKyAJY2FsbAlfY2hhbmdlX2hhbmRsZQkJCQkJCVxuXA0KKyAJ
eG9ybAklZWF4LCVlYXgJCQkJCQlcblwNCisgCWptcAlMYzMxYV8JCQkJCQkJ
XG5cDQorIExjMzFfYWxsb2NfZGVzY3JpcHRvcnM6CQkJCQkJCVxuXA0KKyAJ
cHVzaGwJJWVjeAkJCQkJCQlcblwNCisgCXB1c2hmCQkJCQkJCQlcblwNCisg
CS5ieXRlCTB4MmUJCQkJCQkJXG5cDQorIAlsY2FsbAlfb2xkX2kzMQkJCQkJ
CVxuXA0KKyAJcG9wbAklZWN4CQkJCQkJCVxuXA0KKyAJamMJTGMzMWFfCQkJ
CQkJCVxuXA0KKyAJY2FsbAlfYWRkX2Rlc2NyaXB0b3JzCQkJCQlcblwNCisg
CWNsYwkJCQkJCQkJXG5cDQorIAlqbXAJTGMzMWFfCQkJCQkJCVxuXA0KKyBM
YzMxX2ZyZWVfZGVzY3JpcHRvcjoJCQkJCQkJXG5cDQorIAlwdXNobAklZWJ4
CQkJCQkJCVxuXA0KKyAJcHVzaGYJCQkJCQkJCVxuXA0KKyAJLmJ5dGUJMHgy
ZQkJCQkJCQlcblwNCisgCWxjYWxsCV9vbGRfaTMxCQkJCQkJXG5cDQorIAlw
b3BsCSVlZHgJCQkJCQkJXG5cDQorIAlqYwlMYzMxYV8JCQkJCQkJXG5cDQor
IAl4b3J3CSVheCwlYXgJCQkJCQkJXG5cDQorIAljYWxsCV9jaGFuZ2VfZGVz
Y3JpcHRvcgkJCQkJXG5cDQorIAljbGMJCQkJCQkJCVxuXA0KKyAJam1wCUxj
MzFhXwkJCQkJCQlcblwNCisgTGMzMV9jcmVhdGVfYWxpYXNfZGVzY3JpcHRv
cjoJCQkJCQlcblwNCisgCXB1c2hmCQkJCQkJCQlcblwNCisgCS5ieXRlCTB4
MmUJCQkJCQkJXG5cDQorIAlsY2FsbAlfb2xkX2kzMQkJCQkJCVxuXA0KKyAJ
amMJTGMzMWFfCQkJCQkJCVxuXA0KKyAJcHVzaGwJJWVheAkJCQkJCQlcblwN
CisgCW1vdncJJWF4LCVkeAkJCQkJCQlcblwNCisgCXhvcncJJWF4LCVheAkJ
CQkJCQlcblwNCisgCWNhbGwJX2NoYW5nZV9kZXNjcmlwdG9yCQkJCQlcblwN
CisgCXBvcGwJJWVheAkJCQkJCQlcblwNCisgCWNsYwkJCQkJCQkJXG5cDQor
IAlqbXAJTGMzMWFfCQkJCQkJCVxuXA0KKyBMYzMxX2FsbG9jYXRlX2Rvc19t
ZW1vcnk6CQkJCQkJXG5cDQorIAlwdXNoZgkJCQkJCQkJXG5cDQorIAkuYnl0
ZQkweDJlCQkJCQkJCVxuXA0KKyAJbGNhbGwJX29sZF9pMzEJCQkJCQlcblwN
CisgCWpjCUxjMzFhXwkJCQkJCQlcblwNCisgCXB1c2hsCSVlYXgJCQkJCQkJ
XG5cDQorIAl4b3JsCSVlYXgsJWVheAkJCQkJCVxuXA0KKyAJY2FsbAlfY2hh
bmdlX2Rvc19kZXNjcmlwdG9yCQkJCQlcblwNCisgCXBvcGwJJWVheAkJCQkJ
CQlcblwNCisgCWNsYwkJCQkJCQkJXG5cDQorIAlqbXAJTGMzMWFfCQkJCQkJ
CVxuXA0KKyBMYzMxX2ZyZWVfZG9zX21lbW9yeToJCQkJCQkJXG5cDQorIAlw
dXNobAklZWR4CQkJCQkJCVxuXA0KKyAJcHVzaGYJCQkJCQkJCVxuXA0KKyAJ
LmJ5dGUJMHgyZQkJCQkJCQlcblwNCisgCWxjYWxsCV9vbGRfaTMxCQkJCQkJ
XG5cDQorIAlwb3BsCSVlYXgJCQkJCQkJXG5cDQorIAlqYwlMYzMxYV8JCQkJ
CQkJXG5cDQorIAl4b3J3CSVkeCwlZHgJCQkJCQkJXG5cDQorIAljYWxsCV9j
aGFuZ2VfZG9zX2Rlc2NyaXB0b3IJCQkJCVxuXA0KKyAJY2xjCQkJCQkJCQlc
blwNCisgCWptcAlMYzMxYV8JCQkJCQkJXG5cDQogIAkuYWxpZ24gIDIsMHg5
MAkJCQkJCQlcblwNCiAgX2kyMV9ob29rOgkJCQkJCQkJXG5cDQogIAljbXBi
CSQweDRjLCVhaAkJCQkJCVxuXA0KKioqKioqKioqKioqKioqDQoqKiogMzEw
LDMxNSAqKioqDQotLS0gNTY3LDU3OSAtLS0tDQogICAgcmV0dXJuIDA7DQog
IH0NCiAgDQorIHN0YXRpYyBfR08zMl9TdHViSW5mbyBzaTsNCisgDQorIHN0
YXRpYyB2b2lkICgqb2xkVFJBUCkoaW50KTsNCisgc3RhdGljIHZvaWQgKCpv
bGRTRUdWKShpbnQpOw0KKyBzdGF0aWMgdm9pZCAoKm9sZEZQRSkoaW50KTsN
Cisgc3RhdGljIHZvaWQgKCpvbGRJTlQpKGludCk7DQorIA0KICB2b2lkIGVk
aV9pbml0KGptcF9idWYgc3RhcnRfc3RhdGUpDQogIHsNCiAgICBteV9kcyA9
IDA7DQoqKioqKioqKioqKioqKioNCioqKiAzMzEsMzM4ICoqKioNCiAgICBf
X2RqZ3BwX2FwcF9EUyA9IGFfdHNzLnRzc19kczsNCiAgICBhcHBfY3MgPSBh
X3Rzcy50c3NfY3M7DQogICAgZWRpLmFwcF9iYXNlID0gMDsNCiEgICBzaWdu
YWwoU0lHVFJBUCwgZGJnc2lnKTsNCiEgICBzaWduYWwoU0lHU0VHViwgZGJn
c2lnKTsNCiEgICBzaWduYWwoU0lHRlBFLCBkYmdzaWcpOw0KISAgIHNpZ25h
bChTSUdJTlQsIGRiZ3NpZyk7DQogIH0NCi0tLSA1OTUsNjUyIC0tLS0NCiAg
ICBfX2RqZ3BwX2FwcF9EUyA9IGFfdHNzLnRzc19kczsNCiAgICBhcHBfY3Mg
PSBhX3Rzcy50c3NfY3M7DQogICAgZWRpLmFwcF9iYXNlID0gMDsNCiEgICBv
bGRUUkFQID0gc2lnbmFsKFNJR1RSQVAsIGRiZ3NpZyk7DQohICAgb2xkU0VH
ViA9IHNpZ25hbChTSUdTRUdWLCBkYmdzaWcpOw0KISAgIG9sZEZQRSA9IHNp
Z25hbChTSUdGUEUsIGRiZ3NpZyk7DQohICAgb2xkSU5UID0gc2lnbmFsKFNJ
R0lOVCwgZGJnc2lnKTsNCiEgICBtb3ZlZGF0YShhX3Rzcy50c3NfZnMsMCxt
eV9kcywodW5zaWduZWQpJnNpLHNpemVvZihzaSkpOw0KISAgIG1lbXNldCht
ZW1faGFuZGxlcywwLHNpemVvZihtZW1faGFuZGxlcykpOw0KISAgIG1lbV9o
YW5kbGVzWzBdID0gc2kubWVtb3J5X2hhbmRsZTsNCiEgICBtZW1zZXQoZGVz
Y3JpcHRvcnMsMCxzaXplb2YoZGVzY3JpcHRvcnMpKTsNCiEgICBkZXNjcmlw
dG9yc1swXSA9IHNpLmNzX3NlbGVjdG9yOw0KISAgIGRlc2NyaXB0b3JzWzFd
ID0gc2kuZHNfc2VsZWN0b3I7DQohICAgZGVzY3JpcHRvcnNbMl0gPSBfX2Rq
Z3BwX2FwcF9EUzsNCiEgICBkZXNjcmlwdG9yc1szXSA9IGFwcF9jczsgDQoh
ICAgbWVtc2V0KGRvc19kZXNjcmlwdG9ycywwLHNpemVvZihkb3NfZGVzY3Jp
cHRvcnMpKTsNCiEgICBkb3NfZGVzY3JpcHRvcnNbMF0gPSBfZmFycGVla3co
c2kucHNwX3NlbGVjdG9yLDB4MmMpOw0KISAgIGRvc19kZXNjcmlwdG9yc1sx
XSA9IHNpLnBzcF9zZWxlY3RvcjsgDQohIH0NCiEgDQohIHZvaWQgY2xlYW51
cF9jbGllbnQoKQ0KISB7DQohICAgaW50IGk7DQohICAgZm9yIChpPTA7aTxE
T1NfREVTQ1JJUFRPUl9DT1VOVDtpKyspDQohICAgew0KISAgICAgaWYgKGRv
c19kZXNjcmlwdG9yc1tpXSkNCiEgICAgIHsNCiEgI2lmZGVmIERFQlVHX0RC
R0NPTQ0KISAgICAgICBmcHJpbnRmKHN0ZGVyciwiZnJlZSBkb3MgbWVtb3J5
OiAlMDh4XG4iLGRvc19kZXNjcmlwdG9yc1tpXSk7DQohICNlbmRpZg0KISAg
ICAgICBfX2RwbWlfZnJlZV9kb3NfbWVtb3J5KGRvc19kZXNjcmlwdG9yc1tp
XSk7DQohICAgICB9DQohICAgfQ0KISAgIGZvciAoaT0wO2k8TUVNX0hBTkRM
RV9DT1VOVDtpKyspDQohICAgew0KISAgICAgaWYgKG1lbV9oYW5kbGVzW2ld
KQ0KISAgICAgew0KISAjaWZkZWYgREVCVUdfREJHQ09NDQohICAgICAgIGZw
cmludGYoc3RkZXJyLCJmcmVlIG1lbSA6ICUwOGx4XG4iLG1lbV9oYW5kbGVz
W2ldKTsNCiEgI2VuZGlmDQohICAgICAgIF9fZHBtaV9mcmVlX21lbW9yeSht
ZW1faGFuZGxlc1tpXSk7DQohICAgICB9DQohICAgfQ0KISAgIGZvciAoaT0w
O2k8REVTQ1JJUFRPUl9DT1VOVDtpKyspDQohICAgew0KISAgICAgaWYgKGRl
c2NyaXB0b3JzW2ldKQ0KISAgICAgew0KISAjaWZkZWYgREVCVUdfREJHQ09N
DQohICAgICAgIGZwcmludGYoc3RkZXJyLCJmcmVlIGRlc2NyaXB0b3I6ICUw
OHhcbiIsZGVzY3JpcHRvcnNbaV0pOw0KISAjZW5kaWYNCiEgICAgICAgX19k
cG1pX2ZyZWVfbGR0X2Rlc2NyaXB0b3IoZGVzY3JpcHRvcnNbaV0pOw0KISAg
ICAgfQ0KISAgIH0NCiEgICBzaWduYWwoU0lHVFJBUCwgb2xkVFJBUCk7DQoh
ICAgc2lnbmFsKFNJR1NFR1YsIG9sZFNFR1YpOw0KISAgIHNpZ25hbChTSUdG
UEUsIG9sZEZQRSk7DQohICAgc2lnbmFsKFNJR0lOVCwgb2xkSU5UKTsNCiAg
fQ0K
--55974162-1804928587-835185092=:16080--

- Raw text -


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