/pidgin/main: 42143502b9d0: gg: Port to Gio

Mike Ruprecht <[email protected]> Mon, 10 Oct 2016 20:33:20 -0400
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Q2hhbmdlc2V0OiA0MjE0MzUwMmI5ZDAzMmJjMDUwZDBiZmJjZjE4ZTg5NjQzMjY4NzViCkF1dGhv
cjoJIE1pa2UgUnVwcmVjaHQgPGNtYWlrdUBnbWFpbC5jb20+CkRhdGU6CSAyMDE2LTA5LTExIDEx
OjI1IC0wNTAwCkJyYW5jaDoJIGRlZmF1bHQKVVJMOiBodHRwczovL2hnLnBpZGdpbi5pbS9waWRn
aW4vbWFpbi9yZXYvNDIxNDM1MDJiOWQwCgpEZXNjcmlwdGlvbjoKCmdnOiBQb3J0IHRvIEdpbwoK
VGhpcyBwYXRjaCBwb3J0cyB0aGUgR2FkdS1HYWR1IHByb3RvY29sIHBsdWdpbiB0byB1c2UgR2lv
IGludGVybmFsbHkuClVuZm9ydHVuYXRlbHkgbGliZ2cgZGVhbHMgYSBsb3Qgd2l0aCByYXcgc29j
a2V0IHN0eWxlIEFQSSwgd2hpY2gKaXNuJ3QgaWRlYWwuIFRoaXMgcGF0Y2ggdGhlcmVmb3JlIHVz
ZXMgdGhlIHBvbGxhYmxlIGludGVyZmFjZS4KCkl0IHdvdWxkIGJlIG5pY2UgdG8gdXNlIHRoZSBu
YXRpdmUgYXN5bmNocm9ub3VzIEdpbyBBUEksIGJ1dApJJ20gbm90IGNlcnRhaW4gdGhhdCdzIHBv
c3NpYmxlIHdpdGhvdXQgbW9kaWZ5aW5nIGxpYmdnIGl0c2VsZi4KUGVyaGFwcyBzb21lb25lIG1v
cmUgZmFtaWxpYXIgd2l0aCB0aGUgcHJvdG9jb2wgcGx1Z2luIHdvdWxkIGJlCmFibGUgdG8gaW1w
cm92ZSB0aGlzLgoKZGlmZnN0YXQ6CgogbGlicHVycGxlL3Byb3RvY29scy9nZy90Y3Bzb2NrZXQu
YyB8ICAxODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAxIGZpbGVzIGNo
YW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmZzICgyMzQgbGlu
ZXMpOgoKZGlmZiAtLWdpdCBhL2xpYnB1cnBsZS9wcm90b2NvbHMvZ2cvdGNwc29ja2V0LmMgYi9s
aWJwdXJwbGUvcHJvdG9jb2xzL2dnL3RjcHNvY2tldC5jCi0tLSBhL2xpYnB1cnBsZS9wcm90b2Nv
bHMvZ2cvdGNwc29ja2V0LmMKKysrIGIvbGlicHVycGxlL3Byb3RvY29scy9nZy90Y3Bzb2NrZXQu
YwpAQCAtMzAsMzIgKzMwLDg2IEBACiAjaW5jbHVkZSAiZ2cuaCIKIAogI2luY2x1ZGUgImRlYnVn
LmgiCi0jaW5jbHVkZSAicHVycGxlLXNvY2tldC5oIgorI2luY2x1ZGUgInB1cnBsZS1naW8uaCIK
KwordHlwZWRlZiBzdHJ1Y3QgeworCUdTb2NrZXRDb25uZWN0aW9uICpjb25uOworCUdDYW5jZWxs
YWJsZSAqY2FuY2VsbGFibGU7CisJUHVycGxlQ29ubmVjdGlvbiAqZ2M7CisJZ3BvaW50ZXIgcHJp
dl9nZzsKK30gR0dQVGNwU29ja2V0RGF0YTsKIAogc3RhdGljIHZvaWQKLWdncF90Y3Bzb2NrZXRf
Y29ubmVjdGVkKFB1cnBsZVNvY2tldCAqcHMsIGNvbnN0IGdjaGFyICplcnJvciwgZ3BvaW50ZXIg
cHJpdl9nZykKK2dncF90Y3Bfc29ja2V0X2RhdGFfZnJlZShHR1BUY3BTb2NrZXREYXRhICpkYXRh
KQogewotCVB1cnBsZUNvbm5lY3Rpb24gKmdjID0gcHVycGxlX3NvY2tldF9nZXRfY29ubmVjdGlv
bihwcyk7Ci0JR0dQSW5mbyAqaW5mbyA9IHB1cnBsZV9jb25uZWN0aW9uX2dldF9wcm90b2NvbF9k
YXRhKGdjKTsKLQlpbnQgZmQgPSAtMTsKKwlnX3JldHVybl9pZl9mYWlsKGRhdGEgIT0gTlVMTCk7
CiAKLQlQVVJQTEVfQVNTRVJUX0NPTk5FQ1RJT05fSVNfVkFMSUQoZ2MpOwotCi0JaWYgKGVycm9y
ID09IE5VTEwpCi0JCWZkID0gcHVycGxlX3NvY2tldF9nZXRfZmQocHMpOwotCi0JaWYgKCFnZ19z
b2NrZXRfbWFuYWdlcl9jb25uZWN0ZWQocHMsIHByaXZfZ2csIGZkKSkgewotCQlwdXJwbGVfZGVi
dWdfZXJyb3IoImdnIiwgInNvY2tldCBub3QgaGFuZGxlZCIpOwotCQlwdXJwbGVfc29ja2V0X2Rl
c3Ryb3kocHMpOworCWlmIChkYXRhLT5jYW5jZWxsYWJsZSAhPSBOVUxMKSB7CisJCWdfY2FuY2Vs
bGFibGVfY2FuY2VsKGRhdGEtPmNhbmNlbGxhYmxlKTsKKwkJZ19jbGVhcl9vYmplY3QoJmRhdGEt
PmNhbmNlbGxhYmxlKTsKIAl9CiAKLQlpZiAoaW5mby0+aW5wYSA+IDApCi0JCXB1cnBsZV9pbnB1
dF9yZW1vdmUoaW5mby0+aW5wYSk7CisJaWYgKGRhdGEtPmNvbm4gIT0gTlVMTCkgeworCQlwdXJw
bGVfZ2lvX2dyYWNlZnVsX2Nsb3NlKEdfSU9fU1RSRUFNKGRhdGEtPmNvbm4pLCBOVUxMLCBOVUxM
KTsKKwkJZ19jbGVhcl9vYmplY3QoJmRhdGEtPmNvbm4pOworCX0KKworCWdfZnJlZShkYXRhKTsK
K30KKworc3RhdGljIHZvaWQKK2dncF90Y3Bzb2NrZXRfY29ubmVjdGVkKEdPYmplY3QgKnNvdXJj
ZSwgR0FzeW5jUmVzdWx0ICpyZXMsIGdwb2ludGVyIHVzZXJfZGF0YSkKK3sKKwlHR1BUY3BTb2Nr
ZXREYXRhICpkYXRhID0gdXNlcl9kYXRhOworCUdTb2NrZXRDb25uZWN0aW9uICpjb25uOworCUdT
b2NrZXQgKnNvY2tldDsKKwlpbnQgZmQgPSAtMTsKKwlHR1BJbmZvICppbmZvOworCUdFcnJvciAq
ZXJyb3IgPSBOVUxMOworCisJY29ubiA9IGdfc29ja2V0X2NsaWVudF9jb25uZWN0X3RvX2hvc3Rf
ZmluaXNoKEdfU09DS0VUX0NMSUVOVChzb3VyY2UpLAorCQkJcmVzLCAmZXJyb3IpOworCisJaWYg
KGNvbm4gPT0gTlVMTCkgeworCQlpZiAoIWdfZXJyb3JfbWF0Y2hlcyhlcnJvciwKKwkJCQlHX0lP
X0VSUk9SLCBHX0lPX0VSUk9SX0NBTkNFTExFRCkpIHsKKwkJCXB1cnBsZV9kZWJ1Z19lcnJvcigi
Z2ciLCAic29ja2V0IGZhaWxlZCB0byBjb25uZWN0OiAlcyIsCisJCQkJCWVycm9yLT5tZXNzYWdl
KTsKKwkJfQorCisJCWdfY2xlYXJfZXJyb3IoJmVycm9yKTsKKwl9IGVsc2UgeworCQlkYXRhLT5j
b25uID0gY29ubjsKKworCQlzb2NrZXQgPSBnX3NvY2tldF9jb25uZWN0aW9uX2dldF9zb2NrZXQo
ZGF0YS0+Y29ubik7CisKKwkJaWYgKHNvY2tldCAhPSBOVUxMKSB7CisJCQlmZCA9IGdfc29ja2V0
X2dldF9mZChzb2NrZXQpOworCQl9CisJfQorCisJUFVSUExFX0FTU0VSVF9DT05ORUNUSU9OX0lT
X1ZBTElEKGRhdGEtPmdjKTsKKworCWlmICghZ2dfc29ja2V0X21hbmFnZXJfY29ubmVjdGVkKGRh
dGEsIGRhdGEtPnByaXZfZ2csIGZkKSkgeworCQlwdXJwbGVfZGVidWdfZXJyb3IoImdnIiwgInNv
Y2tldCBub3QgaGFuZGxlZCIpOworCQlnZ3BfdGNwX3NvY2tldF9kYXRhX2ZyZWUoZGF0YSk7CisJ
CXJldHVybjsKKwl9CisKKwlpbmZvID0gcHVycGxlX2Nvbm5lY3Rpb25fZ2V0X3Byb3RvY29sX2Rh
dGEoZGF0YS0+Z2MpOworCisJaWYgKGluZm8tPmlucGEgPiAwKSB7CisJCWdfc291cmNlX3JlbW92
ZShpbmZvLT5pbnBhKTsKKwkJaW5mby0+aW5wYSA9IDA7CisJfQorCiAJaWYgKGluZm8tPnNlc3Np
b24tPmZkIDwgMCkKIAkJcmV0dXJuOworCisJLyogWFhYOiBUaGlzIHdvcmtzLCBidXQgbm90IHJl
Y29tbWVuZGVkIHRvIHVzZSBHU29ja2V0IEZEcyBkaXJlY3RseSAqLwogCWluZm8tPmlucGEgPSBw
dXJwbGVfaW5wdXRfYWRkKGluZm8tPnNlc3Npb24tPmZkLAogCQlnZ3BfdGNwc29ja2V0X2lucHV0
Y29uZF9nZ190b19wdXJwbGUoaW5mby0+c2Vzc2lvbi0+Y2hlY2spLAotCQlnZ3BfYXN5bmNfbG9n
aW5faGFuZGxlciwgZ2MpOworCQlnZ3BfYXN5bmNfbG9naW5faGFuZGxlciwgZGF0YS0+Z2MpOwog
fQogCiBzdGF0aWMgdm9pZCoKQEAgLTYzLDcgKzExNyw5IEBAIGdncF90Y3Bzb2NrZXRfY29ubmVj
dCh2b2lkICpfZ2MsIGNvbnN0IGMKIAlpbnQgaXNfYXN5bmMsIHZvaWQgKnByaXYpCiB7CiAJUHVy
cGxlQ29ubmVjdGlvbiAqZ2MgPSBfZ2M7Ci0JUHVycGxlU29ja2V0ICpwczsKKwlHR1BUY3BTb2Nr
ZXREYXRhICpkYXRhOworCUdTb2NrZXRDbGllbnQgKmNsaWVudDsKKwlHRXJyb3IgKmVycm9yID0g
TlVMTDsKIAogCVBVUlBMRV9BU1NFUlRfQ09OTkVDVElPTl9JU19WQUxJRChnYyk7CiAJZ19yZXR1
cm5fdmFsX2lmX2ZhaWwoIXB1cnBsZV9jb25uZWN0aW9uX2lzX2Rpc2Nvbm5lY3RpbmcoZ2MpLCBO
VUxMKTsKQEAgLTc0LDQwICsxMzAsMTAwIEBAIGdncF90Y3Bzb2NrZXRfY29ubmVjdCh2b2lkICpf
Z2MsIGNvbnN0IGMKIAlwdXJwbGVfZGVidWdfbWlzYygiZ2ciLCAiZ2dwX3RjcHNvY2tldF9jb25u
ZWN0KCVwLCAlczolZCwgJXMsICVwKSIsCiAJCWdjLCBob3N0LCBwb3J0LCBpc190bHMgPyAidGxz
IiA6ICJ0Y3AiLCBwcml2KTsKIAotCXBzID0gcHVycGxlX3NvY2tldF9uZXcoZ2MpOwotCXB1cnBs
ZV9zb2NrZXRfc2V0X3RscyhwcywgaXNfdGxzKTsKLQlwdXJwbGVfc29ja2V0X3NldF9ob3N0KHBz
LCBob3N0KTsKLQlwdXJwbGVfc29ja2V0X3NldF9wb3J0KHBzLCBwb3J0KTsKLQlpZiAoIXB1cnBs
ZV9zb2NrZXRfY29ubmVjdChwcywgZ2dwX3RjcHNvY2tldF9jb25uZWN0ZWQsIHByaXYpKSB7Ci0J
CXB1cnBsZV9zb2NrZXRfZGVzdHJveShwcyk7CisJY2xpZW50ID0gcHVycGxlX2dpb19zb2NrZXRf
Y2xpZW50X25ldygKKwkJCXB1cnBsZV9jb25uZWN0aW9uX2dldF9hY2NvdW50KGdjKSwgJmVycm9y
KTsKKworCWlmIChjbGllbnQgPT0gTlVMTCkgeworCQlwdXJwbGVfZGVidWdfZXJyb3IoImdnIiwg
InVuYWJsZSB0byBjb25uZWN0OiAlcyIsCisJCQkJZXJyb3ItPm1lc3NhZ2UpOworCQlnX2NsZWFy
X2Vycm9yKCZlcnJvcik7CiAJCXJldHVybiBOVUxMOwogCX0KIAotCXJldHVybiBwczsKKwlnX3Nv
Y2tldF9jbGllbnRfc2V0X3RscyhjbGllbnQsIGlzX3Rscyk7CisKKwlkYXRhID0gZ19uZXcwKEdH
UFRjcFNvY2tldERhdGEsIDEpOworCWRhdGEtPmNhbmNlbGxhYmxlID0gZ19jYW5jZWxsYWJsZV9u
ZXcoKTsKKwlkYXRhLT5nYyA9IGdjOworCWRhdGEtPnByaXZfZ2cgPSBwcml2OworCisJZ19zb2Nr
ZXRfY2xpZW50X2Nvbm5lY3RfdG9faG9zdF9hc3luYyhjbGllbnQsIGhvc3QsIHBvcnQsCisJCQlk
YXRhLT5jYW5jZWxsYWJsZSwgZ2dwX3RjcHNvY2tldF9jb25uZWN0ZWQsIGRhdGEpOworCWdfb2Jq
ZWN0X3VucmVmKGNsaWVudCk7CisKKwlyZXR1cm4gZGF0YTsKIH0KIAogc3RhdGljIHZvaWQKLWdn
cF90Y3Bzb2NrZXRfY2xvc2Uodm9pZCAqX2djLCB2b2lkICpfcHMpCitnZ3BfdGNwc29ja2V0X2Ns
b3NlKHZvaWQgKl9nYywgdm9pZCAqX2RhdGEpCiB7Ci0JUHVycGxlU29ja2V0ICpwcyA9IF9wczsK
KwlHR1BUY3BTb2NrZXREYXRhICpkYXRhID0gX2RhdGE7CiAKLQlwdXJwbGVfc29ja2V0X2Rlc3Ry
b3kocHMpOworCWdncF90Y3Bfc29ja2V0X2RhdGFfZnJlZShkYXRhKTsKIH0KIAogc3RhdGljIHNz
aXplX3QKLWdncF90Y3Bzb2NrZXRfcmVhZCh2b2lkICpfZ2MsIHZvaWQgKl9wcywgdW5zaWduZWQg
Y2hhciAqYnVmZmVyLCBzaXplX3QgYnVmc2l6ZSkKK2dncF90Y3Bzb2NrZXRfcmVhZCh2b2lkICpf
Z2MsIHZvaWQgKl9kYXRhLCB1bnNpZ25lZCBjaGFyICpidWZmZXIsIHNpemVfdCBidWZzaXplKQog
ewotCVB1cnBsZVNvY2tldCAqcHMgPSBfcHM7CisJR0dQVGNwU29ja2V0RGF0YSAqZGF0YSA9IF9k
YXRhOworCUdQb2xsYWJsZUlucHV0U3RyZWFtICppbnB1dDsKKwlnc3NpemUgcmV0OworCUdFcnJv
ciAqZXJyb3IgPSBOVUxMOwogCi0JcmV0dXJuIHB1cnBsZV9zb2NrZXRfcmVhZChwcywgYnVmZmVy
LCBidWZzaXplKTsKKwlpZiAoZGF0YS0+Y29ubiA9PSBOVUxMKSB7CisJCXJldHVybiAtMTsKKwl9
CisKKwlpbnB1dCA9IEdfUE9MTEFCTEVfSU5QVVRfU1RSRUFNKAorCQkJZ19pb19zdHJlYW1fZ2V0
X2lucHV0X3N0cmVhbShHX0lPX1NUUkVBTShkYXRhLT5jb25uKSkpOworCXJldCA9IGdfcG9sbGFi
bGVfaW5wdXRfc3RyZWFtX3JlYWRfbm9uYmxvY2tpbmcoaW5wdXQsCisJCQlidWZmZXIsIGJ1ZnNp
emUsIE5VTEwsICZlcnJvcik7CisKKwlpZiAocmV0IDwgMCkgeworCQlpZiAoZ19lcnJvcl9tYXRj
aGVzKGVycm9yLAorCQkJCUdfSU9fRVJST1IsIEdfSU9fRVJST1JfV09VTERfQkxPQ0spKSB7CisJ
CQllcnJubyA9IEVBR0FJTjsKKwkJfSBlbHNlIHsKKwkJCXB1cnBsZV9kZWJ1Z19lcnJvcigiZ2ci
LCAic29ja2V0IHJlYWQgZXJyb3I6ICVzIiwKKwkJCQkJZXJyb3ItPm1lc3NhZ2UpOworCQl9CisK
KwkJZ19jbGVhcl9lcnJvcigmZXJyb3IpOworCX0KKworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRp
YyBzc2l6ZV90Ci1nZ3BfdGNwc29ja2V0X3dyaXRlKHZvaWQgKl9nYywgdm9pZCAqX3BzLCBjb25z
dCB1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgbGVuKQorZ2dwX3RjcHNvY2tldF93cml0ZSh2
b2lkICpfZ2MsIHZvaWQgKl9kYXRhLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhX2J1Ziwgc2l6
ZV90IGxlbikKIHsKLQlQdXJwbGVTb2NrZXQgKnBzID0gX3BzOworCUdHUFRjcFNvY2tldERhdGEg
KmRhdGEgPSBfZGF0YTsKKwlHUG9sbGFibGVPdXRwdXRTdHJlYW0gKm91dHB1dDsKKwlnc3NpemUg
cmV0OworCUdFcnJvciAqZXJyb3IgPSBOVUxMOwogCi0JcmV0dXJuIHB1cnBsZV9zb2NrZXRfd3Jp
dGUocHMsIGRhdGEsIGxlbik7CisJaWYgKGRhdGEtPmNvbm4gPT0gTlVMTCkgeworCQlyZXR1cm4g
LTE7CisJfQorCisJb3V0cHV0ID0gR19QT0xMQUJMRV9PVVRQVVRfU1RSRUFNKAorCQkJZ19pb19z
dHJlYW1fZ2V0X291dHB1dF9zdHJlYW0oR19JT19TVFJFQU0oZGF0YS0+Y29ubikpKTsKKwlyZXQg
PSBnX3BvbGxhYmxlX291dHB1dF9zdHJlYW1fd3JpdGVfbm9uYmxvY2tpbmcob3V0cHV0LAorCQkJ
ZGF0YV9idWYsIGxlbiwgTlVMTCwgJmVycm9yKTsKKworCWlmIChyZXQgPCAwKSB7CisJCWlmIChn
X2Vycm9yX21hdGNoZXMoZXJyb3IsCisJCQkJR19JT19FUlJPUiwgR19JT19FUlJPUl9XT1VMRF9C
TE9DSykpIHsKKwkJCWVycm5vID0gRUFHQUlOOworCQl9IGVsc2UgeworCQkJcHVycGxlX2RlYnVn
X2Vycm9yKCJnZyIsICJzb2NrZXQgd3JpdGUgZXJyb3I6ICVzIiwKKwkJCQkJZXJyb3ItPm1lc3Nh
Z2UpOworCQl9CisKKwkJZ19jbGVhcl9lcnJvcigmZXJyb3IpOworCX0KKworCXJldHVybiByZXQ7
CiB9CiAKIHZvaWQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkNvbW1pdHMgbWFpbGluZyBsaXN0CkNvbW1pdHNAcGlkZ2luLmltCmh0dHBzOi8vcGlkZ2lu
LmltL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9jb21taXRz