From 730c132f369842cd219388905cf981c2e90f98b3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 10 Jan 2024 12:11:16 +0300 Subject: code cleaning --- plugins/SmileyAdd/src/download.cpp | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) (limited to 'plugins/SmileyAdd/src') diff --git a/plugins/SmileyAdd/src/download.cpp b/plugins/SmileyAdd/src/download.cpp index 0695876acc..978e00c72f 100644 --- a/plugins/SmileyAdd/src/download.cpp +++ b/plugins/SmileyAdd/src/download.cpp @@ -39,7 +39,7 @@ static LIST dlQueue(10); static wchar_t g_wszCachePath[MAX_PATH]; static bool threadRunning; -bool InternetDownloadFile(const char *szUrl, char *szDest, HNETLIBCONN &hHttpDwnl) +static bool InternetDownloadFile(const char *szUrl, const wchar_t *szDest, HNETLIBCONN &hHttpDwnl) { int result = 0xBADBAD; @@ -53,33 +53,22 @@ bool InternetDownloadFile(const char *szUrl, char *szDest, HNETLIBCONN &hHttpDwn nlhr.AddHeader("User-Agent", NETLIB_USER_AGENT); nlhr.AddHeader("Connection", "close"); + CreatePathToFileW(szDest); + while (result == 0xBADBAD) { // download the page - NLHR_PTR nlhrReply(Netlib_HttpTransaction(hNetlibUser, &nlhr)); + NLHR_PTR nlhrReply(Netlib_DownloadFile(hNetlibUser, &nlhr, szDest)); if (nlhrReply) { hHttpDwnl = nlhrReply->nlc; // if the recieved code is 200 OK - if (nlhrReply->resultCode == 200) { - char *delim = strrchr(szDest, '\\'); - if (delim) *delim = '\0'; - CreateDirectoryTree(szDest); - if (delim) *delim = '\\'; - int res = -1; - int fh = _open(szDest, _O_BINARY | _O_WRONLY | _O_CREAT, _S_IREAD | _S_IWRITE); - if (fh != -1) { - res = _write(fh, nlhrReply->body, nlhrReply->body.GetLength()); - _close(fh); - } - if (res < 0) - remove(szDest); - else - result = 0; - } - else result = 1; + if (nlhrReply->resultCode == 200) + result = 0; + else + result = 1; } else { + // retry hHttpDwnl = nullptr; - result = 1; } } @@ -109,7 +98,7 @@ void __cdecl SmileyDownloadThread(void*) } if (_waccess(pItem->fname.c_str(), 0) != 0) { - InternetDownloadFile(_T2A(pItem->url.c_str()), _T2A(pItem->fname.c_str()), hHttpDwnl); + InternetDownloadFile(_T2A(pItem->url.c_str()), pItem->fname, hHttpDwnl); CMStringW fname(pItem->fname); if (pItem->needext) { -- cgit v1.2.3