summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--protocols/ICQ-WIM/src/poll.cpp1
-rw-r--r--protocols/ICQ-WIM/src/proto.h5
2 files changed, 4 insertions, 2 deletions
diff --git a/protocols/ICQ-WIM/src/poll.cpp b/protocols/ICQ-WIM/src/poll.cpp
index b58eaa111c..f794f82d57 100644
--- a/protocols/ICQ-WIM/src/poll.cpp
+++ b/protocols/ICQ-WIM/src/poll.cpp
@@ -34,7 +34,6 @@ void CIcqProto::ProcessBuddyList(const JSONNode &ev)
if (pGroup->level != 0) {
for (auto &p : tmpGroups.rev_iter()) {
if (p->level == pGroup->level-1) {
- pGroup->wszName.Delete(pGroup->level);
pGroup->wszName = p->wszName + L"\\" + pGroup->wszName;
debugLogA("Group name fixed as %S", pGroup->wszName.c_str());
break;
diff --git a/protocols/ICQ-WIM/src/proto.h b/protocols/ICQ-WIM/src/proto.h
index c9f40a2da8..ac9a6f92ab 100644
--- a/protocols/ICQ-WIM/src/proto.h
+++ b/protocols/ICQ-WIM/src/proto.h
@@ -74,7 +74,10 @@ struct IcqGroup
id(_p1),
wszName(_p2)
{
- level = wszName.SpanIncluding(L"<").GetLength();
+ level = wszName.SpanIncluding(L">").GetLength();
+ if (level != 0)
+ wszName.Delete(level);
+ wszName.Replace(L">", L"\\");
}
int id;