From 8bfa651cb9de2f49a9c0d8629df41a9beb8e7350 Mon Sep 17 00:00:00 2001 From: Vladislav Salikov Date: Fri, 9 May 2025 16:19:39 +0300 Subject: [PATCH] Fixed updater's logging. --- wCenterWindow/updater.cpp | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/wCenterWindow/updater.cpp b/wCenterWindow/updater.cpp index 4044be1..4a92b27 100644 --- a/wCenterWindow/updater.cpp +++ b/wCenterWindow/updater.cpp @@ -46,13 +46,6 @@ UINT WINAPI Updater(void*) { logger.Out(L"[UPDT] %s(%d): Parsing JSON object", TEXT(__FUNCTION__), __LINE__); obj = json.get(); - it = obj.find("message"), it2; - if (it != obj.end()) { - std::string u = (*it).second.get(); - logger.Out(L"[UPDT] %s(%d): Error! The url is %S", TEXT(__FUNCTION__), __LINE__, u); - return 102; - _endthreadex(102); - } for (it = obj.begin(); it != obj.end(); it++) { if ((*it).first == "tag_name") j_tag_name = ConvertUtf8ToWide((*it).second.to_str()); @@ -70,8 +63,8 @@ UINT WINAPI Updater(void*) { } else { logger.Out(L"[UPDT] %s(%d): Error! Cannot recognize JSON object!", TEXT(__FUNCTION__), __LINE__); - return 103; - _endthreadex(103); + return 102; + _endthreadex(102); } size_t pos = 0; @@ -127,14 +120,13 @@ bool GetLatestRelease(const std::wstring& urn) { if (hRequest != NULL) { BOOL isSend = HttpSendRequestW(hRequest, NULL, 0, 0, 0); if (isSend) { - char szData[1024]{ 0 }; + char szData[1024] { 0 }; DWORD dwBytesRead = 0; std::string buffer; do { InternetReadFile(hRequest, szData, sizeof(szData), &dwBytesRead); buffer.append(szData, dwBytesRead); - } - while (dwBytesRead != 0); + } while (dwBytesRead != 0); picojson::parse(json, buffer); std::string jerr = picojson::get_last_error(); @@ -144,7 +136,18 @@ bool GetLatestRelease(const std::wstring& urn) { MessageBoxW(NULL, L"Error while parsing JSON object!", szTitle, MB_OK | MB_ICONERROR); ret = false; } - + else { + picojson::object obj = json.get(); + std::string msg, sts; + if (auto search = obj.find("message"); search != obj.end()) { + msg = (search->first) + ": " + (search->second).get(); + } + if (auto search = obj.find("status"); search != obj.end()) { + sts = (search->first) + ": " + (search->second).get(); + } + logger.Out(L"[UPDT] %s(%d): Error! %s", TEXT(__FUNCTION__), __LINE__, ConvertUtf8ToWide(msg + ", " + sts).c_str()); + ret = false; + } } else { err = GetLastError();