From 99b43a519c595bd9c75c10ad204880c5b924db8c Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 17 Jan 2018 14:01:50 +0300 Subject: ICQCorp: fix for broken file transfers --- protocols/ICQCorp/src/transfer.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'protocols/ICQCorp/src/transfer.cpp') diff --git a/protocols/ICQCorp/src/transfer.cpp b/protocols/ICQCorp/src/transfer.cpp index 13a8eb6499..1bbfd9c14e 100644 --- a/protocols/ICQCorp/src/transfer.cpp +++ b/protocols/ICQCorp/src/transfer.cpp @@ -91,8 +91,7 @@ void ICQTransfer::processTcpPacket(Packet &packet) case 0x01: T("[tcp] ack initialising\n"); - packet >> speed - >> name; + packet >> speed >> name; ack(ACKRESULT_INITIALISING); sendPacket0x02(); @@ -109,16 +108,20 @@ void ICQTransfer::processTcpPacket(Packet &packet) ++current; if (directoryName[0]) - files[current] = CMStringW(FORMAT, L"%s\\%s", ptrW(Utf8DecodeW(directoryName)), ptrW(Utf8DecodeW(fileName))).Detach(); + files[current] = CMStringW(FORMAT, L"%S\\%S", directoryName, fileName).Detach(); else - files[current] = Utf8DecodeW(fileName); + files[current] = mir_a2u(fileName); - if (directory) createDirectory(); - else openFile(); + if (directory) + createDirectory(); + else + openFile(); ack(ACKRESULT_NEXTFILE); - if (fileProgress) ack(ACKRESULT_FILERESUME); - else sendPacket0x03(); + if (fileProgress) + ack(ACKRESULT_FILERESUME); + else + sendPacket0x03(); break; case 0x03: -- cgit v1.2.3