From 630d28997003864c1f8f5f63083e90abfeac97d7 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 6 May 2024 17:42:52 +0300 Subject: =?UTF-8?q?fixes=20#4392=20(Discord:=20=D0=BD=D0=B5=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82=20=D0=BF=D0=BE=D0=B4=D0=B3?= =?UTF-8?q?=D1=80=D1=83=D0=B7=D0=BA=D0=B0=20=D0=B8=D1=81=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=B8=D0=B8=20=D1=87=D0=B0=D1=82=D0=B0=20=D1=81=20=D1=81=D0=B5?= =?UTF-8?q?=D1=80=D0=B2=D0=B5=D1=80=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/Discord/src/utils.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/protocols/Discord/src/utils.cpp b/protocols/Discord/src/utils.cpp index bcc5c5225b..bb4d6af363 100644 --- a/protocols/Discord/src/utils.cpp +++ b/protocols/Discord/src/utils.cpp @@ -102,7 +102,19 @@ SnowFlake CDiscordProto::getId(MCONTACT hContact, const char *szSetting) if (db_get(hContact, m_szModuleName, szSetting, &dbv)) return 0; - SnowFlake result = (dbv.cpbVal == sizeof(SnowFlake)) ? *(SnowFlake*)dbv.pbVal : 0; + SnowFlake result; + switch (dbv.type) { + case DBVT_BLOB: + result = (dbv.cpbVal == sizeof(SnowFlake)) ? *(SnowFlake *)dbv.pbVal : 0; + break; + case DBVT_ASCIIZ: + case DBVT_UTF8: + result = _atoi64(dbv.pszVal); + break; + case DBVT_WCHAR: + result = _wtoi64(dbv.pwszVal); + break; + } db_free(&dbv); return result; } -- cgit v1.2.3