From cb462baced051c43598acf767058514a9aefd73c Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 10 Jan 2020 20:52:55 +0300 Subject: Facebook: fix for correct fbrpc:// processing --- protocols/Facebook/src/server.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/protocols/Facebook/src/server.cpp b/protocols/Facebook/src/server.cpp index 780e81104d..2b47f373ef 100644 --- a/protocols/Facebook/src/server.cpp +++ b/protocols/Facebook/src/server.cpp @@ -562,14 +562,20 @@ void FacebookProto::OnPublishPrivateMessage(const JSONNode &root) CMStringA str = attach["url"].as_mstring(); if (!str.IsEmpty()) { - if (str.Left(8) == "fbrpc") { + if (str.Left(8) == "fbrpc://") { int iStart = str.Find("target_url="); if (iStart != 0) { - int iEnd = str.Find("&", iStart + 11); - if (iEnd == -1) - szBody.AppendFormat("\r\n\t%s: %s", TranslateU("URL"), str.c_str() + iStart); + CMStringA tmp; + + iStart += 11; + int iEnd = str.Find("&", iStart); + if (iEnd != -1) + tmp = str.Mid(iStart, iEnd - iStart); else - szBody.AppendFormat("\r\n\t%s: %s", TranslateU("URL"), str.Mid(iStart, iEnd).c_str()); + tmp = str.Right(iStart); + + mir_urlDecode(tmp.GetBuffer()); + szBody.AppendFormat("\r\n\t%s: %s", TranslateU("URL"), tmp.c_str()); } } else szBody.AppendFormat("\r\n\t%s: %s", TranslateU("URL"), str.c_str()); -- cgit v1.2.3