Hi
The existing SVN code handles the following form of LST:
LST N=email F=friendlyName C=id listNum groupIds
But not this one:
LST N=email F=friendlyName listNum groupIds
The following patch solves this.
(I get the later form, if I completely remove a contact and add it later again, while I am offline myself.)
Regards,
Steffen
--- L:/Projekte/osiris4/dev/JML/src/net/sf/jml/protocol/incoming/IncomingLST.java (revision 81)
+++ L:/Projekte/osiris4/dev/JML/src/net/sf/jml/protocol/incoming/IncomingLST.java (working copy)
@@ -100,11 +100,13 @@
public int getListNum() {
if (protocol.before(MsnProtocol.MSNP10))
return NumberUtils.stringToInt(getParam(2));
- String param = getParam(1);
- if (param != null && param.startsWith("F="))
- return NumberUtils.stringToInt(getParam(3));
- //User not in FL
- return NumberUtils.stringToInt(getParam(1));
+ String param1 = getParam(1);
+ if (param1 == null || !param1.startsWith("F="))
+ return NumberUtils.stringToInt(param1);
+ String param2 = getParam(2);
+ if (param2 == null || !param2.startsWith("C="))
+ return NumberUtils.stringToInt(param2);
+ return NumberUtils.stringToInt(getParam(3));
}
public String[] getGroupId() {
Logged In: YES
user_id=10039
Originator: NO
What the, MSN leaves out the C=id in that instance? That's so bizarre! Ah well, I don't claim to understand some of the MSN choices. ;) Thanks for the patch!!! I'll aim to apply soon! (have another patch I'm working with that removes the need for cindy, but it needs a couple of tweaks)