summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2023-01-17 14:37:50 +0300
committerGeorge Hazan <ghazan@miranda.im>2023-01-17 14:37:50 +0300
commit4c60037f6852f7771ed86e0b285a872e4bbadb87 (patch)
treea6977ea0a68db5612f3ac8664efd9d66a483e52c /protocols/SkypeWeb
parent893fe6d2f16f5e70087aa9d5949aff5aaff556d2 (diff)
PROTO_INTERFACE::GetAvatarPath - new helper for calculating avatars' root for an account
Diffstat (limited to 'protocols/SkypeWeb')
-rw-r--r--protocols/SkypeWeb/src/skype_avatars.cpp9
-rw-r--r--protocols/SkypeWeb/src/skype_proto.cpp5
-rw-r--r--protocols/SkypeWeb/src/skype_proto.h2
3 files changed, 7 insertions, 9 deletions
diff --git a/protocols/SkypeWeb/src/skype_avatars.cpp b/protocols/SkypeWeb/src/skype_avatars.cpp
index 015b56965b..94d097c852 100644
--- a/protocols/SkypeWeb/src/skype_avatars.cpp
+++ b/protocols/SkypeWeb/src/skype_avatars.cpp
@@ -122,15 +122,16 @@ INT_PTR CSkypeProto::SvcGetMyAvatar(WPARAM wParam, LPARAM lParam)
void CSkypeProto::GetAvatarFileName(MCONTACT hContact, wchar_t* pszDest, size_t cbLen)
{
- int tPathLen = mir_snwprintf(pszDest, cbLen, L"%s\\%s", VARSW(L"%miranda_avatarcache%").get(), m_tszUserName);
- CreateDirectoryTreeW(pszDest);
- pszDest[tPathLen++] = '\\';
+ CMStringW wszPath(GetAvatarPath());
+ wszPath += '\\';
const wchar_t* szFileType = ProtoGetAvatarExtension(getByte(hContact, "AvatarType", PA_FORMAT_JPEG));
CMStringA username(getId(hContact));
username.Replace("live:", "__live_");
username.Replace("facebook:", "__facebook_");
- mir_snwprintf(pszDest + tPathLen, MAX_PATH - tPathLen, L"%S%s", username.c_str(), szFileType);
+ wszPath.AppendFormat(L"%S%s", username.c_str(), szFileType);
+
+ wcsncpy_s(pszDest, cbLen, wszPath, _TRUNCATE);
}
void CSkypeProto::SetAvatarUrl(MCONTACT hContact, CMStringW &tszUrl)
diff --git a/protocols/SkypeWeb/src/skype_proto.cpp b/protocols/SkypeWeb/src/skype_proto.cpp
index 5eb23d11ca..5288ea81ac 100644
--- a/protocols/SkypeWeb/src/skype_proto.cpp
+++ b/protocols/SkypeWeb/src/skype_proto.cpp
@@ -51,10 +51,9 @@ CSkypeProto::CSkypeProto(const char* protoName, const wchar_t* userName) :
HookProtoEvent(ME_OPT_INITIALISE, &CSkypeProto::OnOptionsInit);
HookProtoEvent(ME_DB_EVENT_MARKED_READ, &CSkypeProto::OnDbEventRead);
- m_tszAvatarFolder = std::wstring(VARSW(L"%miranda_avatarcache%")) + L"\\" + m_tszUserName;
- CreateDirectoryTreeW(m_tszAvatarFolder.c_str());
+ CreateDirectoryTreeW(GetAvatarPath());
- //sounds
+ // sounds
g_plugin.addSound("skype_inc_call", L"SkypeWeb", LPGENW("Incoming call"));
g_plugin.addSound("skype_call_canceled", L"SkypeWeb", LPGENW("Incoming call canceled"));
diff --git a/protocols/SkypeWeb/src/skype_proto.h b/protocols/SkypeWeb/src/skype_proto.h
index 3517ae742a..4977bb71d3 100644
--- a/protocols/SkypeWeb/src/skype_proto.h
+++ b/protocols/SkypeWeb/src/skype_proto.h
@@ -189,8 +189,6 @@ private:
INT_PTR __cdecl OnAccountManagerInit(WPARAM, LPARAM);
- std::wstring m_tszAvatarFolder;
-
INT_PTR __cdecl SvcGetAvatarInfo(WPARAM, LPARAM);
INT_PTR __cdecl SvcGetAvatarCaps(WPARAM, LPARAM);
INT_PTR __cdecl SvcGetMyAvatar(WPARAM, LPARAM);