com php/gtk-src: TSRMLS_FETCH is the most evil thin g in the world remove where I can, also mak e 5.4 do class property defaults correctly: ext/gtk+/php_gtk+.c ext/gtk+/php_gtk+.h ext/gtk+ /php_gtk+_types.c generator/templates.php main/php _gtk.h main/php_gtk_object.c main/phpg_atom.c main/phpg_gboxed.c main/phpg_gobject.c main/phpg _gpointer.c main/phpg_gtype.c main/phpg_paramspec .c main/phpg_support.c

[email protected] (Elizabeth Marie Smith) Mon, 16 Jul 2012 18:19:47 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
--4b87d7742809f7f7c5e7e1d993e88846a82db5dd
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Commit:    71f565cf8623794168a01132a4b75a1aeaceaff8=0AAuthor:    Elizabeth =
M Smith <[email protected]>         Mon, 16 Jul 2012 14:19:47 -0400=
=0AParents:   9209524468b76b066af2c678947188aab5aa9794=0ABranches:  master=
=0A=0ALink:       http://git.php.net/?p=3Dphp/gtk-src.git;a=3Dcommitdiff;h=
=3D71f565cf8623794168a01132a4b75a1aeaceaff8=0A=0ALog:=0ATSRMLS_FETCH is the=
 most evil thing in the world=0Aremove where I can, also make 5.4 do class =
property=0Adefaults correctly=0A=0AChanged paths:=0A  M  ext/gtk+/php_gtk+.=
c=0A  M  ext/gtk+/php_gtk+.h=0A  M  ext/gtk+/php_gtk+_types.c=0A  M  genera=
tor/templates.php=0A  M  main/php_gtk.h=0A  M  main/php_gtk_object.c=0A  M =
 main/phpg_atom.c=0A  M  main/phpg_gboxed.c=0A  M  main/phpg_gobject.c=0A  =
M  main/phpg_gpointer.c=0A  M  main/phpg_gtype.c=0A  M  main/phpg_paramspec=
.c=0A  M  main/phpg_support.c=0A=0A
--4b87d7742809f7f7c5e7e1d993e88846a82db5dd
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="diff_71f565cf8623794168a01132a4b75a1aeaceaff8.txt"

