From 010952c5c2dde278a024f6876e8189b949ea5dcf Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 19 Jan 2024 15:44:57 +0300 Subject: the ancient atavism extincted: PROTORECVFILE structure with its own set of flags --- protocols/Tox/src/tox_transfer.cpp | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) (limited to 'protocols/Tox/src/tox_transfer.cpp') diff --git a/protocols/Tox/src/tox_transfer.cpp b/protocols/Tox/src/tox_transfer.cpp index e5f12a2b8c..1b7b6e4fc3 100644 --- a/protocols/Tox/src/tox_transfer.cpp +++ b/protocols/Tox/src/tox_transfer.cpp @@ -21,11 +21,10 @@ void CToxProto::OnFriendFile(Tox *tox, uint32_t friendNumber, uint32_t fileNumbe { proto->debugLogA(__FUNCTION__": incoming avatar (%d) from %s (%d)", fileNumber, (const char*)pubKey, friendNumber); - ptrW address(proto->getWStringA(hContact, TOX_SETTINGS_ID)); - wchar_t avatarName[MAX_PATH]; - mir_snwprintf(avatarName, MAX_PATH, L"%s.png", address.get()); + CMStringA address(proto->getMStringU(hContact, TOX_SETTINGS_ID)); + address += "%s.png"; - AvatarTransferParam *transfer = new AvatarTransferParam(friendNumber, fileNumber, avatarName, fileSize); + AvatarTransferParam *transfer = new AvatarTransferParam(friendNumber, fileNumber, address, fileSize); transfer->pfts.flags |= PFTS_RECEIVING; transfer->pfts.hContact = hContact; proto->transfers.Add(transfer); @@ -45,21 +44,15 @@ void CToxProto::OnFriendFile(Tox *tox, uint32_t friendNumber, uint32_t fileNumbe proto->debugLogA(__FUNCTION__": incoming file (%d) from %s (%d)", fileNumber, (const char*)pubKey, friendNumber); CMStringA rawName((char*)fileName, (int)fileNameLength); - const wchar_t *name = mir_utf8decodeW(rawName); - FileTransferParam *transfer = new FileTransferParam(friendNumber, fileNumber, name, fileSize); + FileTransferParam *transfer = new FileTransferParam(friendNumber, fileNumber, rawName, fileSize); transfer->pfts.flags |= PFTS_RECEIVING; transfer->pfts.hContact = hContact; proto->transfers.Add(transfer); - PROTORECVFILE pre = {}; - pre.dwFlags = PRFF_UNICODE; - pre.fileCount = 1; - pre.timestamp = now(); - pre.descr.w = L""; - pre.files.w = &name; - pre.pUserInfo = transfer; - ProtoChainRecvFile(hContact, &pre); + DB::EventInfo dbei; + dbei.timestamp = now(); + ProtoChainRecvFile(hContact, DB::FILE_BLOB(transfer, rawName), dbei); } break; @@ -270,7 +263,7 @@ HANDLE CToxProto::OnSendFile(Tox *tox, MCONTACT hContact, const wchar_t*, wchar_ } debugLogA(__FUNCTION__": start sending file (%d) to %s (%d)", fileNumber, (const char*)pubKey, friendNumber); - FileTransferParam *transfer = new FileTransferParam(friendNumber, fileNumber, fileName, fileSize); + FileTransferParam *transfer = new FileTransferParam(friendNumber, fileNumber, rawName, fileSize); transfer->pfts.flags |= PFTS_SENDING; transfer->pfts.hContact = hContact; transfer->pfts.szWorkingDir.w = fileDir; -- cgit v1.2.3