Re: Re: ebnc

"A. Craig West" <[email protected]> Sat, 15 May 2004 22:10:18 -0400 (EDT)
Newsgroups gmane.network.everybuddy.devel
Message-ID <[email protected]>
  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 [email protected] for more info.

---1463811291-371101032-1084673418=:27594
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Sat, 15 May 2004, Karine Proot wrote:

> OK I started back from your patch and modified it (mainly little things
> too keep the code familiar to myself :p , but also something to manage a
> tricky special case in updateStatus). Commited.

Oops, I forgot about that case, but I'm not convinced your fix will do it
entirely... For one thing, your patch is assuming that there are status
messages only when away, which is certainly not true in Yahoo, at least.
Also, seeing as the statusString is a copy, the condition you are checking
for, statusString being NULL, won't happen.

The problem you are trying to deal with in the 'special case' code is tough
to detect, actually. Here is an implementation that is base on keeping track
of which account we have the status from, instead of the status itself. This
gives us much better flexibility for detecting things like this...

-- 
Craig West         Ph: (416) 666-1645	|  It's not a bug,
[email protected]              	|  It's a feature...
---1463811291-371101032-1084673418=:27594
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ebnc.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <[email protected]>
Content-Description: new ebnc patch against Karine's fix
Content-Disposition: attachment; filename="ebnc.patch"

