Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Jul 2012 17:25:05 -0700 (PDT)
From:      Pedro Giffuni <pfg@freebsd.org>
To:        freebsd-bugs@FreeBSD.org
Cc:        Peter Jeremy <peter@rulingia.com>
Subject:   Re: kern/169603: Possible r237738 libedit regression resizing windows in terminal programs
Message-ID:  <1341447905.65270.YahooMailClassic@web113506.mail.gq1.yahoo.com>

next in thread | raw e-mail | index | archive | help
--770692889-285587537-1341447905=:65270
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi again;=0A=0AThis may be somewhat unrelated but I would like to fix some=
=0Ainconsistencies before starting to revert stuff.=0A=0ATesting is welcome=
.=0A=0APedro. 
--770692889-285587537-1341447905=:65270
Content-Type: application/octet-stream; name=patch-libedit
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=patch-libedit

SW5kZXg6IGxpYmVkaXQvcmVhZGxpbmUuYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBsaWJlZGl0L3JlYWRsaW5lLmMJKHJldmlzaW9uIDIzODA5MCkK
KysrIGxpYmVkaXQvcmVhZGxpbmUuYwkod29ya2luZyBjb3B5KQpAQCAtMSw0
ICsxLDQgQEAKLS8qCSROZXRCU0Q6IHJlYWRsaW5lLmMsdiAxLjkwIDIwMTAv
MDgvMDQgMjA6Mjk6MTggY2hyaXN0b3MgRXhwICQJKi8KKy8qCSROZXRCU0Q6
IHJlYWRsaW5lLmMsdiAxLjg1IDIwMDkvMDkvMDcgMjE6MjQ6MzMgY2hyaXN0
b3MgRXhwICQJKi8KIAogLyotCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTcgVGhl
IE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCkBAIC0xMTgsMTAgKzExOCw2IEBA
CiBWRnVuY3Rpb24gKnJsX2RlcHJlcF90ZXJtX2Z1bmN0aW9uID0gKFZGdW5j
dGlvbiAqKXJsX2RlcHJlcF90ZXJtaW5hbDsKIEtFWU1BUF9FTlRSWV9BUlJB
WSBlbWFjc19tZXRhX2tleW1hcDsKIAotI2lmZGVmIFdJREVDSEFSCi1zdGF0
aWMgY3RfYnVmZmVyX3QgY29udjsKLSNlbmRpZgotCiAvKgogICogVGhlIGN1
cnJlbnQgcHJvbXB0IHN0cmluZy4KICAqLwpAQCAtMTU0LDcgKzE1MCw3IEBA
CiAKIC8qIHN0dWZmIGJlbG93IGlzIHVzZWQgaW50ZXJuYWxseSBieSBsaWJl
ZGl0IGZvciByZWFkbGluZSBlbXVsYXRpb24gKi8KIAotc3RhdGljIFRZUEUo
SGlzdG9yeSkgKmggPSBOVUxMOworc3RhdGljIEhpc3RvcnkgKmggPSBOVUxM
Owogc3RhdGljIEVkaXRMaW5lICplID0gTlVMTDsKIHN0YXRpYyBGdW5jdGlv
biAqbWFwWzI1Nl07CiBzdGF0aWMgam1wX2J1ZiB0b3BidWY7CkBAIC0xODgs
MTMgKzE4NCwxMyBAQAogc3RhdGljIEhJU1RfRU5UUlkgKgogX21vdmVfaGlz
dG9yeShpbnQgb3ApCiB7Ci0JVFlQRShIaXN0RXZlbnQpIGV2OworCUhpc3RF
dmVudCBldjsKIAlzdGF0aWMgSElTVF9FTlRSWSBybF9oZTsKIAotCWlmIChG
VU5XKGhpc3RvcnkpKGgsICZldiwgb3ApICE9IDApCisJaWYgKGhpc3Rvcnko
aCwgJmV2LCBvcCkgIT0gMCkKIAkJcmV0dXJuIChISVNUX0VOVFJZICopIE5V
TEw7CiAKLQlybF9oZS5saW5lID0gY3RfZW5jb2RlX3N0cmluZyhldi5zdHIs
ICZjb252KTsKKwlybF9oZS5saW5lID0gZXYuc3RyOwogCXJsX2hlLmRhdGEg
PSBOVUxMOwogCiAJcmV0dXJuICgmcmxfaGUpOwpAQCAtMjY4LDcgKzI2NCw3
IEBACiBpbnQKIHJsX2luaXRpYWxpemUodm9pZCkKIHsKLQlUWVBFKEhpc3RF
dmVudCkgZXY7CisJSGlzdEV2ZW50IGV2OwogCWNvbnN0IExpbmVJbmZvICps
aTsKIAlpbnQgZWRpdG1vZGUgPSAxOwogCXN0cnVjdCB0ZXJtaW9zIHQ7CkBA
IC0yNzYsNyArMjcyLDcgQEAKIAlpZiAoZSAhPSBOVUxMKQogCQllbF9lbmQo
ZSk7CiAJaWYgKGggIT0gTlVMTCkKLQkJRlVOKGhpc3RvcnksZW5kKShoKTsK
KwkJaGlzdG9yeV9lbmQoaCk7CiAKIAlpZiAoIXJsX2luc3RyZWFtKQogCQly
bF9pbnN0cmVhbSA9IHN0ZGluOwpAQCAtMjkyLDEzICsyODgsMTMgQEAKIAll
ID0gZWxfaW5pdChybF9yZWFkbGluZV9uYW1lLCBybF9pbnN0cmVhbSwgcmxf
b3V0c3RyZWFtLCBzdGRlcnIpOwogCiAJaWYgKCFlZGl0bW9kZSkKLQkJRlVO
KGVsLHNldCkoZSwgRUxfRURJVE1PREUsIDApOworCQllbF9zZXQoZSwgRUxf
RURJVE1PREUsIDApOwogCi0JaCA9IEZVTihoaXN0b3J5LGluaXQpKCk7CisJ
aCA9IGhpc3RvcnlfaW5pdCgpOwogCWlmICghZSB8fCAhaCkKIAkJcmV0dXJu
ICgtMSk7CiAKLQlGVU5XKGhpc3RvcnkpKGgsICZldiwgSF9TRVRTSVpFLCBJ
TlRfTUFYKTsJLyogdW5saW1pdGVkICovCisJaGlzdG9yeShoLCAmZXYsIEhf
U0VUU0laRSwgSU5UX01BWCk7CS8qIHVubGltaXRlZCAqLwogCWhpc3Rvcnlf
bGVuZ3RoID0gMDsKIAltYXhfaW5wdXRfaGlzdG9yeSA9IElOVF9NQVg7CiAJ
ZWxfc2V0KGUsIEVMX0hJU1QsIGhpc3RvcnksIGgpOwpAQCAtMzA5LDcgKzMw
NSw3IEBACiAKIAkvKiBmb3IgcHJvcGVyIHByb21wdCBwcmludGluZyBpbiBy
ZWFkbGluZSgpICovCiAJaWYgKHJsX3NldF9wcm9tcHQoIiIpID09IC0xKSB7
Ci0JCUZVTihoaXN0b3J5LGVuZCkoaCk7CisJCWhpc3RvcnlfZW5kKGgpOwog
CQllbF9lbmQoZSk7CiAJCXJldHVybiAtMTsKIAl9CkBAIC0zNjcsNyArMzYz
LDcgQEAKIGNoYXIgKgogcmVhZGxpbmUoY29uc3QgY2hhciAqcCkKIHsKLQlU
WVBFKEhpc3RFdmVudCkgZXY7CisJSGlzdEV2ZW50IGV2OwogCWNvbnN0IGNo
YXIgKiB2b2xhdGlsZSBwcm9tcHQgPSBwOwogCWludCBjb3VudDsKIAljb25z
dCBjaGFyICpyZXQ7CkBAIC00MTUsNyArNDExLDcgQEAKIAl9IGVsc2UKIAkJ
YnVmID0gTlVMTDsKIAotCUZVTlcoaGlzdG9yeSkoaCwgJmV2LCBIX0dFVFNJ
WkUpOworCWhpc3RvcnkoaCwgJmV2LCBIX0dFVFNJWkUpOwogCWhpc3Rvcnlf
bGVuZ3RoID0gZXYubnVtOwogCiAJcmV0dXJuIGJ1ZjsKQEAgLTQ5NSw3ICs0
OTEsNyBAQAogCXNpemVfdCBsZW47CiAJY2hhcgkqcGF0OwogCWNvbnN0IGNo
YXIgKnJwdHI7Ci0JVFlQRShIaXN0RXZlbnQpIGV2OworCUhpc3RFdmVudCBl
djsKIAogCWlkeCA9ICpjaW5kZXg7CiAJaWYgKGNtZFtpZHgrK10gIT0gaGlz
dG9yeV9leHBhbnNpb25fY2hhcikKQEAgLTUwMywxMCArNDk5LDEwIEBACiAK
IAkvKiBmaW5kIG91dCB3aGljaCBldmVudCB0byB0YWtlICovCiAJaWYgKGNt
ZFtpZHhdID09IGhpc3RvcnlfZXhwYW5zaW9uX2NoYXIgfHwgY21kW2lkeF0g
PT0gJ1wwJykgewotCQlpZiAoRlVOVyhoaXN0b3J5KShoLCAmZXYsIEhfRklS
U1QpICE9IDApCisJCWlmIChoaXN0b3J5KGgsICZldiwgSF9GSVJTVCkgIT0g
MCkKIAkJCXJldHVybihOVUxMKTsKIAkJKmNpbmRleCA9IGNtZFtpZHhdPyAo
aWR4ICsgMSk6aWR4OwotCQlyZXR1cm4gY3RfZW5jb2RlX3N0cmluZyhldi5z
dHIsICZjb252KTsKKwkJcmV0dXJuKGV2LnN0cik7CiAJfQogCXNpZ24gPSAw
OwogCWlmIChjbWRbaWR4XSA9PSAnLScpIHsKQEAgLTU2MSw3ICs1NTcsNyBA
QAogCQlwYXRbbGVuXSA9ICdcMCc7CiAJfQogCi0JaWYgKEZVTlcoaGlzdG9y
eSkoaCwgJmV2LCBIX0NVUlIpICE9IDApIHsKKwlpZiAoaGlzdG9yeShoLCAm
ZXYsIEhfQ1VSUikgIT0gMCkgewogCQlpZiAocGF0ICE9IGxhc3Rfc2VhcmNo
X3BhdCkKIAkJCWZyZWUocGF0KTsKIAkJcmV0dXJuIChOVUxMKTsKQEAgLTU4
MCw3ICs1NzYsNyBAQAogCiAJaWYgKHJldCA9PSAtMSkgewogCQkvKiByZXN0
b3JlIHRvIGVuZCBvZiBsaXN0IG9uIGZhaWxlZCBzZWFyY2ggKi8KLQkJRlVO
VyhoaXN0b3J5KShoLCAmZXYsIEhfRklSU1QpOworCQloaXN0b3J5KGgsICZl
diwgSF9GSVJTVCk7CiAJCSh2b2lkKWZwcmludGYocmxfb3V0c3RyZWFtLCAi
JXM6IEV2ZW50IG5vdCBmb3VuZFxuIiwgcGF0KTsKIAkJaWYgKHBhdCAhPSBs
YXN0X3NlYXJjaF9wYXQpCiAJCQlmcmVlKHBhdCk7CkBAIC01OTYsMTMgKzU5
MiwxMyBAQAogCWlmIChwYXQgIT0gbGFzdF9zZWFyY2hfcGF0KQogCQlmcmVl
KHBhdCk7CiAKLQlpZiAoRlVOVyhoaXN0b3J5KShoLCAmZXYsIEhfQ1VSUikg
IT0gMCkKKwlpZiAoaGlzdG9yeShoLCAmZXYsIEhfQ1VSUikgIT0gMCkKIAkJ
cmV0dXJuKE5VTEwpOwogCSpjaW5kZXggPSBpZHg7Ci0JcnB0ciA9IGN0X2Vu
Y29kZV9zdHJpbmcoZXYuc3RyLCAmY29udik7CisJcnB0ciA9IGV2LnN0cjsK
IAogCS8qIHJvbGwgYmFjayB0byBvcmlnaW5hbCBwb3NpdGlvbiAqLwotCSh2
b2lkKUZVTlcoaGlzdG9yeSkoaCwgJmV2LCBIX1NFVCwgbnVtKTsKKwkodm9p
ZCloaXN0b3J5KGgsICZldiwgSF9TRVQsIG51bSk7CiAKIAlyZXR1cm4gcnB0
cjsKIH0KQEAgLTExMTIsMTIgKzExMDgsMTIgQEAKIHZvaWQKIHN0aWZsZV9o
aXN0b3J5KGludCBtYXgpCiB7Ci0JVFlQRShIaXN0RXZlbnQpIGV2OworCUhp
c3RFdmVudCBldjsKIAogCWlmIChoID09IE5VTEwgfHwgZSA9PSBOVUxMKQog
CQlybF9pbml0aWFsaXplKCk7CiAKLQlpZiAoRlVOVyhoaXN0b3J5KShoLCAm
ZXYsIEhfU0VUU0laRSwgbWF4KSA9PSAwKQorCWlmIChoaXN0b3J5KGgsICZl
diwgSF9TRVRTSVpFLCBtYXgpID09IDApCiAJCW1heF9pbnB1dF9oaXN0b3J5
ID0gbWF4OwogfQogCkBAIC0xMTI4LDEwICsxMTI0LDEwIEBACiBpbnQKIHVu
c3RpZmxlX2hpc3Rvcnkodm9pZCkKIHsKLQlUWVBFKEhpc3RFdmVudCkgZXY7
CisJSGlzdEV2ZW50IGV2OwogCWludCBvbWF4OwogCi0JRlVOVyhoaXN0b3J5
KShoLCAmZXYsIEhfU0VUU0laRSwgSU5UX01BWCk7CisJaGlzdG9yeShoLCAm
ZXYsIEhfU0VUU0laRSwgSU5UX01BWCk7CiAJb21heCA9IG1heF9pbnB1dF9o
aXN0b3J5OwogCW1heF9pbnB1dF9oaXN0b3J5ID0gSU5UX01BWDsKIAlyZXR1
cm4gKG9tYXgpOwkJLyogc29tZSB2YWx1ZSBfbXVzdF8gYmUgcmV0dXJuZWQg
Ki8KQEAgLTEyODksMTQgKzEyODUsMTMgQEAKIGludAogcmVhZF9oaXN0b3J5
KGNvbnN0IGNoYXIgKmZpbGVuYW1lKQogewotCVRZUEUoSGlzdEV2ZW50KSBl
djsKKwlIaXN0RXZlbnQgZXY7CiAKIAlpZiAoaCA9PSBOVUxMIHx8IGUgPT0g
TlVMTCkKIAkJcmxfaW5pdGlhbGl6ZSgpOwogCWlmIChmaWxlbmFtZSA9PSBO
VUxMICYmIChmaWxlbmFtZSA9IF9kZWZhdWx0X2hpc3RvcnlfZmlsZSgpKSA9
PSBOVUxMKQogCQlyZXR1cm4gZXJybm87Ci0JcmV0dXJuIChGVU5XKGhpc3Rv
cnkpKGgsICZldiwgSF9MT0FELCBmaWxlbmFtZSkgPT0gLTEgPwotCSAgICAo
ZXJybm8gPyBlcnJubyA6IEVJTlZBTCkgOiAwKTsKKwlyZXR1cm4gKGhpc3Rv
cnkoaCwgJmV2LCBIX0xPQUQsIGZpbGVuYW1lKSA9PSAtMSA/IChlcnJubyA/
IGVycm5vIDogRUlOVkFMKSA6IDApOwogfQogCiAKQEAgLTEzMDYsMTQgKzEz
MDEsMTMgQEAKIGludAogd3JpdGVfaGlzdG9yeShjb25zdCBjaGFyICpmaWxl
bmFtZSkKIHsKLQlUWVBFKEhpc3RFdmVudCkgZXY7CisJSGlzdEV2ZW50IGV2
OwogCiAJaWYgKGggPT0gTlVMTCB8fCBlID09IE5VTEwpCiAJCXJsX2luaXRp
YWxpemUoKTsKIAlpZiAoZmlsZW5hbWUgPT0gTlVMTCAmJiAoZmlsZW5hbWUg
PSBfZGVmYXVsdF9oaXN0b3J5X2ZpbGUoKSkgPT0gTlVMTCkKIAkJcmV0dXJu
IGVycm5vOwotCXJldHVybiAoRlVOVyhoaXN0b3J5KShoLCAmZXYsIEhfU0FW
RSwgZmlsZW5hbWUpID09IC0xID8KLQkgICAgKGVycm5vID8gZXJybm8gOiBF
SU5WQUwpIDogMCk7CisJcmV0dXJuIChoaXN0b3J5KGgsICZldiwgSF9TQVZF
LCBmaWxlbmFtZSkgPT0gLTEgPyAoZXJybm8gPyBlcnJubyA6IEVJTlZBTCkg
OiAwKTsKIH0KIAogCkBAIC0xMzI2LDI5ICsxMzIwLDI5IEBACiBoaXN0b3J5
X2dldChpbnQgbnVtKQogewogCXN0YXRpYyBISVNUX0VOVFJZIHNoZTsKLQlU
WVBFKEhpc3RFdmVudCkgZXY7CisJSGlzdEV2ZW50IGV2OwogCWludCBjdXJy
X251bTsKIAogCWlmIChoID09IE5VTEwgfHwgZSA9PSBOVUxMKQogCQlybF9p
bml0aWFsaXplKCk7CiAKIAkvKiBzYXZlIGN1cnJlbnQgcG9zaXRpb24gKi8K
LQlpZiAoRlVOVyhoaXN0b3J5KShoLCAmZXYsIEhfQ1VSUikgIT0gMCkKKwlp
ZiAoaGlzdG9yeShoLCAmZXYsIEhfQ1VSUikgIT0gMCkKIAkJcmV0dXJuIChO
VUxMKTsKIAljdXJyX251bSA9IGV2Lm51bTsKIAogCS8qIHN0YXJ0IGZyb20g
dGhlIG9sZGVzdCAqLwotCWlmIChGVU5XKGhpc3RvcnkpKGgsICZldiwgSF9M
QVNUKSAhPSAwKQorCWlmIChoaXN0b3J5KGgsICZldiwgSF9MQVNUKSAhPSAw
KQogCQlyZXR1cm4gKE5VTEwpOwkvKiBlcnJvciAqLwogCiAJLyogbG9vayBm
b3J3YXJkcyBmb3IgZXZlbnQgbWF0Y2hpbmcgc3BlY2lmaWVkIG9mZnNldCAq
LwotCWlmIChGVU5XKGhpc3RvcnkpKGgsICZldiwgSF9ORVhUX0VWREFUQSwg
bnVtLCAmc2hlLmRhdGEpKQorCWlmIChoaXN0b3J5KGgsICZldiwgSF9ORVhU
X0VWREFUQSwgbnVtLCAmc2hlLmRhdGEpKQogCQlyZXR1cm4gKE5VTEwpOwog
Ci0Jc2hlLmxpbmUgPSBjdF9lbmNvZGVfc3RyaW5nKGV2LnN0ciwgJmNvbnYp
OworCXNoZS5saW5lID0gZXYuc3RyOwogCiAJLyogcmVzdG9yZSBwb2ludGVy
IHRvIHdoZXJlIGl0IHdhcyAqLwotCSh2b2lkKUZVTlcoaGlzdG9yeSkoaCwg
JmV2LCBIX1NFVCwgY3Vycl9udW0pOworCSh2b2lkKWhpc3RvcnkoaCwgJmV2
LCBIX1NFVCwgY3Vycl9udW0pOwogCiAJcmV0dXJuICgmc2hlKTsKIH0KQEAg
LTEzNjAsMTYgKzEzNTQsMTMgQEAKIGludAogYWRkX2hpc3RvcnkoY29uc3Qg
Y2hhciAqbGluZSkKIHsKLQlUWVBFKEhpc3RFdmVudCkgZXY7Ci0JY29uc3Qg
Q2hhciAqd2xpbmU7CisJSGlzdEV2ZW50IGV2OwogCiAJaWYgKGggPT0gTlVM
TCB8fCBlID09IE5VTEwpCiAJCXJsX2luaXRpYWxpemUoKTsKIAotCXdsaW5l
ID0gY3RfZGVjb2RlX3N0cmluZyhsaW5lLCAmY29udik7Ci0KLQkodm9pZClG
VU5XKGhpc3RvcnkpKGgsICZldiwgSF9FTlRFUiwgd2xpbmUpOwotCWlmIChG
VU5XKGhpc3RvcnkpKGgsICZldiwgSF9HRVRTSVpFKSA9PSAwKQorCSh2b2lk
KWhpc3RvcnkoaCwgJmV2LCBIX0VOVEVSLCBsaW5lKTsKKwlpZiAoaGlzdG9y
eShoLCAmZXYsIEhfR0VUU0laRSkgPT0gMCkKIAkJaGlzdG9yeV9sZW5ndGgg
PSBldi5udW07CiAKIAlyZXR1cm4gKCEoaGlzdG9yeV9sZW5ndGggPiAwKSk7
IC8qIHJldHVybiAwIGlmIGFsbCBpcyBva2F5ICovCkBAIC0xMzgzLDcgKzEz
NzQsNyBAQAogcmVtb3ZlX2hpc3RvcnkoaW50IG51bSkKIHsKIAlISVNUX0VO
VFJZICpoZTsKLQlUWVBFKEhpc3RFdmVudCkgZXY7CisJSGlzdEV2ZW50IGV2
OwogCiAJaWYgKGggPT0gTlVMTCB8fCBlID09IE5VTEwpCiAJCXJsX2luaXRp
YWxpemUoKTsKQEAgLTEzOTEsMTMgKzEzODIsMTMgQEAKIAlpZiAoKGhlID0g
bWFsbG9jKHNpemVvZigqaGUpKSkgPT0gTlVMTCkKIAkJcmV0dXJuIE5VTEw7
CiAKLQlpZiAoRlVOVyhoaXN0b3J5KShoLCAmZXYsIEhfREVMREFUQSwgbnVt
LCAmaGUtPmRhdGEpICE9IDApIHsKKwlpZiAoaGlzdG9yeShoLCAmZXYsIEhf
REVMREFUQSwgbnVtLCAmaGUtPmRhdGEpICE9IDApIHsKIAkJZnJlZShoZSk7
CiAJCXJldHVybiBOVUxMOwogCX0KIAotCWhlLT5saW5lID0gY3RfZW5jb2Rl
X3N0cmluZyhldi5zdHIsICZjb252KTsKLQlpZiAoRlVOVyhoaXN0b3J5KSho
LCAmZXYsIEhfR0VUU0laRSkgPT0gMCkKKwloZS0+bGluZSA9IGV2LnN0cjsK
KwlpZiAoaGlzdG9yeShoLCAmZXYsIEhfR0VUU0laRSkgPT0gMCkKIAkJaGlz
dG9yeV9sZW5ndGggPSBldi5udW07CiAKIAlyZXR1cm4gaGU7CkBAIC0xNDEx
LDM3ICsxNDAyLDM3IEBACiByZXBsYWNlX2hpc3RvcnlfZW50cnkoaW50IG51
bSwgY29uc3QgY2hhciAqbGluZSwgaGlzdGRhdGFfdCBkYXRhKQogewogCUhJ
U1RfRU5UUlkgKmhlOwotCVRZUEUoSGlzdEV2ZW50KSBldjsKKwlIaXN0RXZl
bnQgZXY7CiAJaW50IGN1cnJfbnVtOwogCiAJaWYgKGggPT0gTlVMTCB8fCBl
ID09IE5VTEwpCiAJCXJsX2luaXRpYWxpemUoKTsKIAogCS8qIHNhdmUgY3Vy
cmVudCBwb3NpdGlvbiAqLwotCWlmIChGVU5XKGhpc3RvcnkpKGgsICZldiwg
SF9DVVJSKSAhPSAwKQorCWlmIChoaXN0b3J5KGgsICZldiwgSF9DVVJSKSAh
PSAwKQogCQlyZXR1cm4gTlVMTDsKIAljdXJyX251bSA9IGV2Lm51bTsKIAog
CS8qIHN0YXJ0IGZyb20gdGhlIG9sZGVzdCAqLwotCWlmIChGVU5XKGhpc3Rv
cnkpKGgsICZldiwgSF9MQVNUKSAhPSAwKQorCWlmIChoaXN0b3J5KGgsICZl
diwgSF9MQVNUKSAhPSAwKQogCQlyZXR1cm4gTlVMTDsJLyogZXJyb3IgKi8K
IAogCWlmICgoaGUgPSBtYWxsb2Moc2l6ZW9mKCpoZSkpKSA9PSBOVUxMKQog
CQlyZXR1cm4gTlVMTDsKIAogCS8qIGxvb2sgZm9yd2FyZHMgZm9yIGV2ZW50
IG1hdGNoaW5nIHNwZWNpZmllZCBvZmZzZXQgKi8KLQlpZiAoRlVOVyhoaXN0
b3J5KShoLCAmZXYsIEhfTkVYVF9FVkRBVEEsIG51bSwgJmhlLT5kYXRhKSkK
KwlpZiAoaGlzdG9yeShoLCAmZXYsIEhfTkVYVF9FVkRBVEEsIG51bSwgJmhl
LT5kYXRhKSkKIAkJZ290byBvdXQ7CiAKLQloZS0+bGluZSA9IHN0cmR1cChj
dF9lbmNvZGVfc3RyaW5nKGV2LnN0ciwgJmUtPmVsX3NjcmF0Y2gpKTsKKwlo
ZS0+bGluZSA9IHN0cmR1cChldi5zdHIpOwogCWlmIChoZS0+bGluZSA9PSBO
VUxMKQogCQlnb3RvIG91dDsKIAotCWlmIChGVU5XKGhpc3RvcnkpKGgsICZl
diwgSF9SRVBMQUNFLCBsaW5lLCBkYXRhKSkKKwlpZiAoaGlzdG9yeShoLCAm
ZXYsIEhfUkVQTEFDRSwgbGluZSwgZGF0YSkpCiAJCWdvdG8gb3V0OwogCiAJ
LyogcmVzdG9yZSBwb2ludGVyIHRvIHdoZXJlIGl0IHdhcyAqLwotCWlmIChG
VU5XKGhpc3RvcnkpKGgsICZldiwgSF9TRVQsIGN1cnJfbnVtKSkKKwlpZiAo
aGlzdG9yeShoLCAmZXYsIEhfU0VULCBjdXJyX251bSkpCiAJCWdvdG8gb3V0
OwogCiAJcmV0dXJuIGhlOwpAQCAtMTQ1Niw5ICsxNDQ3LDkgQEAKIHZvaWQK
IGNsZWFyX2hpc3Rvcnkodm9pZCkKIHsKLQlUWVBFKEhpc3RFdmVudCkgZXY7
CisJSGlzdEV2ZW50IGV2OwogCi0JKHZvaWQpRlVOVyhoaXN0b3J5KShoLCAm
ZXYsIEhfQ0xFQVIpOworCWhpc3RvcnkoaCwgJmV2LCBIX0NMRUFSKTsKIAlo
aXN0b3J5X2xlbmd0aCA9IDA7CiB9CiAKQEAgLTE0NjksMTYgKzE0NjAsMTYg
QEAKIGludAogd2hlcmVfaGlzdG9yeSh2b2lkKQogewotCVRZUEUoSGlzdEV2
ZW50KSBldjsKKwlIaXN0RXZlbnQgZXY7CiAJaW50IGN1cnJfbnVtLCBvZmY7
CiAKLQlpZiAoRlVOVyhoaXN0b3J5KShoLCAmZXYsIEhfQ1VSUikgIT0gMCkK
KwlpZiAoaGlzdG9yeShoLCAmZXYsIEhfQ1VSUikgIT0gMCkKIAkJcmV0dXJu
ICgwKTsKIAljdXJyX251bSA9IGV2Lm51bTsKIAotCSh2b2lkKUZVTlcoaGlz
dG9yeSkoaCwgJmV2LCBIX0ZJUlNUKTsKKwloaXN0b3J5KGgsICZldiwgSF9G
SVJTVCk7CiAJb2ZmID0gMTsKLQl3aGlsZSAoZXYubnVtICE9IGN1cnJfbnVt
ICYmIEZVTlcoaGlzdG9yeSkoaCwgJmV2LCBIX05FWFQpID09IDApCisJd2hp
bGUgKGV2Lm51bSAhPSBjdXJyX251bSAmJiBoaXN0b3J5KGgsICZldiwgSF9O
RVhUKSA9PSAwKQogCQlvZmYrKzsKIAogCXJldHVybiAob2ZmKTsKQEAgLTE1
MDIsMjIgKzE0OTMsMjIgQEAKIGludAogaGlzdG9yeV90b3RhbF9ieXRlcyh2
b2lkKQogewotCVRZUEUoSGlzdEV2ZW50KSBldjsKKwlIaXN0RXZlbnQgZXY7
CiAJaW50IGN1cnJfbnVtOwogCXNpemVfdCBzaXplOwogCi0JaWYgKEZVTlco
aGlzdG9yeSkoaCwgJmV2LCBIX0NVUlIpICE9IDApCisJaWYgKGhpc3Rvcnko
aCwgJmV2LCBIX0NVUlIpICE9IDApCiAJCXJldHVybiAoLTEpOwogCWN1cnJf
bnVtID0gZXYubnVtOwogCi0JKHZvaWQpRlVOVyhoaXN0b3J5KShoLCAmZXYs
IEhfRklSU1QpOworCWhpc3RvcnkoaCwgJmV2LCBIX0ZJUlNUKTsKIAlzaXpl
ID0gMDsKIAlkbwotCQlzaXplICs9IFN0cmxlbihldi5zdHIpICogc2l6ZW9m
KCpldi5zdHIpOwotCXdoaWxlIChGVU5XKGhpc3RvcnkpKGgsICZldiwgSF9O
RVhUKSA9PSAwKTsKKwkJc2l6ZSArPSBzdHJsZW4oZXYuc3RyKTsKKwl3aGls
ZSAoaGlzdG9yeShoLCAmZXYsIEhfTkVYVCkgPT0gMCk7CiAKIAkvKiBnZXQg
dG8gdGhlIHNhbWUgcG9zaXRpb24gYXMgYmVmb3JlICovCi0JRlVOVyhoaXN0
b3J5KShoLCAmZXYsIEhfUFJFVl9FVkVOVCwgY3Vycl9udW0pOworCWhpc3Rv
cnkoaCwgJmV2LCBIX1BSRVZfRVZFTlQsIGN1cnJfbnVtKTsKIAogCXJldHVy
biAoaW50KShzaXplKTsKIH0KQEAgLTE1MjksMjEgKzE1MjAsMjEgQEAKIGlu
dAogaGlzdG9yeV9zZXRfcG9zKGludCBwb3MpCiB7Ci0JVFlQRShIaXN0RXZl
bnQpIGV2OworCUhpc3RFdmVudCBldjsKIAlpbnQgY3Vycl9udW07CiAKIAlp
ZiAocG9zID49IGhpc3RvcnlfbGVuZ3RoIHx8IHBvcyA8IDApCiAJCXJldHVy
biAoLTEpOwogCi0JKHZvaWQpRlVOVyhoaXN0b3J5KShoLCAmZXYsIEhfQ1VS
Uik7CisJaGlzdG9yeShoLCAmZXYsIEhfQ1VSUik7CiAJY3Vycl9udW0gPSBl
di5udW07CiAKIAkvKgogCSAqIHVzZSBIX0RFTERBVEEgdG8gc2V0IHRvIG50
aCBoaXN0b3J5ICh3aXRob3V0IGRlbGV0ZSkgYnkgcGFzc2luZwogCSAqICh2
b2lkICoqKS0xCiAJICovCi0JaWYgKEZVTlcoaGlzdG9yeSkoaCwgJmV2LCBI
X0RFTERBVEEsIHBvcywgKHZvaWQgKiopLTEpKSB7Ci0JCSh2b2lkKUZVTlco
aGlzdG9yeSkoaCwgJmV2LCBIX1NFVCwgY3Vycl9udW0pOworCWlmIChoaXN0
b3J5KGgsICZldiwgSF9ERUxEQVRBLCBwb3MsICh2b2lkICoqKS0xKSkgewor
CQloaXN0b3J5KGgsICZldiwgSF9TRVQsIGN1cnJfbnVtKTsKIAkJcmV0dXJu
KC0xKTsKIAl9CiAJcmV0dXJuICgwKTsKQEAgLTE1NzgsMjMgKzE1NjksMjEg
QEAKIGludAogaGlzdG9yeV9zZWFyY2goY29uc3QgY2hhciAqc3RyLCBpbnQg
ZGlyZWN0aW9uKQogewotCVRZUEUoSGlzdEV2ZW50KSBldjsKLQljb25zdCBD
aGFyICpzdHJwOwotCWNvbnN0IENoYXIgKndzdHI7CisJSGlzdEV2ZW50IGV2
OworCWNvbnN0IGNoYXIgKnN0cnA7CiAJaW50IGN1cnJfbnVtOwogCi0JaWYg
KEZVTlcoaGlzdG9yeSkoaCwgJmV2LCBIX0NVUlIpICE9IDApCisJaWYgKGhp
c3RvcnkoaCwgJmV2LCBIX0NVUlIpICE9IDApCiAJCXJldHVybiAoLTEpOwog
CWN1cnJfbnVtID0gZXYubnVtOwogCi0Jd3N0ciA9IGN0X2RlY29kZV9zdHJp
bmcoc3RyLCAmY29udik7CiAJZm9yICg7OykgewotCQlpZiAoKHN0cnAgPSBT
dHJzdHIoZXYuc3RyLCB3c3RyKSkgIT0gTlVMTCkKKwkJaWYgKChzdHJwID0g
c3Ryc3RyKGV2LnN0ciwgc3RyKSkgIT0gTlVMTCkKIAkJCXJldHVybiAoaW50
KSAoc3RycCAtIGV2LnN0cik7Ci0JCWlmIChGVU5XKGhpc3RvcnkpKGgsICZl
diwgZGlyZWN0aW9uIDwgMCA/IEhfTkVYVDpIX1BSRVYpICE9IDApCisJCWlm
IChoaXN0b3J5KGgsICZldiwgZGlyZWN0aW9uIDwgMCA/IEhfTkVYVDpIX1BS
RVYpICE9IDApCiAJCQlicmVhazsKIAl9Ci0JKHZvaWQpRlVOVyhoaXN0b3J5
KShoLCAmZXYsIEhfU0VULCBjdXJyX251bSk7CisJaGlzdG9yeShoLCAmZXYs
IEhfU0VULCBjdXJyX251bSk7CiAJcmV0dXJuICgtMSk7CiB9CiAKQEAgLTE2
MDUsMTAgKzE1OTQsOSBAQAogaW50CiBoaXN0b3J5X3NlYXJjaF9wcmVmaXgo
Y29uc3QgY2hhciAqc3RyLCBpbnQgZGlyZWN0aW9uKQogewotCVRZUEUoSGlz
dEV2ZW50KSBldjsKKwlIaXN0RXZlbnQgZXY7CiAKLQlyZXR1cm4gKEZVTlco
aGlzdG9yeSkoaCwgJmV2LCBkaXJlY3Rpb24gPCAwID8KLQkgICAgSF9QUkVW
X1NUUiA6IEhfTkVYVF9TVFIsIHN0cikpOworCXJldHVybiAoaGlzdG9yeSho
LCAmZXYsIGRpcmVjdGlvbiA8IDA/IEhfUFJFVl9TVFI6SF9ORVhUX1NUUiwg
c3RyKSk7CiB9CiAKIApAQCAtMTYyMSwzMSArMTYwOSwyOSBAQAogaGlzdG9y
eV9zZWFyY2hfcG9zKGNvbnN0IGNoYXIgKnN0ciwKIAkJICAgaW50IGRpcmVj
dGlvbiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksIGludCBwb3MpCiB7
Ci0JVFlQRShIaXN0RXZlbnQpIGV2OworCUhpc3RFdmVudCBldjsKIAlpbnQg
Y3Vycl9udW0sIG9mZjsKLQljb25zdCBDaGFyICp3c3RyOwogCiAJb2ZmID0g
KHBvcyA+IDApID8gcG9zIDogLXBvczsKIAlwb3MgPSAocG9zID4gMCkgPyAx
IDogLTE7CiAKLQlpZiAoRlVOVyhoaXN0b3J5KShoLCAmZXYsIEhfQ1VSUikg
IT0gMCkKKwlpZiAoaGlzdG9yeShoLCAmZXYsIEhfQ1VSUikgIT0gMCkKIAkJ
cmV0dXJuICgtMSk7CiAJY3Vycl9udW0gPSBldi5udW07CiAKLQlpZiAoaGlz
dG9yeV9zZXRfcG9zKG9mZikgIT0gMCB8fCBGVU5XKGhpc3RvcnkpKGgsICZl
diwgSF9DVVJSKSAhPSAwKQorCWlmIChoaXN0b3J5X3NldF9wb3Mob2ZmKSAh
PSAwIHx8IGhpc3RvcnkoaCwgJmV2LCBIX0NVUlIpICE9IDApCiAJCXJldHVy
biAoLTEpOwogCi0Jd3N0ciA9IGN0X2RlY29kZV9zdHJpbmcoc3RyLCAmY29u
dik7CisKIAlmb3IgKDs7KSB7Ci0JCWlmIChTdHJzdHIoZXYuc3RyLCB3c3Ry
KSkKKwkJaWYgKHN0cnN0cihldi5zdHIsIHN0cikpCiAJCQlyZXR1cm4gKG9m
Zik7Ci0JCWlmIChGVU5XKGhpc3RvcnkpKGgsICZldiwgKHBvcyA8IDApID8g
SF9QUkVWIDogSF9ORVhUKSAhPSAwKQorCQlpZiAoaGlzdG9yeShoLCAmZXYs
IChwb3MgPCAwKSA/IEhfUFJFViA6IEhfTkVYVCkgIT0gMCkKIAkJCWJyZWFr
OwogCX0KIAogCS8qIHNldCAiY3VycmVudCIgcG9pbnRlciBiYWNrIHRvIHBy
ZXZpb3VzIHN0YXRlICovCi0JKHZvaWQpRlVOVyhoaXN0b3J5KShoLCAmZXYs
Ci0JICAgIHBvcyA8IDAgPyBIX05FWFRfRVZFTlQgOiBIX1BSRVZfRVZFTlQs
IGN1cnJfbnVtKTsKKwloaXN0b3J5KGgsICZldiwgKHBvcyA8IDApID8gSF9O
RVhUX0VWRU5UIDogSF9QUkVWX0VWRU5ULCBjdXJyX251bSk7CiAKIAlyZXR1
cm4gKC0xKTsKIH0KQEAgLTE3NDIsMTAgKzE3MjgsNiBAQAogaW50CiBybF9j
b21wbGV0ZShpbnQgaWdub3JlIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSwgaW50IGludm9raW5nX2tleSkKIHsKLSNpZmRlZiBXSURFQ0hBUgotCXN0
YXRpYyBjdF9idWZmZXJfdCB3YnJlYWtfY29udiwgc3ByZWZpeF9jb252Owot
I2VuZGlmCi0KIAlpZiAoaCA9PSBOVUxMIHx8IGUgPT0gTlVMTCkKIAkJcmxf
aW5pdGlhbGl6ZSgpOwogCkBAIC0xNzYxLDggKzE3NDMsNyBAQAogCXJldHVy
biBmbl9jb21wbGV0ZShlLAogCSAgICAoQ1BGdW5jdGlvbiAqKXJsX2NvbXBs
ZXRpb25fZW50cnlfZnVuY3Rpb24sCiAJICAgIHJsX2F0dGVtcHRlZF9jb21w
bGV0aW9uX2Z1bmN0aW9uLAotCSAgICBjdF9kZWNvZGVfc3RyaW5nKHJsX2Jh
c2ljX3dvcmRfYnJlYWtfY2hhcmFjdGVycywgJndicmVha19jb252KSwKLQkg
ICAgY3RfZGVjb2RlX3N0cmluZyhybF9zcGVjaWFsX3ByZWZpeGVzLCAmc3By
ZWZpeF9jb252KSwKKwkgICAgcmxfYmFzaWNfd29yZF9icmVha19jaGFyYWN0
ZXJzLCBybF9zcGVjaWFsX3ByZWZpeGVzLAogCSAgICBfcmxfY29tcGxldGlv
bl9hcHBlbmRfY2hhcmFjdGVyX2Z1bmN0aW9uLAogCSAgICAoc2l6ZV90KXJs
X2NvbXBsZXRpb25fcXVlcnlfaXRlbXMsCiAJICAgICZybF9jb21wbGV0aW9u
X3R5cGUsICZybF9hdHRlbXB0ZWRfY29tcGxldGlvbl9vdmVyLApAQCAtMjIz
MSw5ICsyMjEyLDMgQEAKIHJsX2NsZWFudXBfYWZ0ZXJfc2lnbmFsKHZvaWQp
CiB7CiB9Ci0KLWludAotcmxfb25fbmV3X2xpbmUodm9pZCkKLXsKLQlyZXR1
cm4gMDsKLX0KSW5kZXg6IGxpYmVkaXQvY2hhcmVkLmMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gbGliZWRpdC9jaGFyZWQuYwkocmV2aXNpb24gMjM4
MDkwKQorKysgbGliZWRpdC9jaGFyZWQuYwkod29ya2luZyBjb3B5KQpAQCAt
MjksNyArMjksNyBAQAogICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgog
ICogU1VDSCBEQU1BR0UuCiAgKgotICoJJE5ldEJTRDogY2hhcmVkLmMsdiAx
LjI1IDIwMDUvMDgvMDggMDE6NDE6MzAgY2hyaXN0b3MgRXhwICQKKyAqCSRO
ZXRCU0Q6IGNoYXJlZC5jLHYgMS4yNyAyMDA5LzAyLzE1IDIxOjU1OjIzIGNo
cmlzdG9zIEV4cCAkCiAgKi8KIAogI2lmICFkZWZpbmVkKGxpbnQpICYmICFk
ZWZpbmVkKFNDQ1NJRCkKQEAgLTU5LDEyICs1OSwxMiBAQAogewogCWNfdW5k
b190ICp2dSA9ICZlbC0+ZWxfY2hhcmVkLmNfdW5kbzsKIAljX3JlZG9fdCAq
ciA9ICZlbC0+ZWxfY2hhcmVkLmNfcmVkbzsKLQl1bnNpZ25lZCBpbnQgc2l6
ZTsKKwlzaXplX3Qgc2l6ZTsKIAogCS8qIFNhdmUgZW50aXJlIGxpbmUgZm9y
IHVuZG8gKi8KIAlzaXplID0gZWwtPmVsX2xpbmUubGFzdGNoYXIgLSBlbC0+
ZWxfbGluZS5idWZmZXI7CiAJdnUtPmxlbiA9IHNpemU7Ci0JdnUtPmN1cnNv
ciA9IGVsLT5lbF9saW5lLmN1cnNvciAtIGVsLT5lbF9saW5lLmJ1ZmZlcjsK
Kwl2dS0+Y3Vyc29yID0gKGludCkoZWwtPmVsX2xpbmUuY3Vyc29yIC0gZWwt
PmVsX2xpbmUuYnVmZmVyKTsKIAltZW1jcHkodnUtPmJ1ZiwgZWwtPmVsX2xp
bmUuYnVmZmVyLCBzaXplKTsKIAogCS8qIHNhdmUgY29tbWFuZCBpbmZvIGZv
ciByZWRvICovCkBAIC04Myw3ICs4Myw3IEBACiB7CiAJY19raWxsX3QgKmsg
PSAmZWwtPmVsX2NoYXJlZC5jX2tpbGw7CiAKLQltZW1jcHkoay0+YnVmLCBw
dHIsIHNpemUgKzB1KTsKKwltZW1jcHkoay0+YnVmLCBwdHIsIChzaXplX3Qp
c2l6ZSk7CiAJay0+bGFzdCA9IGstPmJ1ZiArIHNpemU7CiB9CiAKQEAgLTk3
LDcgKzk3LDcgQEAKIAljaGFyICpjcDsKIAogCWlmIChlbC0+ZWxfbGluZS5s
YXN0Y2hhciArIG51bSA+PSBlbC0+ZWxfbGluZS5saW1pdCkgewotCQlpZiAo
IWNoX2VubGFyZ2VidWZzKGVsLCBudW0gKzB1KSkKKwkJaWYgKCFjaF9lbmxh
cmdlYnVmcyhlbCwgKHNpemVfdCludW0pKQogCQkJcmV0dXJuOwkJLyogY2Fu
J3QgZ28gcGFzdCBlbmQgb2YgYnVmZmVyICovCiAJfQogCkBAIC0xMTgsNyAr
MTE4LDcgQEAKIHsKIAogCWlmIChlbC0+ZWxfbGluZS5jdXJzb3IgKyBudW0g
PiBlbC0+ZWxfbGluZS5sYXN0Y2hhcikKLQkJbnVtID0gZWwtPmVsX2xpbmUu
bGFzdGNoYXIgLSBlbC0+ZWxfbGluZS5jdXJzb3I7CisJCW51bSA9IChpbnQp
KGVsLT5lbF9saW5lLmxhc3RjaGFyIC0gZWwtPmVsX2xpbmUuY3Vyc29yKTsK
IAogCWlmIChlbC0+ZWxfbWFwLmN1cnJlbnQgIT0gZWwtPmVsX21hcC5lbWFj
cykgewogCQljdl91bmRvKGVsKTsKQEAgLTE1OSw3ICsxNTksNyBAQAogewog
CiAJaWYgKGVsLT5lbF9saW5lLmN1cnNvciAtIG51bSA8IGVsLT5lbF9saW5l
LmJ1ZmZlcikKLQkJbnVtID0gZWwtPmVsX2xpbmUuY3Vyc29yIC0gZWwtPmVs
X2xpbmUuYnVmZmVyOworCQludW0gPSAoaW50KShlbC0+ZWxfbGluZS5jdXJz
b3IgLSBlbC0+ZWxfbGluZS5idWZmZXIpOwogCiAJaWYgKGVsLT5lbF9tYXAu
Y3VycmVudCAhPSBlbC0+ZWxfbWFwLmVtYWNzKSB7CiAJCWN2X3VuZG8oZWwp
OwpAQCAtMzc1LDcgKzM3NSw3IEBACiAJCS8qIHNhbml0eSAqLwogCQlyZXR1
cm47CiAKLQlzaXplID0gZWwtPmVsX2xpbmUuY3Vyc29yIC0gZWwtPmVsX2No
YXJlZC5jX3ZjbWQucG9zOworCXNpemUgPSAoaW50KShlbC0+ZWxfbGluZS5j
dXJzb3IgLSBlbC0+ZWxfY2hhcmVkLmNfdmNtZC5wb3MpOwogCWlmIChzaXpl
ID09IDApCiAJCXNpemUgPSAxOwogCWVsLT5lbF9saW5lLmN1cnNvciA9IGVs
LT5lbF9jaGFyZWQuY192Y21kLnBvczsKQEAgLTUyOSw4ICs1MjksNyBAQAog
fQogCiBwcml2YXRlIHZvaWQKLWNoX19jbGVhcm1hY3JvKGVsKQotCUVkaXRM
aW5lICplbDsKK2NoX19jbGVhcm1hY3JvKEVkaXRMaW5lICplbCkKIHsKIAlj
X21hY3JvX3QgKm1hID0gJmVsLT5lbF9jaGFyZWQuY19tYWNybzsKIAl3aGls
ZSAobWEtPmxldmVsID49IDApCkBAIC01NDIsOSArNTQxLDcgQEAKICAqCVJl
dHVybnMgMSBpZiBzdWNjZXNzZnVsLCAwIGlmIG5vdC4KICAqLwogcHJvdGVj
dGVkIGludAotY2hfZW5sYXJnZWJ1ZnMoZWwsIGFkZGxlbikKLQlFZGl0TGlu
ZSAqZWw7Ci0Jc2l6ZV90IGFkZGxlbjsKK2NoX2VubGFyZ2VidWZzKEVkaXRM
aW5lICplbCwgc2l6ZV90IGFkZGxlbikKIHsKIAlzaXplX3Qgc3osIG5ld3N6
OwogCWNoYXIgKm5ld2J1ZmZlciwgKm9sZGJ1ZiwgKm9sZGtidWY7CkBAIC02
OTUsMTIgKzY5MiwxMiBAQAogY19nZXRzKEVkaXRMaW5lICplbCwgY2hhciAq
YnVmLCBjb25zdCBjaGFyICpwcm9tcHQpCiB7CiAJY2hhciBjaDsKLQlpbnQg
bGVuOworCXNzaXplX3QgbGVuOwogCWNoYXIgKmNwID0gZWwtPmVsX2xpbmUu
YnVmZmVyOwogCiAJaWYgKHByb21wdCkgewogCQlsZW4gPSBzdHJsZW4ocHJv
bXB0KTsKLQkJbWVtY3B5KGNwLCBwcm9tcHQsIGxlbiArIDB1KTsKKwkJbWVt
Y3B5KGNwLCBwcm9tcHQsIChzaXplX3QpbGVuKTsKIAkJY3AgKz0gbGVuOwog
CX0KIAlsZW4gPSAwOwpAQCAtNzIxLDcgKzcxOCw3IEBACiAKIAkJY2FzZSAn
XDAxMCc6CS8qIERlbGV0ZSBhbmQgYmFja3NwYWNlICovCiAJCWNhc2UgJ1wx
NzcnOgotCQkJaWYgKGxlbiA8PSAwKSB7CisJCQlpZiAobGVuID09IDApIHsK
IAkJCQlsZW4gPSAtMTsKIAkJCQlicmVhazsKIAkJCX0KQEAgLTc0OSw3ICs3
NDYsNyBAQAogCWVsLT5lbF9saW5lLmJ1ZmZlclswXSA9ICdcMCc7CiAJZWwt
PmVsX2xpbmUubGFzdGNoYXIgPSBlbC0+ZWxfbGluZS5idWZmZXI7CiAJZWwt
PmVsX2xpbmUuY3Vyc29yID0gZWwtPmVsX2xpbmUuYnVmZmVyOwotCXJldHVy
biBsZW47CisJcmV0dXJuIChpbnQpbGVuOwogfQogCiAKQEAgLTc3MSw2ICs3
NjgsNiBAQAogCQkgICAgIHB0ciA+PSBlbC0+ZWxfbGluZS5idWZmZXIgJiYg
KnB0ciAhPSAnXG4nOwogCQkgICAgIHB0ci0tKQogCQkJY29udGludWU7Ci0J
CXJldHVybiAoZWwtPmVsX2xpbmUuY3Vyc29yIC0gcHRyIC0gMSk7CisJCXJl
dHVybiAoaW50KShlbC0+ZWxfbGluZS5jdXJzb3IgLSBwdHIgLSAxKTsKIAl9
CiB9CkluZGV4OiBsaWJlZGl0L2NoYXJlZC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIGxpYmVkaXQvY2hhcmVkLmgJKHJldmlzaW9uIDIzODA5MCkK
KysrIGxpYmVkaXQvY2hhcmVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcg
KzMwLDcgQEAKICAqIFNVQ0ggREFNQUdFLgogICoKICAqCUAoIyljaGFyZWQu
aAk4LjEgKEJlcmtlbGV5KSA2LzQvOTMKLSAqCSROZXRCU0Q6IGNoYXJlZC5o
LHYgMS4xNyAyMDA2LzAzLzA2IDIxOjExOjU2IGNocmlzdG9zIEV4cCAkCisg
KgkkTmV0QlNEOiBjaGFyZWQuaCx2IDEuMTggMjAwOS8wMi8xNSAyMTo1NToy
MyBjaHJpc3RvcyBFeHAgJAogICogJEZyZWVCU0QkCiAgKi8KIApAQCAtNzEs
NyArNzEsNyBAQAogICovCiB0eXBlZGVmIHN0cnVjdCBjX3VuZG9fdCB7CiAJ
aW50CSBsZW47CQkJLyogbGVuZ3RoIG9mIHNhdmVkIGxpbmUgKi8KLQlpbnQJ
IGN1cnNvcjsJCS8qIHBvc2l0aW9uIG9mIHNhdmVkIGN1cnNvciAqLworCXNz
aXplX3QJIGN1cnNvcjsJCS8qIHBvc2l0aW9uIG9mIHNhdmVkIGN1cnNvciAq
LwogCWNoYXIJKmJ1ZjsJCQkvKiBmdWxsIHNhdmVkIHRleHQgKi8KIH0gY191
bmRvX3Q7CiAK

--770692889-285587537-1341447905=:65270--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1341447905.65270.YahooMailClassic>