ZGlmZiAtLWdpdCBhL2V4dC9ndGsrL3BocF9ndGsrLmMgYi9leHQvZ3RrKy9waHBfZ3RrKy5jCmlu
ZGV4IDg2Y2FmN2MuLjc3YjVjYWQgMTAwNjQ0Ci0tLSBhL2V4dC9ndGsrL3BocF9ndGsrLmMKKysr
IGIvZXh0L2d0aysvcGhwX2d0aysuYwpAQCAtMzYsNyArMzYsNyBAQCBleHRlcm4gemVuZF9jbGFz
c19lbnRyeSAqZ2RrX2NlOwogdm9pZCBwaHBnX2dka19yZWdpc3Rlcl9rZXlzeW1zKCk7CiAKIC8q
IFRPRE8gY2hlY2sgcHlndGsgdmVyc2lvbiAqLwotc3RhdGljIHZvaWQgaW5pdF9ndGsodm9pZCkK
K3N0YXRpYyB2b2lkIGluaXRfZ3RrKFRTUk1MU19DKQogewogCUhhc2hUYWJsZSAqc3ltYm9sX3Rh
YmxlOwogCXp2YWwgKip6X2FyZ3YgPSBOVUxMLCAqKnpfYXJnYyA9IE5VTEwsICoqZW50cnk7CkBA
IC00NCw3ICs0NCw2IEBAIHN0YXRpYyB2b2lkIGluaXRfZ3RrKHZvaWQpCiAJY2hhciAqKmFyZ3Yg
PSBOVUxMOwogCWludCBhcmdjLCBpOwogCXplbmRfYm9vbCBub19hcmdjID0gMDsKLQlUU1JNTFNf
RkVUQ0goKTsKIAogCS8qCiAJICogR3JhYiB0aGUgYXJnYy9hcmd2IHZhbHVlcyBmcm9tICRfU0VS
VkVSIGFycmF5LgpAQCAtMjA2LDE2ICsyMDUsMTYgQEAgUEhQX0dUS19YSU5JVF9GVU5DVElPTihn
dGtfcGx1cykKIHsKIAkvL3JlZ2lzdGVyX2V4Y2VwdGlvbihUU1JNTFNfQyk7CiAKLQlpbml0X2d0
aygpOwotCXBocGdfZ3RrX3JlZ2lzdGVyX2NsYXNzZXMoKTsKLQlwaHBnX2dka19yZWdpc3Rlcl9j
bGFzc2VzKCk7Ci0JcGhwZ19hdGtfcmVnaXN0ZXJfY2xhc3NlcygpOwotCXBocGdfcGFuZ29fcmVn
aXN0ZXJfY2xhc3NlcygpOworCWluaXRfZ3RrKFRTUk1MU19DKTsKKwlwaHBnX2d0a19yZWdpc3Rl
cl9jbGFzc2VzKFRTUk1MU19DKTsKKwlwaHBnX2dka19yZWdpc3Rlcl9jbGFzc2VzKFRTUk1MU19D
KTsKKwlwaHBnX2F0a19yZWdpc3Rlcl9jbGFzc2VzKFRTUk1MU19DKTsKKwlwaHBnX3BhbmdvX3Jl
Z2lzdGVyX2NsYXNzZXMoVFNSTUxTX0MpOwogCi0JcGhwZ19hdGtfcmVnaXN0ZXJfY29uc3RhbnRz
KCJBVEtfIik7Ci0JcGhwZ19wYW5nb19yZWdpc3Rlcl9jb25zdGFudHMoIlBBTkdPXyIpOwotCXBo
cGdfZ2RrX3JlZ2lzdGVyX2NvbnN0YW50cygiR0RLXyIpOwotCXBocGdfZ3RrX3JlZ2lzdGVyX2Nv
bnN0YW50cygiR1RLXyIpOworCXBocGdfYXRrX3JlZ2lzdGVyX2NvbnN0YW50cygiQVRLXyIgVFNS
TUxTX0NDKTsKKwlwaHBnX3BhbmdvX3JlZ2lzdGVyX2NvbnN0YW50cygiUEFOR09fIiBUU1JNTFNf
Q0MpOworCXBocGdfZ2RrX3JlZ2lzdGVyX2NvbnN0YW50cygiR0RLXyIgVFNSTUxTX0NDKTsKKwlw
aHBnX2d0a19yZWdpc3Rlcl9jb25zdGFudHMoIkdUS18iIFRTUk1MU19DQyk7CiAKIAlwaHBnX3Jl
Z2lzdGVyX3N0b2NrX2NvbnN0YW50cygpOwogCXBocGdfZ2RrX3JlZ2lzdGVyX2tleXN5bXMoKTsK
ZGlmZiAtLWdpdCBhL2V4dC9ndGsrL3BocF9ndGsrLmggYi9leHQvZ3RrKy9waHBfZ3RrKy5oCmlu
ZGV4IDRhYzUwMjMuLjBhNGQ3YjMgMTAwNjQ0Ci0tLSBhL2V4dC9ndGsrL3BocF9ndGsrLmgKKysr
IGIvZXh0L2d0aysvcGhwX2d0aysuaApAQCAtNTUsMTQgKzU1LDE0IEBAIHplbmRfb2JqZWN0X2l0
ZXJhdG9yKiBwaHBnX3RyZWVtb2RlbF9nZXRfaXRlcmF0b3IoemVuZF9jbGFzc19lbnRyeSAqY2Us
IHp2YWwgKm9iCiAKIHZvaWQgcGhwZ19tb2RlbHJvd19uZXcoenZhbCAqKnpvYmosIEd0a1RyZWVN
b2RlbCAqbW9kZWwsIEd0a1RyZWVJdGVyICppdGVyIFRTUk1MU19EQyk7CiAKLXZvaWQgcGhwZ19h
dGtfcmVnaXN0ZXJfY29uc3RhbnRzKGNvbnN0IGNoYXIgKnN0cmlwX3ByZWZpeCk7Ci12b2lkIHBo
cGdfcGFuZ29fcmVnaXN0ZXJfY29uc3RhbnRzKGNvbnN0IGNoYXIgKnN0cmlwX3ByZWZpeCk7Ci12
b2lkIHBocGdfZ2RrX3JlZ2lzdGVyX2NvbnN0YW50cyhjb25zdCBjaGFyICpzdHJpcF9wcmVmaXgp
Owotdm9pZCBwaHBnX2d0a19yZWdpc3Rlcl9jb25zdGFudHMoY29uc3QgY2hhciAqc3RyaXBfcHJl
Zml4KTsKLXZvaWQgcGhwZ19hdGtfcmVnaXN0ZXJfY2xhc3Nlcyh2b2lkKTsKLXZvaWQgcGhwZ19w
YW5nb19yZWdpc3Rlcl9jbGFzc2VzKHZvaWQpOwotdm9pZCBwaHBnX2dka19yZWdpc3Rlcl9jbGFz
c2VzKHZvaWQpOwotdm9pZCBwaHBnX2d0a19yZWdpc3Rlcl9jbGFzc2VzKHZvaWQpOwordm9pZCBw
aHBnX2F0a19yZWdpc3Rlcl9jb25zdGFudHMoY29uc3QgY2hhciAqc3RyaXBfcHJlZml4IFRTUk1M
U19EQyk7Cit2b2lkIHBocGdfcGFuZ29fcmVnaXN0ZXJfY29uc3RhbnRzKGNvbnN0IGNoYXIgKnN0
cmlwX3ByZWZpeCBUU1JNTFNfREMpOwordm9pZCBwaHBnX2dka19yZWdpc3Rlcl9jb25zdGFudHMo
Y29uc3QgY2hhciAqc3RyaXBfcHJlZml4IFRTUk1MU19EQyk7Cit2b2lkIHBocGdfZ3RrX3JlZ2lz
dGVyX2NvbnN0YW50cyhjb25zdCBjaGFyICpzdHJpcF9wcmVmaXggVFNSTUxTX0RDKTsKK3ZvaWQg
cGhwZ19hdGtfcmVnaXN0ZXJfY2xhc3NlcyhUU1JNTFNfRCk7Cit2b2lkIHBocGdfcGFuZ29fcmVn
aXN0ZXJfY2xhc3NlcyhUU1JNTFNfRCk7Cit2b2lkIHBocGdfZ2RrX3JlZ2lzdGVyX2NsYXNzZXMo
VFNSTUxTX0QpOwordm9pZCBwaHBnX2d0a19yZWdpc3Rlcl9jbGFzc2VzKFRTUk1MU19EKTsKIAog
dm9pZCBwaHBfZ3RrX3BsdXNfcmVnaXN0ZXJfdHlwZXMoVFNSTUxTX0QpOwogCmRpZmYgLS1naXQg
YS9leHQvZ3RrKy9waHBfZ3RrK190eXBlcy5jIGIvZXh0L2d0aysvcGhwX2d0aytfdHlwZXMuYwpp
bmRleCA5NDY1OWZiLi5mOTA4Mjg5IDEwMDY0NAotLS0gYS9leHQvZ3RrKy9waHBfZ3RrK190eXBl
cy5jCisrKyBiL2V4dC9ndGsrL3BocF9ndGsrX3R5cGVzLmMKQEAgLTc0Nyw3ICs3NDcsNyBAQCBz
dGF0aWMgemVuZF9vYmplY3RfdmFsdWUgcGhwZ19tb2RlbHJvd19jcmVhdGVfb2JqZWN0KHplbmRf
Y2xhc3NfZW50cnkgKmNlIFRTUk1MUwogCiAJb2JqZWN0ID0gZW1hbGxvYyhzaXplb2YocGhwZ19t
b2RlbHJvd190KSk7CiAgICAgbWVtc2V0KG9iamVjdCwgMCwgc2l6ZW9mKHBocGdfbW9kZWxyb3df
dCkpOwotCXBocGdfaW5pdF9vYmplY3Qob2JqZWN0LCBjZSk7CisJcGhwZ19pbml0X29iamVjdChv
YmplY3QsIGNlIFRTUk1MU19DQyk7CiAKIAl6b3YuaGFuZGxlcnMgPSAmZ3RrdHJlZW1vZGVscm93
X2hhbmRsZXJzOwogCXpvdi5oYW5kbGUgPSB6ZW5kX29iamVjdHNfc3RvcmVfcHV0KG9iamVjdCwg
KHplbmRfb2JqZWN0c19zdG9yZV9kdG9yX3QpIHplbmRfb2JqZWN0c19kZXN0cm95X29iamVjdCwg
KHplbmRfb2JqZWN0c19mcmVlX29iamVjdF9zdG9yYWdlX3QpIHBocGdfbW9kZWxyb3dfZnJlZV9v
YmplY3Rfc3RvcmFnZSwgTlVMTCBUU1JNTFNfQ0MpOwpAQCAtODEyLDcgKzgxMiw3IEBAIHN0YXRp
YyB6ZW5kX29iamVjdF92YWx1ZSBwaHBnX21vZGVscm93aXRlcl9jcmVhdGVfb2JqZWN0KHplbmRf
Y2xhc3NfZW50cnkgKmNlIFRTCiAKIAlvYmplY3QgPSBlbWFsbG9jKHNpemVvZihwaHBnX21vZGVs
cm93aXRlcl90KSk7CiAgICAgbWVtc2V0KG9iamVjdCwgMCwgc2l6ZW9mKHBocGdfbW9kZWxyb3dp
dGVyX3QpKTsKLQlwaHBnX2luaXRfb2JqZWN0KG9iamVjdCwgY2UpOworCXBocGdfaW5pdF9vYmpl
Y3Qob2JqZWN0LCBjZSBUU1JNTFNfQ0MpOwogCiAJem92LmhhbmRsZXJzID0gJnBocF9ndGtfaGFu
ZGxlcnM7CiAJem92LmhhbmRsZSA9IHplbmRfb2JqZWN0c19zdG9yZV9wdXQob2JqZWN0LCAoemVu
ZF9vYmplY3RzX3N0b3JlX2R0b3JfdCkgemVuZF9vYmplY3RzX2Rlc3Ryb3lfb2JqZWN0LCAoemVu
ZF9vYmplY3RzX2ZyZWVfb2JqZWN0X3N0b3JhZ2VfdCkgcGhwZ19tb2RlbHJvd2l0ZXJfZnJlZV9v
YmplY3Rfc3RvcmFnZSwgTlVMTCBUU1JNTFNfQ0MpOwpkaWZmIC0tZ2l0IGEvZ2VuZXJhdG9yL3Rl
bXBsYXRlcy5waHAgYi9nZW5lcmF0b3IvdGVtcGxhdGVzLnBocAppbmRleCA5OTBmYTI2Li5iNzFk
YTE2IDEwMDY0NAotLS0gYS9nZW5lcmF0b3IvdGVtcGxhdGVzLnBocAorKysgYi9nZW5lcmF0b3Iv
dGVtcGxhdGVzLnBocApAQCAtMjQ4LDkgKzI0OCw4IEBAIFBIUF9GVU5DVElPTiglc19nZXRfdHlw
ZSkKIH1cblxuIjsKIAogY29uc3QgcmVnaXN0ZXJfY2xhc3NlcyA9ICIKLXZvaWQgcGhwZ18lc19y
ZWdpc3Rlcl9jbGFzc2VzKHZvaWQpCit2b2lkIHBocGdfJXNfcmVnaXN0ZXJfY2xhc3NlcyhUU1JN
TFNfRCkKIHsKLQlUU1JNTFNfRkVUQ0goKTsKICVzfVxuIjsKIAogY29uc3QgcmVnaXN0ZXJfY2xh
c3MgPSAiCkBAIC0yOTMsOSArMjkyLDggQEAgY29uc3QgcHJvcF9hY2Nlc3MgPSAiJShjYXN0KSgo
KHBocGdfZ29iamVjdF90ICopb2JqZWN0KS0+b2JqKS0+JShuYW1lKSI7CiBjb25zdCBib3hlZF9w
cm9wX2FjY2VzcyA9ICIoKCUoY2FzdCkpKChwaHBnX2dib3hlZF90ICopb2JqZWN0KS0+Ym94ZWQp
LT4lKG5hbWUpIjsKIAogY29uc3QgcmVnaXN0ZXJfY29uc3RhbnRzID0gIgotdm9pZCBwaHBnXyVz
X3JlZ2lzdGVyX2NvbnN0YW50cyhjb25zdCBjaGFyICpzdHJpcF9wcmVmaXgpCit2b2lkIHBocGdf
JXNfcmVnaXN0ZXJfY29uc3RhbnRzKGNvbnN0IGNoYXIgKnN0cmlwX3ByZWZpeCBUU1JNTFNfREMp
CiB7Ci0gICAgVFNSTUxTX0ZFVENIKCk7CiAlcwogICAgIC8qIHJlZ2lzdGVyIGd0eXBlIGNvbnN0
YW50cyBmb3IgYWxsIGNsYXNzZXMgKi8KIApkaWZmIC0tZ2l0IGEvbWFpbi9waHBfZ3RrLmggYi9t
YWluL3BocF9ndGsuaAppbmRleCA4ZGM5NzFmLi40ZGUwMTcyIDEwMDY0NAotLS0gYS9tYWluL3Bo
cF9ndGsuaAorKysgYi9tYWluL3BocF9ndGsuaApAQCAtMzIzLDcgKzMyMyw3IEBAIHZvaWQgcGhw
X2d0a19jYWxsX2Z1bmN0aW9uKElOVEVSTkFMX0ZVTkNUSU9OX1BBUkFNRVRFUlMsIHplbmRfcHJv
cGVydHlfcmVmZXJlbmNlCiBQSFBfR1RLX0FQSSB6ZW5kX2NsYXNzX2VudHJ5KiBwaHBnX3JlZ2lz
dGVyX2NsYXNzKGNvbnN0IGNoYXIgKmNsYXNzX25hbWUsIHplbmRfZnVuY3Rpb25fZW50cnkgKmNs
YXNzX2Z1bmN0aW9ucywgemVuZF9jbGFzc19lbnRyeSAqcGFyZW50LCB6ZW5kX3VpbnQgY2VfZmxh
Z3MsIHByb3BfaW5mb190ICpwcm9wX2luZm8sIGNyZWF0ZV9vYmplY3RfZnVuY190IGNyZWF0ZV9v
YmpfZnVuYywgR1R5cGUgZ3R5cGUgVFNSTUxTX0RDKTsKIFBIUF9HVEtfQVBJIHplbmRfY2xhc3Nf
ZW50cnkqIHBocGdfcmVnaXN0ZXJfaW50ZXJmYWNlKGNvbnN0IGNoYXIgKmlmYWNlX25hbWUsIHpl
bmRfZnVuY3Rpb25fZW50cnkgKmlmYWNlX21ldGhvZHMsIEdUeXBlIGd0eXBlIFRTUk1MU19EQyk7
CiBQSFBfR1RLX0FQSSB6ZW5kX2NsYXNzX2VudHJ5KiBwaHBnX2NyZWF0ZV9jbGFzcyhHVHlwZSBn
dHlwZSk7Ci1QSFBfR1RLX0FQSSB2b2lkIHBocGdfaW5pdF9vYmplY3Qodm9pZCAqcG9iaiwgemVu
ZF9jbGFzc19lbnRyeSAqY2UpOworUEhQX0dUS19BUEkgdm9pZCBwaHBnX2luaXRfb2JqZWN0KHZv
aWQgKnBvYmosIHplbmRfY2xhc3NfZW50cnkgKmNlIFRTUk1MU19EQyk7CiBQSFBfR1RLX0FQSSB6
ZW5kX2Jvb2wgcGhwZ19wYXJzZV9jdG9yX3Byb3BzKEdUeXBlIGd0eXBlLCB6dmFsICoqcGhwX2Fy
Z3MsIEdQYXJhbWV0ZXIgKnBhcmFtcywgZ3VpbnQgKm5fcGFyYW1zLCBjaGFyICoqcHJvcF9uYW1l
cyBUU1JNTFNfREMpOwogCiBQSFBfR1RLX0FQSSB2b2lkIHBocGdfcmVnaXN0ZXJfcHJvcF9nZXR0
ZXIoemVuZF9jbGFzc19lbnRyeSAqY2UsIHByb3BfZ2V0dGVyX3QgZ2V0dGVyKTsKZGlmZiAtLWdp
dCBhL21haW4vcGhwX2d0a19vYmplY3QuYyBiL21haW4vcGhwX2d0a19vYmplY3QuYwppbmRleCA0
YjczZjViLi5mNDA4MTY0IDEwMDY0NAotLS0gYS9tYWluL3BocF9ndGtfb2JqZWN0LmMKKysrIGIv
bWFpbi9waHBfZ3RrX29iamVjdC5jCkBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyB6ZW5kX29iamVj
dF92YWx1ZSBwaHBnX2NyZWF0ZV9vYmplY3QoemVuZF9jbGFzc19lbnRyeSAqY2UgVFNSTUxTX0RD
KQogCXByb3BfZGVzY190ICpwcm9wX2Rlc2M7CiAKIAlvYmplY3QgPSBlbWFsbG9jKHNpemVvZihw
aHBnX2dvYmplY3RfdCkpOwotCXBocGdfaW5pdF9vYmplY3Qob2JqZWN0LCBjZSk7CisJcGhwZ19p
bml0X29iamVjdChvYmplY3QsIGNlIFRTUk1MU19DQyk7CiAJb2JqZWN0LT5vYmogID0gTlVMTDsK
IAlvYmplY3QtPmR0b3IgPSBOVUxMOwogCmRpZmYgLS1naXQgYS9tYWluL3BocGdfYXRvbS5jIGIv
bWFpbi9waHBnX2F0b20uYwppbmRleCBkZWI3MTA3Li5hZDQ0YmFjIDEwMDY0NAotLS0gYS9tYWlu
L3BocGdfYXRvbS5jCisrKyBiL21haW4vcGhwZ19hdG9tLmMKQEAgLTEyNSw3ICsxMjUsNyBAQCBQ
SFBfR1RLX0FQSSB6ZW5kX29iamVjdF92YWx1ZSBwaHBnX2NyZWF0ZV9nZGthdG9tKHplbmRfY2xh
c3NfZW50cnkgKmNlIFRTUk1MU19EQwogCXBocGdfZ2RrYXRvbV90ICpvYmplY3Q7CiAKIAlvYmpl
Y3QgPSBlbWFsbG9jKHNpemVvZihwaHBnX2dka2F0b21fdCkpOwotCXBocGdfaW5pdF9vYmplY3Qo
b2JqZWN0LCBjZSk7CisJcGhwZ19pbml0X29iamVjdChvYmplY3QsIGNlIFRTUk1MU19DQyk7CiAK
IAlvYmplY3QtPmF0b20gPSBHREtfTk9ORTsKIAlvYmplY3QtPm5hbWUgPSBOVUxMOwpkaWZmIC0t
Z2l0IGEvbWFpbi9waHBnX2dib3hlZC5jIGIvbWFpbi9waHBnX2dib3hlZC5jCmluZGV4IGFjMDBl
OWYuLjk0YTUxYzUgMTAwNjQ0Ci0tLSBhL21haW4vcGhwZ19nYm94ZWQuYworKysgYi9tYWluL3Bo
cGdfZ2JveGVkLmMKQEAgLTc1LDcgKzc1LDcgQEAgUEhQX0dUS19BUEkgemVuZF9vYmplY3RfdmFs
dWUgcGhwZ19jcmVhdGVfZ2JveGVkKHplbmRfY2xhc3NfZW50cnkgKmNlIFRTUk1MU19EQykKIAlw
aHBnX2dib3hlZF90ICpvYmplY3Q7CiAKIAlvYmplY3QgPSBlbWFsbG9jKHNpemVvZihwaHBnX2di
b3hlZF90KSk7Ci0JcGhwZ19pbml0X29iamVjdChvYmplY3QsIGNlKTsKKwlwaHBnX2luaXRfb2Jq
ZWN0KG9iamVjdCwgY2UgVFNSTUxTX0NDKTsKIAogCW9iamVjdC0+Ym94ZWQgPSBOVUxMOwogCW9i
amVjdC0+Z3R5cGUgPSAwOwpkaWZmIC0tZ2l0IGEvbWFpbi9waHBnX2dvYmplY3QuYyBiL21haW4v
cGhwZ19nb2JqZWN0LmMKaW5kZXggODYzODQ4OC4uNmZiMDY0YSAxMDA2NDQKLS0tIGEvbWFpbi9w
aHBnX2dvYmplY3QuYworKysgYi9tYWluL3BocGdfZ29iamVjdC5jCkBAIC0xNDQsNyArMTQ0LDcg
QEAgUEhQX0dUS19BUEkgemVuZF9vYmplY3RfdmFsdWUgcGhwZ19jcmVhdGVfZ29iamVjdCh6ZW5k
X2NsYXNzX2VudHJ5ICpjZSBUU1JNTFNfREMKICAgICBwaHBnX2dvYmplY3RfdCAqb2JqZWN0Owog
CiAgICAgb2JqZWN0ID0gZW1hbGxvYyhzaXplb2YocGhwZ19nb2JqZWN0X3QpKTsKLSAgICBwaHBn
X2luaXRfb2JqZWN0KG9iamVjdCwgY2UpOworICAgIHBocGdfaW5pdF9vYmplY3Qob2JqZWN0LCBj
ZSBUU1JNTFNfQ0MpOwogCiAgICAgb2JqZWN0LT5vYmogID0gTlVMTDsKICAgICBvYmplY3QtPmR0
b3IgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvbWFpbi9waHBnX2dwb2ludGVyLmMgYi9tYWluL3BocGdf
Z3BvaW50ZXIuYwppbmRleCA4ZGI0YjBiLi5mNTJkMzY3IDEwMDY0NAotLS0gYS9tYWluL3BocGdf
Z3BvaW50ZXIuYworKysgYi9tYWluL3BocGdfZ3BvaW50ZXIuYwpAQCAtNjYsNyArNjYsNyBAQCBQ
SFBfR1RLX0FQSSB6ZW5kX29iamVjdF92YWx1ZSBwaHBnX2NyZWF0ZV9ncG9pbnRlcih6ZW5kX2Ns
YXNzX2VudHJ5ICpjZSBUU1JNTFNfRAogCXBocGdfZ3BvaW50ZXJfdCAqb2JqZWN0OwogCiAJb2Jq
ZWN0ID0gZW1hbGxvYyhzaXplb2YocGhwZ19ncG9pbnRlcl90KSk7Ci0JcGhwZ19pbml0X29iamVj
dChvYmplY3QsIGNlKTsKKwlwaHBnX2luaXRfb2JqZWN0KG9iamVjdCwgY2UgVFNSTUxTX0NDKTsK
IAogCW9iamVjdC0+cG9pbnRlciA9IE5VTEw7CiAJb2JqZWN0LT5ndHlwZSA9IDA7CmRpZmYgLS1n
aXQgYS9tYWluL3BocGdfZ3R5cGUuYyBiL21haW4vcGhwZ19ndHlwZS5jCmluZGV4IGNkOTFhNjgu
LjQ5YjAyZjMgMTAwNjQ0Ci0tLSBhL21haW4vcGhwZ19ndHlwZS5jCisrKyBiL21haW4vcGhwZ19n
dHlwZS5jCkBAIC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyB6ZW5kX29iamVjdF92YWx1ZSBndHlwZV9j
cmVhdGVfb2JqZWN0KHplbmRfY2xhc3NfZW50cnkgKmNlIFRTUk1MU19EQykKIAlwaHBnX2d0eXBl
X3QgKm9iamVjdDsKIAogCW9iamVjdCA9IGVtYWxsb2Moc2l6ZW9mKHBocGdfZ3R5cGVfdCkpOwot
CXBocGdfaW5pdF9vYmplY3Qob2JqZWN0LCBjZSk7CisJcGhwZ19pbml0X29iamVjdChvYmplY3Qs
IGNlIFRTUk1MU19DQyk7CiAKIAlvYmplY3QtPnR5cGUgPSAwOwogCmRpZmYgLS1naXQgYS9tYWlu
L3BocGdfcGFyYW1zcGVjLmMgYi9tYWluL3BocGdfcGFyYW1zcGVjLmMKaW5kZXggNjFhOGJkMy4u
N2JhMjQ1YyAxMDA2NDQKLS0tIGEvbWFpbi9waHBnX3BhcmFtc3BlYy5jCisrKyBiL21haW4vcGhw
Z19wYXJhbXNwZWMuYwpAQCAtNDksNyArNDksNyBAQCBQSFBfR1RLX0FQSSB6ZW5kX29iamVjdF92
YWx1ZSBwaHBnX2NyZWF0ZV9wYXJhbXNwZWMoemVuZF9jbGFzc19lbnRyeSAqY2UgVFNSTUxTXwog
ICAgIHBocGdfcGFyYW1zcGVjX3QgKm9iamVjdDsKIAogICAgIG9iamVjdCA9IGVtYWxsb2Moc2l6
ZW9mKHBocGdfcGFyYW1zcGVjX3QpKTsKLSAgICBwaHBnX2luaXRfb2JqZWN0KG9iamVjdCwgY2Up
OworICAgIHBocGdfaW5pdF9vYmplY3Qob2JqZWN0LCBjZSBUU1JNTFNfQ0MpOwogCiAJb2JqZWN0
LT5wc3BlYyA9IE5VTEw7CiAKZGlmZiAtLWdpdCBhL21haW4vcGhwZ19zdXBwb3J0LmMgYi9tYWlu
L3BocGdfc3VwcG9ydC5jCmluZGV4IGU3Y2MyZjUuLjRlY2E5ZDYgMTAwNjQ0Ci0tLSBhL21haW4v
cGhwZ19zdXBwb3J0LmMKKysrIGIvbWFpbi9waHBnX3N1cHBvcnQuYwpAQCAtMjYxLDE5ICsyNjEs
MjMgQEAgUEhQX0dUS19BUEkgdm9pZCBwaHBnX2Rlc3Ryb3lfbm90aWZ5KGdwb2ludGVyIGRhdGEp
CiAvKiB9fX0gKi8KIAogLyoge3t7IHBocGdfaW5pdF9vYmplY3QoKSAqLwotUEhQX0dUS19BUEkg
dm9pZCBwaHBnX2luaXRfb2JqZWN0KHZvaWQgKm9iamVjdCwgemVuZF9jbGFzc19lbnRyeSAqY2Up
CitQSFBfR1RLX0FQSSB2b2lkIHBocGdfaW5pdF9vYmplY3Qodm9pZCAqb2JqZWN0LCB6ZW5kX2Ns
YXNzX2VudHJ5ICpjZSBUU1JNTFNfREMpCiB7CiAJenZhbCAqdG1wOwogCXplbmRfY2xhc3NfZW50
cnkgKnByb3BfY2U7CiAJcGhwZ19oZWFkX3QgKnBvaCA9IChwaHBnX2hlYWRfdCAqKSBvYmplY3Q7
CiAKLQlwb2gtPnpvYmouY2UgPSBjZTsKLQlwb2gtPnpvYmouZ3VhcmRzID0gTlVMTDsKKwl6ZW5k
X29iamVjdF9zdGRfaW5pdCgmcG9oLT56b2JqLCBjZSBUU1JNTFNfQ0MpOworCiAJcG9oLT5waV9o
YXNoID0gTlVMTDsKIAotCUFMTE9DX0hBU0hUQUJMRShwb2gtPnpvYmoucHJvcGVydGllcyk7Ci0J
emVuZF9oYXNoX2luaXQocG9oLT56b2JqLnByb3BlcnRpZXMsIDAsIE5VTEwsIFpWQUxfUFRSX0RU
T1IsIDApOwotCXplbmRfaGFzaF9jb3B5KHBvaC0+em9iai5wcm9wZXJ0aWVzLCAmY2UtPmRlZmF1
bHRfcHJvcGVydGllcywgKGNvcHlfY3Rvcl9mdW5jX3QpIHp2YWxfYWRkX3JlZiwgKHZvaWQgKikg
JnRtcCwgc2l6ZW9mKHp2YWwgKikpOworI2lmIFBIUF9WRVJTSU9OX0lEIDwgNTAzOTkJCisJemVu
ZF9oYXNoX2NvcHkocG9oLT56b2JqLnByb3BlcnRpZXMsICYoY2UtPmRlZmF1bHRfcHJvcGVydGll
cyksCisJICAgICAgICAgICAgICAoY29weV9jdG9yX2Z1bmNfdCl6dmFsX2FkZF9yZWYsICh2b2lk
ICopKCZ0bXApLAorCSAgICAgICAgICAgICAgIHNpemVvZih6dmFsICopKTsKKyNlbHNlCisJb2Jq
ZWN0X3Byb3BlcnRpZXNfaW5pdCgmKHBvaC0+em9iaiksIGNlKTsKKyNlbmRpZgogCiAJLyoKIAkg
KiBGaW5kIHRoZSBuZWFyZXN0IGludGVybmFsIHBhcmVudCBjbGFzcyBhbmQgdXNlIGl0cyBwcm9w
ZXJ0eSBoYW5kbGVyCkBAIC0zMDAsNyArMzA0LDcgQEAgUEhQX0dUS19BUEkgemVuZF9jbGFzc19l
bnRyeSogcGhwZ19yZWdpc3Rlcl9jbGFzcyhjb25zdCBjaGFyICpjbGFzc19uYW1lLAogewogCXpl
bmRfY2xhc3NfZW50cnkgY2UsICpyZWFsX2NlOwogCUhhc2hUYWJsZSBwaV9oYXNoOwotICAgIEhh
c2hUYWJsZSAqcGFyZW50X3BpX2hhc2ggPSBOVUxMOworCUhhc2hUYWJsZSAqcGFyZW50X3BpX2hh
c2ggPSBOVUxMOwogCXByb3BfaW5mb190ICpwaTsKIAogCWlmICghcGhwZ19jbGFzc19rZXkpIHsK
QEAgLTMxNSwzNiArMzE5LDM2IEBAIFBIUF9HVEtfQVBJIHplbmRfY2xhc3NfZW50cnkqIHBocGdf
cmVnaXN0ZXJfY2xhc3MoY29uc3QgY2hhciAqY2xhc3NfbmFtZSwKIAogCXJlYWxfY2UgPSB6ZW5k
X3JlZ2lzdGVyX2ludGVybmFsX2NsYXNzX2V4KCZjZSwgcGFyZW50LCBOVUxMIFRTUk1MU19DQyk7
CiAKLSAgICByZWFsX2NlLT5jZV9mbGFncyA9IGNlX2ZsYWdzOworCXJlYWxfY2UtPmNlX2ZsYWdz
ID0gY2VfZmxhZ3M7CiAJaWYgKGNyZWF0ZV9vYmpfZnVuYykgewogCQlyZWFsX2NlLT5jcmVhdGVf
b2JqZWN0ID0gY3JlYXRlX29ial9mdW5jOwogCX0gZWxzZSB7CiAJCXJlYWxfY2UtPmNyZWF0ZV9v
YmplY3QgPSBwaHBnX2NyZWF0ZV9nb2JqZWN0OwogCX0KIAotICAgIHplbmRfaGFzaF9pbml0KCZw
aV9oYXNoLCAxLCBOVUxMLCBOVUxMLCAxKTsKLSAgICBpZiAocHJvcF9pbmZvKSB7Ci0gICAgICAg
IHBpID0gcHJvcF9pbmZvOwotICAgICAgICAvKgotICAgICAgICAgKiBPbmx5IHJlZ2lzdGVyIHBy
b3BlcnRpZXMgd2l0aCByZWFkZXIgZnVuY3Rpb25zLgotICAgICAgICAgKi8KLSAgICAgICAgd2hp
bGUgKHBpLT5uYW1lICYmIHBpLT5yZWFkKSB7Ci0gICAgICAgICAgICB6ZW5kX2hhc2hfdXBkYXRl
KCZwaV9oYXNoLCAoY2hhciAqKXBpLT5uYW1lLCBzdHJsZW4ocGktPm5hbWUpKzEsIHBpLCBzaXpl
b2YocHJvcF9pbmZvX3QpLCBOVUxMKTsKLSAgICAgICAgICAgIHBpKys7Ci0gICAgICAgIH0KLSAg
ICB9CisJemVuZF9oYXNoX2luaXQoJnBpX2hhc2gsIDEsIE5VTEwsIE5VTEwsIDEpOworCWlmIChw
cm9wX2luZm8pIHsKKwkJcGkgPSBwcm9wX2luZm87CisJCS8qCisJCSAqIE9ubHkgcmVnaXN0ZXIg
cHJvcGVydGllcyB3aXRoIHJlYWRlciBmdW5jdGlvbnMuCisJCSAqLworCQl3aGlsZSAocGktPm5h
bWUgJiYgcGktPnJlYWQpIHsKKwkJCXplbmRfaGFzaF91cGRhdGUoJnBpX2hhc2gsIChjaGFyICop
cGktPm5hbWUsIHN0cmxlbihwaS0+bmFtZSkrMSwgcGksIHNpemVvZihwcm9wX2luZm9fdCksIE5V
TEwpOworCQkJcGkrKzsKKwkJfQorCX0KIAotICAgIC8qCi0gICAgICogTWVyZ2UgaW4gcGFyZW50
J3MgcHJvcGVydGllcy4KLSAgICAgKi8KLSAgICBpZiAocGFyZW50ICYmIHplbmRfaGFzaF9maW5k
KCZwaHBnX3Byb3BfaW5mbywgcGFyZW50LT5uYW1lLCBwYXJlbnQtPm5hbWVfbGVuZ3RoKzEsICh2
b2lkICoqKSZwYXJlbnRfcGlfaGFzaCkgPT0gU1VDQ0VTUykgewotICAgICAgICB6ZW5kX2hhc2hf
bWVyZ2UoJnBpX2hhc2gsIHBhcmVudF9waV9oYXNoLCBOVUxMLCBOVUxMLCBzaXplb2YocHJvcF9p
bmZvX3QpLCAwKTsKLSAgICB9Ci0gICAgemVuZF9oYXNoX2FkZCgmcGhwZ19wcm9wX2luZm8sIGNl
Lm5hbWUsIGNlLm5hbWVfbGVuZ3RoKzEsICZwaV9oYXNoLCBzaXplb2YoSGFzaFRhYmxlKSwgTlVM
TCk7CisJLyoKKwkgKiBNZXJnZSBpbiBwYXJlbnQncyBwcm9wZXJ0aWVzLgorCSAqLworCWlmIChw
YXJlbnQgJiYgemVuZF9oYXNoX2ZpbmQoJnBocGdfcHJvcF9pbmZvLCBwYXJlbnQtPm5hbWUsIHBh
cmVudC0+bmFtZV9sZW5ndGgrMSwgKHZvaWQgKiopJnBhcmVudF9waV9oYXNoKSA9PSBTVUNDRVNT
KSB7CisJCXplbmRfaGFzaF9tZXJnZSgmcGlfaGFzaCwgcGFyZW50X3BpX2hhc2gsIE5VTEwsIE5V
TEwsIHNpemVvZihwcm9wX2luZm9fdCksIDApOworCX0KKwl6ZW5kX2hhc2hfYWRkKCZwaHBnX3By
b3BfaW5mbywgY2UubmFtZSwgY2UubmFtZV9sZW5ndGgrMSwgJnBpX2hhc2gsIHNpemVvZihIYXNo
VGFibGUpLCBOVUxMKTsKIAotICAgIGlmIChndHlwZSkgewotICAgICAgICBnX3R5cGVfc2V0X3Fk
YXRhKGd0eXBlLCBwaHBnX2NsYXNzX2tleSwgcmVhbF9jZSk7Ci0gICAgfQorCWlmIChndHlwZSkg
eworCQlnX3R5cGVfc2V0X3FkYXRhKGd0eXBlLCBwaHBnX2NsYXNzX2tleSwgcmVhbF9jZSk7CisJ
fQogCiAJcmV0dXJuIHJlYWxfY2U7CiB9

--4b87d7742809f7f7c5e7e1d993e88846a82db5dd--