SW5kZXg6IGVibmMvZ3JvdXAuaA0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
LS0tIGVibmMvZ3JvdXAuaAkocmV2aXNpb24gMzU5KQ0KKysrIGVibmMvZ3Jv
dXAuaAkod29ya2luZyBjb3B5KQ0KQEAgLTcyLDE1ICs3MiwxNCBAQA0KICAg
Q29udGFjdEFjY291bnRMaXN0ICpnZXRBY2NvdW50cygpIGNvbnN0Ow0KICAg
R3JvdXAgKmdldEdyb3VwKCkgY29uc3Q7DQogICB2b2lkIHNldE5hbWUoY2hh
ciAqbmFtZSk7DQotICB2b2lkIHVwZGF0ZVN0YXR1cyhpbnQgc3RhdHVzLCBj
aGFyICpzdGF0dXNTdHJpbmcpOw0KKyAgdm9pZCB1cGRhdGVTdGF0dXNBY2Nv
dW50KENvbnRhY3RBY2NvdW50KiB1cGRhdGVkQWNjb3VudCk7DQogICB2b2lk
IGxvZ2luKCk7DQogICB2b2lkIGxvZ291dCgpOw0KICAgdm9pZCBhZGRBY2Nv
dW50KENvbnRhY3RBY2NvdW50ICpjYSk7DQogICB2b2lkIHNldEdyb3VwKEdy
b3VwICpnKTsNCiAgcHJpdmF0ZToNCiAgIGNoYXIgKm5hbWU7DQotICBpbnQg
c3RhdHVzOw0KLSAgY2hhciAqc3RhdHVzU3RyaW5nOw0KKyAgQ29udGFjdEFj
Y291bnQqIHN0YXR1c0FjY291bnQ7DQogICBpbnQgaXNJZ25vcmVkOw0KICAg
Y2hhciAqaWdub3JlTWVzc2FnZTsNCiAgIENvbnRhY3RBY2NvdW50TGlzdCAq
Y29udGFjdEFjY291bnRzOw0KSW5kZXg6IGVibmMvZ3JvdXAuY3BwDQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQotLS0gZWJuYy9ncm91cC5jcHAJKHJldmlz
aW9uIDM1OSkNCisrKyBlYm5jL2dyb3VwLmNwcAkod29ya2luZyBjb3B5KQ0K
QEAgLTkzLDcgKzkzLDcgQEANCiAgIGlmICh0aGlzLT5zdGF0dXNTdHJpbmcp
DQogICAgIGZyZWUodGhpcy0+c3RhdHVzU3RyaW5nKTsNCiAgIHRoaXMtPnN0
YXR1c1N0cmluZyA9IHN0YXR1c1N0cmluZyA/IHN0cmR1cChzdGF0dXNTdHJp
bmcpOiBOVUxMOw0KLSAgY29udGFjdC0+dXBkYXRlU3RhdHVzKHN0YXR1cywg
c3RhdHVzU3RyaW5nKTsNCisgIGNvbnRhY3QtPnVwZGF0ZVN0YXR1c0FjY291
bnQodGhpcyk7DQogfQ0KIA0KIHZvaWQgQ29udGFjdEFjY291bnQ6OmxvZ2lu
KCkNCkBAIC0xNjEsOCArMTYxLDcgQEANCiBDb250YWN0OjpDb250YWN0KGNo
YXIgKm5hbWUsIGNoYXIgKmlzSWdub3JlZCwgY2hhciAqaWdub3JlTWVzc2Fn
ZSkNCiB7DQogICB0aGlzLT5uYW1lID0gbmFtZSA/IHN0cmR1cChuYW1lKSA6
IE5VTEw7DQotICBzdGF0dXMgPSAwOw0KLSAgc3RhdHVzU3RyaW5nID0gTlVM
TDsNCisgIHN0YXR1c0FjY291bnQgPSBOVUxMOw0KICAgaWYgKGlzSWdub3Jl
ZCA9PSBOVUxMKQ0KICAgICB0aGlzLT5pc0lnbm9yZWQgPSAwOw0KICAgZWxz
ZQ0KQEAgLTE3OSwxMCArMTc4LDEwIEBADQogICAgIGZyZWUobmFtZSk7DQog
ICAgIG5hbWUgPSBOVUxMOw0KICAgfQ0KLSAgaWYgKHN0YXR1c1N0cmluZykN
CisgIGlmIChzdGF0dXNBY2NvdW50KQ0KICAgew0KLSAgICBmcmVlKHN0YXR1
c1N0cmluZyk7DQotICAgIHN0YXR1c1N0cmluZyA9IE5VTEw7DQorICAgIC8v
IERvbid0IGZyZWUgb3IgZGVsZXRlIHRoaXMgb25lLCBpdCdzIGp1c3QgYSBy
ZWZlcmVuY2UNCisgICAgc3RhdHVzQWNjb3VudCA9IE5VTEw7DQogICB9DQog
ICBpZiAoY29udGFjdEFjY291bnRzKQ0KICAgew0KQEAgLTE5OCwxNyArMTk3
LDIxIEBADQogDQogaW50IENvbnRhY3Q6OmdldFN0YXR1cygpIGNvbnN0DQog
ew0KLSAgcmV0dXJuIHN0YXR1czsNCisgIGlmICghc3RhdHVzQWNjb3VudCkN
CisgICAgcmV0dXJuIDA7DQorICByZXR1cm4gc3RhdHVzQWNjb3VudC0+Z2V0
U3RhdHVzKCk7DQogfQ0KIA0KIGNoYXIgKkNvbnRhY3Q6OmdldFN0YXR1c1N0
cmluZygpIGNvbnN0DQogew0KLSAgcmV0dXJuIHN0YXR1c1N0cmluZzsNCisg
IGlmICghc3RhdHVzQWNjb3VudCkNCisgICAgcmV0dXJuIE5VTEw7DQorICBy
ZXR1cm4gc3RhdHVzQWNjb3VudC0+Z2V0U3RhdHVzU3RyaW5nKCk7DQogfQ0K
IA0KIGJvb2wgQ29udGFjdDo6aXNMb2dnZWQoKSBjb25zdA0KIHsNCi0gIHJl
dHVybiAoc3RhdHVzID4gMCk7DQorICByZXR1cm4gKGdldFN0YXR1cygpID4g
MCk7DQogfQ0KIA0KIENvbnRhY3RBY2NvdW50TGlzdCAqQ29udGFjdDo6Z2V0
QWNjb3VudHMoKSBjb25zdA0KQEAgLTIyOCw3OSArMjMxLDczIEBADQogICB0
aGlzLT5uYW1lID0gbmFtZSA/IHN0cmR1cChuYW1lKSA6IE5VTEw7DQogfQ0K
IA0KLXZvaWQgQ29udGFjdDo6dXBkYXRlU3RhdHVzKGludCBzdGF0dXMsIGNo
YXIgKnN0YXR1c1N0cmluZykNCit2b2lkIENvbnRhY3Q6OnVwZGF0ZVN0YXR1
c0FjY291bnQoQ29udGFjdEFjY291bnQgKiB1cGRhdGVkQWNjb3VudCkNCiB7
DQogICAvLyBDaGVjayBhbGwgdGhlIGNvbnRhY3QgYWNjb3VudHMgdG8gZmlu
ZCB0aGUgbW9zdCBsb2dnZWQtaW4gc3RhdHVzDQotICAvLyBhbmQgZ2V0IHRo
ZSBmaXJzdCBzdGF0dXNTdHJpbmcgZm9yIHRoZSAnc3BlY2lhbCBjYXNlJw0K
LSAgaW50IGN1cnJlbnRTdGF0dXMgPSAwOw0KLSAgY2hhciAqZmlyc3RTdGF0
dXNTdHJpbmcgPSBOVUxMOw0KKyAgLy8gSXQgaXMgcG9zc2libGUgdGhhdCB3
ZSBzaG91bGQgdXNlIHRoZSBwcmVmZXJyZWQgYWNjb3VudCwgaW5zdGVhZA0K
KyAgLy8gYnV0IEknbSBub3Qgc3VyZSB3ZSBrbm93IHdoaWNoIG9uZSBpdCBp
cw0KKyAgLy8gV2Ugd2lsbCBzdGFydCB3aXRoIHRoZSBjdXJyZW50IHN0YXR1
cyBhY2NvdW50IGFzIHRoZSBiZXN0IG9uZQ0KKyAgLy8gTm90ZSB0aGF0IHdo
ZW4gd2UgaW1wbGVtZW50IG1vdmluZyBhY2NvdW50cyBmcm9tIG9uZSBjb250
YWN0IHRvIGFub3RoZXIsDQorICAvLyB3ZSBzaG91bGQgY2hlY2sgaWYgdGhl
IGFjY291bnQgdGhhdCBpcyBiZWluZyByZW1vdmVkIGlzIHRoZSBjdXJyZW50
DQorICAvLyBzdGF0dXMgYWNjb3VudCwgd2Ugc2hvdWxkIGNhbGwgdGhpcyB3
aXRoIE5VTEwNCisgIENvbnRhY3RBY2NvdW50ICogYmVzdEFjY291bnQgPSBz
dGF0dXNBY2NvdW50Ow0KICAgQ29udGFjdEFjY291bnRMaXN0ICphY2NvdW50
TGlzdCA9IGNvbnRhY3RBY2NvdW50czsNCiANCiAgIHdoaWxlIChhY2NvdW50
TGlzdCAmJiBhY2NvdW50TGlzdC0+Z2V0Rmlyc3QoKSkNCiAgIHsNCi0gICAg
c3dpdGNoIChjdXJyZW50U3RhdHVzKQ0KKyAgICBpZiAoYmVzdEFjY291bnQg
PT0gTlVMTCkNCiAgICAgew0KLSAgICBjYXNlIDA6IC8vIG9mZmxpbmUsIGFu
eSBzdGF0dXMgaXMgaGlnaGVyIHRoYW4gdGhpcw0KLSAgICAgIGN1cnJlbnRT
dGF0dXMgPSBhY2NvdW50TGlzdC0+Z2V0Rmlyc3QoKS0+Z2V0U3RhdHVzKCk7
DQotICAgICAgYnJlYWs7DQotICAgIGNhc2UgMTogLy8gb25saW5lLCBubyBz
dGF0dXMgaXMgaGlnaGVyIHRoYW4gdGhpcw0KLSAgICAgIGJyZWFrOw0KLSAg
ICBjYXNlIDI6IC8vIGF3YXksIG9ubHkgb25saW5lIGlzIGhpZ2hlciB0aGFu
IHRoaXMNCi0gICAgICBpZiAoYWNjb3VudExpc3QtPmdldEZpcnN0KCktPmdl
dFN0YXR1cygpID09IDEpDQotICAgICAgICBjdXJyZW50U3RhdHVzID0gMTsN
Ci0gICAgICBicmVhazsNCisgICAgICAvLyBXZSBoYWQgbm8gc3RhdHVzLCBz
byBhbnl0aGluZyBpcyBiZXR0ZXINCisgICAgICBiZXN0QWNjb3VudCA9IGFj
Y291bnRMaXN0LT5nZXRGaXJzdCgpOw0KICAgICB9DQotICAgIGlmICghZmly
c3RTdGF0dXNTdHJpbmcpDQotICAgICAgZmlyc3RTdGF0dXNTdHJpbmcgPSBh
Y2NvdW50TGlzdC0+Z2V0Rmlyc3QoKS0+Z2V0U3RhdHVzU3RyaW5nKCk7DQot
ICAgIGFjY291bnRMaXN0ID0gYWNjb3VudExpc3QtPmdldE5leHQoKTsNCi0g
IH0NCi0NCi0gIC8vIENoZWNrIGlmIHRoZSBuZXcgc3RhdHVzIGlzIG1vcmUg
b25saW5lIG9yIGF0IGxlYXN0IHRoZSBzYW1lIG9ubGluZW5lc3MNCi0gIGlu
dCB1cGRhdGUgPSAwOw0KLSAgc3dpdGNoIChjdXJyZW50U3RhdHVzKQ0KLSAg
ew0KLSAgY2FzZSAwOiAvLyBvZmZsaW5lLCBhbnkgc3RhdHVzIGlzIGhpZ2hl
ciB0aGFuIHRoaXMNCi0gICAgdXBkYXRlID0gMTsNCi0gICAgYnJlYWs7DQot
ICBjYXNlIDE6IC8vIG9ubGluZSwgb25seSBtYXRjaGVkIGJ5IG9ubGluZQ0K
LSAgICBpZiAoc3RhdHVzID09IDEpDQotICAgICAgdXBkYXRlID0gMTsNCi0g
ICAgYnJlYWs7DQotICBjYXNlIDI6IC8vIGF3YXksIG1hdGNoZWQgYnkgYW55
IG5vbi1vZmZsaW5lDQotICAgIGlmIChzdGF0dXMgIT0gMCkNCi0gICAgICB1
cGRhdGUgPSAxOw0KLSAgICAvLyBzcGVjaWFsIGNhc2UgOiB0aGUgYWNjb3Vu
dCBnb2luZyBvZmZsaW5lIHdhcyB0aGUgbGFzdCBvbmUgdGFrZW4NCi0gICAg
Ly8gKGl0IHdhcyBvbmxpbmUsIG9yIGl0cyBzdGF0dXNTdHJpbmcgd2FzIGRp
c3BsYXllZCkNCiAgICAgZWxzZQ0KICAgICB7DQotICAgICAgLy8gaXQgd2Fz
IG9ubGluZQ0KLSAgICAgIGlmICghc3RhdHVzU3RyaW5nKQ0KLQl1cGRhdGUg
PSAxOw0KLSAgICAgIC8vIGl0cyBzdGF0dXNTdHJpbmcgd2FzIGRpc3BsYXll
ZCAoYW5kIGNhbm5vdCBiZSBmb3VuZCBhbnltb3JlKQ0KLSAgICAgIGVsc2UN
CisgICAgICBzd2l0Y2ggKGJlc3RBY2NvdW50LT5nZXRTdGF0dXMoKSkNCiAg
ICAgICB7DQotCXVwZGF0ZSA9IDE7DQotCWFjY291bnRMaXN0ID0gY29udGFj
dEFjY291bnRzOw0KLQl3aGlsZSAoYWNjb3VudExpc3QgJiYgYWNjb3VudExp
c3QtPmdldEZpcnN0KCkpDQotCXsNCi0JICBpZiAoIXN0cmNtcChhY2NvdW50
TGlzdC0+Z2V0Rmlyc3QoKS0+Z2V0U3RhdHVzU3RyaW5nKCksIHRoaXMtPnN0
YXR1c1N0cmluZykpDQotCSAgICB1cGRhdGUgPSAwOw0KLQkgIGFjY291bnRM
aXN0ID0gYWNjb3VudExpc3QtPmdldE5leHQoKTsNCi0JfQ0KKyAgICAgIGNh
c2UgMDogLy8gb2ZmbGluZSwgYW55IG90aGVyIHN0YXR1cyBpcyBoaWdoZXIg
dGhhbiB0aGlzDQorCWlmIChhY2NvdW50TGlzdC0+Z2V0Rmlyc3QoKS0+Z2V0
U3RhdHVzKCkgPiAwKQ0KKwkgIGJlc3RBY2NvdW50ID0gYWNjb3VudExpc3Qt
PmdldEZpcnN0KCk7DQorCWJyZWFrOw0KKyAgICAgIGNhc2UgMTogLy8gb25s
aW5lLCBubyBzdGF0dXMgaXMgaGlnaGVyIHRoYW4gdGhpcw0KKwlicmVhazsN
CisgICAgICBjYXNlIDI6IC8vIGF3YXksIG9ubHkgb25saW5lIGlzIGhpZ2hl
ciB0aGFuIHRoaXMNCisJaWYgKGFjY291bnRMaXN0LT5nZXRGaXJzdCgpLT5n
ZXRTdGF0dXMoKSA9PSAxKQ0KKwkgIGJlc3RBY2NvdW50ID0gYWNjb3VudExp
c3QtPmdldEZpcnN0KCk7DQorCWJyZWFrOw0KICAgICAgIH0NCi0gICAgICBz
dGF0dXMgPSAyOw0KLSAgICAgIHN0YXR1c1N0cmluZyA9IGZpcnN0U3RhdHVz
U3RyaW5nOw0KICAgICB9DQotICAgIGJyZWFrOw0KKyAgICBhY2NvdW50TGlz
dCA9IGFjY291bnRMaXN0LT5nZXROZXh0KCk7DQogICB9DQogDQotICBpZiAo
dXBkYXRlKQ0KKyAgaWYgKGJlc3RBY2NvdW50ID09IE5VTEwpDQogICB7DQot
ICAgIHRoaXMtPnN0YXR1cyA9IHN0YXR1czsNCi0gICAgaWYgKHRoaXMtPnN0
YXR1c1N0cmluZykNCi0gICAgICBmcmVlKHRoaXMtPnN0YXR1c1N0cmluZyk7
DQotICAgIHRoaXMtPnN0YXR1c1N0cmluZyA9IHN0YXR1c1N0cmluZyA/IHN0
cmR1cChzdGF0dXNTdHJpbmcpOiBOVUxMOw0KKyAgICAvLyB0aGVyZSB3ZXJl
IGFwcGFyZW50bHkgbm8gYWNjb3VudHMgdG8gYmUgZm91bmQNCisgICAgc3Rh
dHVzQWNjb3VudCA9IE5VTEw7DQogICB9DQorICBlbHNlIGlmICh1cGRhdGVk
QWNjb3VudCA9PSBOVUxMKQ0KKyAgew0KKyAgICAvLyBhIE5VTEwgYXJndW1l
bnQgbWVhbnMgd2UganVzdCB3YW50IHRoZSBiZXN0IHN0YXR1cyBhdmFpbGFi
bGUgdG8gdXMNCisgICAgc3RhdHVzQWNjb3VudCA9IGJlc3RBY2NvdW50Ow0K
KyAgfQ0KKyAgZWxzZSBpZiAoc3RhdHVzQWNjb3VudCA9PSBOVUxMKQ0KKyAg
ew0KKyAgICAvLyB3ZSBoYWQgbm8gcHJldmlvdXMgc3RhdHVzLCB0aGUgbmV3
IG9uZSBpcyBjZXJ0YWlubHkgYmV0dGVyDQorICAgIHN0YXR1c0FjY291bnQg
PSB1cGRhdGVkQWNjb3VudDsNCisgIH0NCisgIGVsc2UgaWYgKHVwZGF0ZWRB
Y2NvdW50LT5nZXRTdGF0dXMoKSA9PSBiZXN0QWNjb3VudC0+Z2V0U3RhdHVz
KCkpDQorICB7DQorICAgIC8vIGlmIHRoZSBuZXcgc3RhdHVzIGlzIHRoZSBz
YW1lIGFzIHRoZSAnYmVzdCcgc3RhdHVzLCB3ZSB3YW50IHRvIHVzZSBpdA0K
KyAgICAvLyBCZWNhdXNlIG9mIHRoZSB3YXkgd2UgZG8gdGhpcywgdGhlIG5l
dyBzdGF0dXMgd2lsbCBuZXZlciBhY3R1YWxseSBiZQ0KKyAgICAvLyBiZXR0
ZXIsIHNlZWluZyBhcyBpdCB3b3VsZCBiZSBvbmUgb2YgdGhlIG9uZXMgdXNl
ZCB0byBjaG9vc2UgdGhlIGJlc3QNCisgICAgc3RhdHVzQWNjb3VudCA9IHVw
ZGF0ZWRBY2NvdW50Ow0KKyAgfQ0KKyAgZWxzZSBpZiAodXBkYXRlZEFjY291
bnQgPT0gc3RhdHVzQWNjb3VudCkNCisgIHsNCisgICAgLy8gdGhlIG5ldyBz
dGF0dXMgbXVzdCBiZSBsb3dlciB0aGFuIHRoZSBiZXN0IG9uZSwgYW5kIHdl
IGFyZSB1cGRhdGluZyB0aGUNCisgICAgLy8gYWNjb3VudCB3aGljaCB3YXMg
b3VyIHByZXZpb3VzIGJlc3Qgb25lLCB3aGljaCBtZWFucyB0aGF0IHdlIHNo
b3VsZA0KKyAgICAvLyBqdXN0IHVzZSB0aGUgYmVzdCBvbmUsIGluc3RlYWQN
CisgICAgc3RhdHVzQWNjb3VudCA9IGJlc3RBY2NvdW50Ow0KKyAgfQ0KIH0N
CiANCiB2b2lkIENvbnRhY3Q6OmxvZ2luKCkNCg==

---1463811291-371101032-1084673418=:27594
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Everybuddy-Dev mailing list
[email protected]
http://lists.spine.cx/listinfo/everybuddy-dev

---1463811291-371101032-1084673418=:27594--