summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-10-16 15:22:53 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-10-16 15:22:53 +0300
commit4a4096bf5d55b9ab033dee43ef40e84dbf34f666 (patch)
tree558113b9fe571e165eb2a9ac806683e89e228aba
parentba19b70f9a12bf7e3c51d44bd0a3ca787da43ffc (diff)
YAMN: slack debug code removed
-rw-r--r--protocols/YAMN/src/account.cpp108
-rw-r--r--protocols/YAMN/src/account.h167
-rw-r--r--protocols/YAMN/src/debug.cpp75
-rw-r--r--protocols/YAMN/src/debug.h40
-rw-r--r--protocols/YAMN/src/mails/decode.cpp8
-rw-r--r--protocols/YAMN/src/mails/mime.cpp66
-rw-r--r--protocols/YAMN/src/proto/netlib.cpp30
-rw-r--r--protocols/YAMN/src/proto/pop3/pop3.cpp2
-rw-r--r--protocols/YAMN/src/proto/pop3/pop3comm.cpp50
9 files changed, 211 insertions, 335 deletions
diff --git a/protocols/YAMN/src/account.cpp b/protocols/YAMN/src/account.cpp
index 572418305e..692a881d52 100644
--- a/protocols/YAMN/src/account.cpp
+++ b/protocols/YAMN/src/account.cpp
@@ -195,45 +195,24 @@ uint32_t FileToMemory(const wchar_t *FileName, char **MemFile, char **End)
#if defined(DEBUG_FILEREAD) || defined(DEBUG_FILEREADMESSAGES)
uint32_t ReadStringFromMemory(char **Parser, wchar_t *End, char **StoreTo, wchar_t *DebugString)
+#else
+uint32_t ReadStringFromMemory(char **Parser, char *End, char **StoreTo)
+#endif
{
- // This is the debug version of ReadStringFromMemory function. This version shows MessageBox where
- // read string is displayed
- wchar_t *Dest, *Finder;
- uint32_t Size;
- wchar_t Debug[65536];
-
- Finder = *Parser;
+ char *Finder = *Parser;
while ((*Finder != (wchar_t)0) && (Finder <= End)) Finder++;
+
+ #if defined(DEBUG_FILEREAD) || defined(DEBUG_FILEREADMESSAGES)
+ wchar_t Debug[65536];
mir_snwprintf(Debug, L"%s: %s,length is %d, remaining %d chars", DebugString, *Parser, Finder - *Parser, End - Finder);
MessageBox(NULL, Debug, L"debug", MB_OK);
- if (Finder >= End)
- return EACC_FILECOMPATIBILITY;
- if (Size = Finder - *Parser) {
- if (NULL == (Dest = *StoreTo = new wchar_t[Size + 1]))
- return EACC_ALLOC;
- for (; *Parser <= Finder; (*Parser)++, Dest++)
- *Dest = **Parser;
- }
- else {
- *StoreTo = NULL;
- (*Parser)++;
- }
- return 0;
-}
-#endif
-
-uint32_t ReadStringFromMemory(char **Parser, char *End, char **StoreTo)
-{
- char *Dest, *Finder;
- uint32_t Size;
+ #endif
- Finder = *Parser;
- while ((*Finder != (wchar_t)0) && (Finder <= End)) Finder++;
if (Finder >= End)
return EACC_FILECOMPATIBILITY;
- if (Size = Finder - *Parser) {
- if (nullptr == (Dest = *StoreTo = new char[Size + 1]))
- return EACC_ALLOC;
+
+ if (uint32_t Size = Finder - *Parser) {
+ char *Dest = *StoreTo = new char[Size + 1];
for (; *Parser <= Finder; (*Parser)++, Dest++)
*Dest = **Parser;
}
@@ -246,45 +225,24 @@ uint32_t ReadStringFromMemory(char **Parser, char *End, char **StoreTo)
#if defined(DEBUG_FILEREAD) || defined(DEBUG_FILEREADMESSAGES)
uint32_t ReadStringFromMemoryW(wchar_t **Parser, wchar_t *End, wchar_t **StoreTo, wchar_t *DebugString)
+#else
+uint32_t ReadStringFromMemoryW(wchar_t **Parser, wchar_t *End, wchar_t **StoreTo)
+#endif
{
- // This is the debug version of ReadStringFromMemoryW function. This version shows MessageBox where
- // read string is displayed
- wchar_t *Dest, *Finder;
- uint32_t Size;
- wchar_t Debug[65536];
-
- Finder = *Parser;
+ wchar_t *Finder = *Parser;
while ((*Finder != (wchar_t)0) && (Finder <= (wchar_t *)End)) Finder++;
+
+ #if defined(DEBUG_FILEREAD) || defined(DEBUG_FILEREADMESSAGES)
+ wchar_t Debug[65536];
mir_snwprintf(Debug, L"%s: %s,length is %d, remaining %d chars", DebugString, *Parser, Finder - *Parser, (wchar_t *)End - Finder);
MessageBoxW(NULL, Debug, L"debug", MB_OK);
- if (Finder >= (wchar_t *)End)
- return EACC_FILECOMPATIBILITY;
- if (Size = Finder - *Parser) {
- if (NULL == (Dest = *StoreTo = new wchar_t[Size + 1]))
- return EACC_ALLOC;
- for (; *Parser <= Finder; (*Parser)++, Dest++)
- *Dest = **Parser;
- }
- else {
- *StoreTo = NULL;
- (*Parser)++;
- }
- return 0;
-}
-#endif // if defined(DEBUG...)
-
-uint32_t ReadStringFromMemoryW(wchar_t **Parser, wchar_t *End, wchar_t **StoreTo)
-{
- wchar_t *Dest, *Finder;
- uint32_t Size;
+ #endif
- Finder = *Parser;
- while ((*Finder != (wchar_t)0) && (Finder <= (wchar_t *)End)) Finder++;
if (Finder >= (wchar_t *)End)
return EACC_FILECOMPATIBILITY;
- if (Size = Finder - *Parser) {
- if (nullptr == (Dest = *StoreTo = new wchar_t[Size + 1]))
- return EACC_ALLOC;
+
+ if (uint32_t Size = Finder - *Parser) {
+ wchar_t *Dest = *StoreTo = new wchar_t[Size + 1];
for (; *Parser <= Finder; (*Parser)++, Dest++)
*Dest = **Parser;
}
@@ -368,15 +326,14 @@ uint32_t ReadMessagesFromMemory(CAccount *Which, char **Parser, char *End)
if (Finder >= End)
return EACC_FILECOMPATIBILITY;
if (Size = Finder - *Parser) {
- if (Which->Mails == nullptr) // First message in queue
- {
+ if (Which->Mails == nullptr) { // First message in queue
if (nullptr == (Which->Mails = ActualMail = CreateAccountMail(Which)))
return EACC_ALLOC;
}
else {
- if (nullptr == (ActualMail->Next = CreateAccountMail(Which))) {
+ if (nullptr == (ActualMail->Next = CreateAccountMail(Which)))
return EACC_ALLOC;
- }
+
ActualMail = ActualMail->Next;
}
items = nullptr;
@@ -386,7 +343,6 @@ uint32_t ReadMessagesFromMemory(CAccount *Which, char **Parser, char *End)
if (Stat = ReadStringFromMemory(Parser, End, &ActualMail->ID))
#endif
return Stat;
- // ActualMail->MailData=new MAILDATA; !!! mem leake !!! this is alloc by CreateAccountMail, no need for doubble alloc !!!!
ActualMail->MailData->Size = *(uint32_t *)(*Parser);
(*Parser) += sizeof(uint32_t);
@@ -415,7 +371,7 @@ uint32_t ReadMessagesFromMemory(CAccount *Which, char **Parser, char *End)
break;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<read name>%s</read name>", ReadString);
+ mir_writeLogA(DecodeFile, "<read name>%s</read name>", ReadString);
#endif
if (items == nullptr)
@@ -436,14 +392,14 @@ uint32_t ReadMessagesFromMemory(CAccount *Which, char **Parser, char *End)
return Stat;
items->value = ReadString;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<read value>%s</read value>\n", ReadString);
+ mir_writeLogA(DecodeFile, "<read value>%s</read value>\n", ReadString);
#endif
} while (1);
}
else
break; // no next messages, new account!
- } while (1);
+ } while (true);
(*Parser)++;
return 0;
}
@@ -509,8 +465,8 @@ uint32_t ReadAccountFromMemory(CAccount *Which, char **Parser, char *End)
mir_snwprintf(Debug, L"STFlags: %04x, remaining %d chars", Which->StatusFlags, End - *Parser);
MessageBox(NULL, Debug, L"debug", MB_OK);
#endif
- Which->PluginFlags = *(uint32_t *)(*Parser);
- (*Parser) += sizeof(uint32_t);
+
+ (*Parser) += sizeof(uint32_t); // PluginFlags
#ifdef DEBUG_FILEREAD
mir_snwprintf(Debug, L"PFlags: %04x, remaining %d chars", Which->PluginFlags, End - *Parser);
MessageBox(NULL, Debug, L"debug", MB_OK);
@@ -761,9 +717,11 @@ static INT_PTR PerformAccountWriting(YAMN_PROTOPLUGIN *Plugin, HANDLE File)
}
CodeDecodeString(ActualAccount->Server->Passwd, FALSE);
+ uint32_t PluginFlags = 0;
+
if ((!WriteFile(File, (char *)&ActualAccount->Flags, sizeof(uint32_t), &WrittenBytes, nullptr) ||
(!WriteFile(File, (char *)&ActualAccount->StatusFlags, sizeof(uint32_t), &WrittenBytes, nullptr)) ||
- (!WriteFile(File, (char *)&ActualAccount->PluginFlags, sizeof(uint32_t), &WrittenBytes, nullptr))))
+ (!WriteFile(File, (char *)&PluginFlags, sizeof(uint32_t), &WrittenBytes, nullptr))))
throw (uint32_t)EACC_SYSTEM;
if (!WriteFile(File, (char *)&ActualAccount->Interval, sizeof(uint16_t), &WrittenBytes, nullptr))
diff --git a/protocols/YAMN/src/account.h b/protocols/YAMN/src/account.h
index cadd83a1ec..afe325fcef 100644
--- a/protocols/YAMN/src/account.h
+++ b/protocols/YAMN/src/account.h
@@ -12,49 +12,49 @@
#include <windows.h>
#include <tchar.h>
- //
- //================================== OTHER DEFINITIONS ========================================
- //
+//
+// ================================== OTHER DEFINITIONS ========================================
+//
+// Error codes returned from functions (services) working with account book files
enum
{
- // Error codes returned from functions (services) working with account book files
- EACC_SYSTEM = 1, //use GetLastError() to retrieve detailed information about error
- EACC_ALLOC, //problem with memory allocation
- EACC_FILECOMPATIBILITY, //file is corrupted
- EACC_ENDOFFILE, //unexpected end of file occured
- EACC_FILEVERSION, //file should be YAMN book format, but newer version that expected
- EACC_FILESIZE, //file has wrong size
+ EACC_SYSTEM = 1, // use GetLastError() to retrieve detailed information about error
+ EACC_ALLOC, // problem with memory allocation
+ EACC_FILECOMPATIBILITY, // file is corrupted
+ EACC_ENDOFFILE, // unexpected end of file occured
+ EACC_FILEVERSION, // file should be YAMN book format, but newer version that expected
+ EACC_FILESIZE, // file has wrong size
};
+// Status of account
+// used in messages WM_YAMN_CHANGESTATUS
+// used also in function GetStatus and SetStatus
enum
{
- // Status of account
- // used in messages WM_YAMN_CHANGESTATUS
- // used also in function GetStatus and SetStatus
- ACC_IDLE = 0, //account is IDLE (no work is performed with account)
- ACC_FINDING, //DNS lookup for account
- ACC_CONNECTING, //connecting in progress
- ACC_LOGGING, //logging in progress
- ACC_WORKING, //working
- ACC_DISCONNECTING, //disconnecting from server
+ ACC_IDLE = 0, // account is IDLE (no work is performed with account)
+ ACC_FINDING, // DNS lookup for account
+ ACC_CONNECTING, // connecting in progress
+ ACC_LOGGING, // logging in progress
+ ACC_WORKING, // working
+ ACC_DISCONNECTING, // disconnecting from server
};
-#define YAMN_ACC_MSG 0x00000002 // Shows dialog
-#define YAMN_ACC_ICO 0x00000004 // Shows system tray icon (1)
-#define YAMN_ACC_ICOB 0x00000008 // not used now, enables tray icon flashing (1)
-#define YAMN_ACC_APP 0x00000010 // Runs application (1)
-#define YAMN_ACC_POP 0x00000020 // Shows popup
-#define YAMN_ACC_POPC 0x00000040 // Use custom colors in popup
-#define YAMN_ACC_MSGP 0x00000080 // Persistant messgage. This means, when an situation occurs (e.g. new mail) and message is displayed, it is not destroyed when YAMN_ACC_MSG is not set
-#define YAMN_ACC_KBN 0x00000100 // Use Keyboard notify
-#define YAMN_ACC_CONT 0x00000200 // Use Contact notify
-#define YAMN_ACC_CONTNICK 0x00000400 // Use Contact Nick replacement
-#define YAMN_ACC_CONTNOEVENT 0x00000800 // Suppress event for this contact
+#define YAMN_ACC_MSG 0x00000002 // Shows dialog
+#define YAMN_ACC_ICO 0x00000004 // Shows system tray icon (1)
+#define YAMN_ACC_ICOB 0x00000008 // not used now, enables tray icon flashing (1)
+#define YAMN_ACC_APP 0x00000010 // Runs application (1)
+#define YAMN_ACC_POP 0x00000020 // Shows popup
+#define YAMN_ACC_POPC 0x00000040 // Use custom colors in popup
+#define YAMN_ACC_MSGP 0x00000080 // Persistant messgage. This means, when an situation occurs (e.g. new mail) and message is displayed, it is not destroyed when YAMN_ACC_MSG is not set
+#define YAMN_ACC_KBN 0x00000100 // Use Keyboard notify
+#define YAMN_ACC_CONT 0x00000200 // Use Contact notify
+#define YAMN_ACC_CONTNICK 0x00000400 // Use Contact Nick replacement
+#define YAMN_ACC_CONTNOEVENT 0x00000800 // Suppress event for this contact
struct YAMN_NOTIFICATION
{
- //(1) - usable only in newmail notification
+ // (1) - usable only in newmail notification
DWORD Flags = 0;
COLORREF PopupB = 0;
@@ -82,9 +82,9 @@ struct CServer
char *Passwd = nullptr;
};
-//
-//================================== ACCOUNT DEFINITION ==================================
-//
+//
+// ================================== ACCOUNT DEFINITION ==================================
+//
#define WAIT_FINISH WAIT_OBJECT_0+1
@@ -232,69 +232,64 @@ struct SWriteGuard
/////////////////////////////////////////////////////////////////////////////////////////
// CAccount - basic email account class
+// YAMN account flags (set by user)
+#define YAMN_ACC_ENA 0x00000001 // Enables account. If account is disabled, no countdown is performed
+#define YAMN_ACC_POPN 0x00000002 // Shows one popup per one new mail or for N mails
+#define YAMN_ACC_APOP 0x00000004 // Use APOP authentication
+#define YAMN_ACC_SSL23 0x00000008 // Use SSLv2,3
+#define YAMN_ACC_NOTLS 0x00000010 // Don't try StartTLS (STLS) even available
+#define YAMN_ACC_BODY 0x00000020 // Always retrieve body of the message
+
+// YAMN ability flags (set by plugin)
+#define YAMN_ACC_BROWSE 0x00000001 // Can browse mails. On this account we can run mailbrowser window
+#define YAMN_ACC_POPUP 0x00000002 // Popups of new mail belonging to this account can be showed
+
+// YAMN account status flags
+#define YAMN_ACC_ST0 0x00000001 // Check (countdown) when Offline
+#define YAMN_ACC_ST1 0x00000002 // Check (countdown) when Online
+#define YAMN_ACC_ST2 0x00000004 // Check (countdown) when Away
+#define YAMN_ACC_ST3 0x00000008 // Check (countdown) when Not available
+#define YAMN_ACC_ST4 0x00000010 // Check (countdown) when Occupied
+#define YAMN_ACC_ST5 0x00000020 // Check (countdown) when DND
+#define YAMN_ACC_ST6 0x00000040 // Check (countdown) when Free for chat
+#define YAMN_ACC_ST7 0x00000080 // Check (countdown) when Invisible
+
+#define YAMN_ACC_STARTA 0x00010000 // Check on start anyway
+#define YAMN_ACC_STARTS 0x00020000 // Check on start regarding to status setting
+#define YAMN_ACC_FORCE 0x00040000 // Check when "check new mail" item pressed (it is called forced checking)
+
struct CAccount : public MZeroedObject
{
- #define YAMN_ACCOUNTFILEVERSION 2 //version of standard file format (YAMN book file format)
-
// If changes are made in this structure, version is changed.
// So then YAMN does not initialzie your structure, if version does not matches.
+ #define YAMN_ACCOUNTFILEVERSION 2 // version of standard file format (YAMN book file format)
- BOOL AbleToWork; // This is set to TRUE by default. When it is needed to stop working on this account, YAMN sets this to zero.
-
- struct YAMN_PROTOPLUGIN *Plugin; // free access, because this member should not be changed. The same as YAMN_PLUGIN structure
-
- char *Name; // access only through AccountAccessSO
-
- CServer *Server; //access only through AccountAccessSO
-
- WORD Interval; //access only through AccountAccessSO
-
- // YAMN account flags (set by user)
- #define YAMN_ACC_ENA 0x00000001 //Enables account. If account is disabled, no countdown is performed
- #define YAMN_ACC_POPN 0x00000002 //Shows one popup per one new mail or for N mails
- #define YAMN_ACC_APOP 0x00000004 //Use APOP authentication
- #define YAMN_ACC_SSL23 0x00000008 //Use SSLv2,3
- #define YAMN_ACC_NOTLS 0x00000010 //Don't try StartTLS (STLS) even available
- #define YAMN_ACC_BODY 0x00000020 //Always retrieve body of the message
- DWORD Flags; //access only through AccountAccessSO
-
- // YAMN account flags (set by plugin)
- #define YAMN_ACC_BROWSE 0x00000001 //Can browse mails. On this account we can run mailbrowser window
- #define YAMN_ACC_POPUP 0x00000002 //Popups of new mail belonging to this account can be showed
- DWORD AbilityFlags;
-
- // YAMN account status flags
- #define YAMN_ACC_ST0 0x00000001 // Check (countdown) when Offline
- #define YAMN_ACC_ST1 0x00000002 // Check (countdown) when Online
- #define YAMN_ACC_ST2 0x00000004 // Check (countdown) when Away
- #define YAMN_ACC_ST3 0x00000008 // Check (countdown) when Not available
- #define YAMN_ACC_ST4 0x00000010 // Check (countdown) when Occupied
- #define YAMN_ACC_ST5 0x00000020 // Check (countdown) when DND
- #define YAMN_ACC_ST6 0x00000040 // Check (countdown) when Free for chat
- #define YAMN_ACC_ST7 0x00000080 // Check (countdown) when Invisible
+ // This is set to TRUE by default. When it is needed to stop working on this account, YAMN sets this to zero.
+ BOOL AbleToWork;
- #define YAMN_ACC_STARTA 0x00010000 // Check on start anyway
- #define YAMN_ACC_STARTS 0x00020000 // Check on start regarding to status setting
- #define YAMN_ACC_FORCE 0x00040000 // Check when "check new mail" item pressed (it is called forced checking)
- DWORD StatusFlags; // access only through AccountAccessSO
+ struct YAMN_PROTOPLUGIN *Plugin; // free access, because this member should not be changed. The same as YAMN_PLUGIN structure
- // Plugin flags. Use this DWORD if you want YAMN to store it to YAMN book file. You can set here any value
- DWORD PluginFlags;
+ char *Name; // access only through AccountAccessSO
+ CServer *Server; // access only through AccountAccessSO
+ WORD Interval; // access only through AccountAccessSO
+ DWORD Flags; // access only through AccountAccessSO
+ DWORD AbilityFlags; // access only through AccountAccessSO
+ DWORD StatusFlags; // access only through AccountAccessSO
- YAMN_NOTIFICATION NewMailN; //access only through AccountAccessSO
- YAMN_NOTIFICATION NoNewMailN; //access only through AccountAccessSO
- YAMN_NOTIFICATION BadConnectN; //access only through AccountAccessSO
+ YAMN_NOTIFICATION NewMailN; // access only through AccountAccessSO
+ YAMN_NOTIFICATION NoNewMailN; // access only through AccountAccessSO
+ YAMN_NOTIFICATION BadConnectN; // access only through AccountAccessSO
- SYSTEMTIME LastChecked; //last check, access only through AccountAccessSO
- SYSTEMTIME LastSChecked; //last check (successfull), access only through AccountAccessSO
- SYSTEMTIME LastSynchronised; //last synchronisation (successfull), access only through AccountAccessSO
- SYSTEMTIME LastMail; //last check when new mail detected, access only through AccountAccessSO
+ SYSTEMTIME LastChecked; // last check, access only through AccountAccessSO
+ SYSTEMTIME LastSChecked; // last check (successfull), access only through AccountAccessSO
+ SYSTEMTIME LastSynchronised; // last synchronisation (successfull), access only through AccountAccessSO
+ SYSTEMTIME LastMail; // last check when new mail detected, access only through AccountAccessSO
- TCHAR Status[255]; //access only through GetStatusFcn() and SetStatusFcn() functions
+ TCHAR Status[255]; // access only through GetStatusFcn() and SetStatusFcn() functions
- DWORD TimeLeft; //access only through AccountAccessSO
+ DWORD TimeLeft; // access only through AccountAccessSO
- HANDLE Mails; //access only through MessagesAccessSO
+ HANDLE Mails; // access only through MessagesAccessSO
// Account members are mostly the same, but there can be protocol (POP3,IMAP...) special features.
// To use them, only inherit this class and add your own features.
@@ -322,7 +317,7 @@ struct CAccount : public MZeroedObject
// Use MsgsWaitToRead(),MsgsReadDone(),MsgsWaitToWrite(),MsgsWriteDone() synchronization functions
SWMRG MessagesAccessSO;
- //For clist contact notification
+ // For clist contact notification
MCONTACT hContact;
BOOL isCounting;
diff --git a/protocols/YAMN/src/debug.cpp b/protocols/YAMN/src/debug.cpp
index 65322366ab..92d5a0b3c4 100644
--- a/protocols/YAMN/src/debug.cpp
+++ b/protocols/YAMN/src/debug.cpp
@@ -11,19 +11,11 @@
#ifdef _DEBUG
-//--------------------------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------------------------
-
-wchar_t DebugUserDirectory[MAX_PATH] = L".";
-CRITICAL_SECTION FileAccessCS;
-
#ifdef DEBUG_COMM
-wchar_t DebugCommFileName2[]=L"%s\\yamn-debug.comm.log";
HANDLE CommFile;
#endif
#ifdef DEBUG_DECODE
-wchar_t DebugDecodeFileName2[]=L"%s\\yamn-debug.decode.log";
HANDLE DecodeFile;
#endif
@@ -32,80 +24,25 @@ HANDLE DecodeFile;
void InitDebug()
{
-#if defined (DEBUG_COMM) || defined (DEBUG_DECODE)
- wchar_t DebugFileName[MAX_PATH];
-#endif
- InitializeCriticalSection(&FileAccessCS);
-
#ifdef DEBUG_COMM
- mir_snwprintf(DebugFileName, DebugCommFileName2, DebugUserDirectory);
-
- CommFile=CreateFile(DebugFileName,GENERIC_WRITE,FILE_SHARE_WRITE|FILE_SHARE_READ,NULL,CREATE_ALWAYS,0,NULL);
- DebugLog(CommFile,"Communication debug file created by %s\n",YAMN_VER);
+ CommFile = mir_createLog("YAMN_comm", L"", VARSW(L"%miranda_userdata%\\yamn-debug.comm.log"), 0);
+ mir_writeLogA(CommFile,"Communication debug file created by %s\n",YAMN_VER);
#endif
#ifdef DEBUG_DECODE
- mir_snwprintf(DebugFileName, DebugDecodeFileName2, DebugUserDirectory);
-
- DecodeFile=CreateFile(DebugFileName,GENERIC_WRITE,FILE_SHARE_WRITE|FILE_SHARE_READ,NULL,CREATE_ALWAYS,0,NULL);
- DebugLog(DecodeFile,"Decoding kernel debug file created by %s\n",YAMN_VER);
+ DecodeFile = mir_createLog("YAMN_comm", L"", VARSW(L"%miranda_userdata%\\yamn-debug.decode.log"), 0);
+ mir_writeLogA(DecodeFile, "Decoding kernel debug file created by %s\n", YAMN_VER);
#endif
}
void UnInitDebug()
{
- DeleteCriticalSection(&FileAccessCS);
#ifdef DEBUG_COMM
- DebugLog(CommFile,"File is being closed normally.");
- CloseHandle(CommFile);
+ mir_writeLogA(CommFile,"File is being closed normally.");
#endif
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile,"File is being closed normally.");
- CloseHandle(DecodeFile);
+ mir_writeLogA(DecodeFile,"File is being closed normally.");
#endif
}
-
-void DebugLog(HANDLE File,const char *fmt,...)
-{
- char *str;
- char tids[32];
- va_list vararg;
- int strsize;
- DWORD Written;
-
- va_start(vararg,fmt);
- str=(char *)malloc(strsize=65536);
- mir_snprintf(tids, "[%x]",GetCurrentThreadId());
- while(mir_vsnprintf(str, strsize, fmt, vararg)==-1)
- str=(char *)realloc(str,strsize+=65536);
- va_end(vararg);
- EnterCriticalSection(&FileAccessCS);
- WriteFile(File,tids,(uint32_t)mir_strlen(tids),&Written,nullptr);
- WriteFile(File,str,(uint32_t)mir_strlen(str),&Written,nullptr);
- LeaveCriticalSection(&FileAccessCS);
- free(str);
-}
-
-void DebugLogW(HANDLE File,const wchar_t *fmt,...)
-{
- wchar_t *str;
- char tids[32];
- va_list vararg;
- int strsize;
- DWORD Written;
-
- va_start(vararg,fmt);
- str=(wchar_t *)malloc((strsize=65536)*sizeof(wchar_t));
- mir_snprintf(tids, "[%x]",GetCurrentThreadId());
- while(mir_vsnwprintf(str, strsize, fmt, vararg)==-1)
- str=(wchar_t *)realloc(str,(strsize+=65536)*sizeof(wchar_t));
- va_end(vararg);
- EnterCriticalSection(&FileAccessCS);
- WriteFile(File,tids,(uint32_t)mir_strlen(tids),&Written,nullptr);
- WriteFile(File,str,(uint32_t)mir_wstrlen(str)*sizeof(wchar_t),&Written,nullptr);
- LeaveCriticalSection(&FileAccessCS);
- free(str);
-}
-
#endif //ifdef DEBUG \ No newline at end of file
diff --git a/protocols/YAMN/src/debug.h b/protocols/YAMN/src/debug.h
index e2e8e3e506..3224faf406 100644
--- a/protocols/YAMN/src/debug.h
+++ b/protocols/YAMN/src/debug.h
@@ -3,21 +3,12 @@
#ifdef _DEBUG
-//#define DEBUG_COMM //debug communiation to a file
-//#define DEBUG_DECODE //debug header decoding to a file
-//#define DEBUG_DECODECODEPAGE //add info about codepage used in conversion
-//#define DEBUG_DECODEBASE64 //add info about base64 result
-//#define DEBUG_DECODEQUOTED //add info about quoted printable result
-//#define DEBUG_FILEREAD //debug file reading to message boxes
-//#define DEBUG_FILEREADMESSAGES //debug file reading messages to message boxes
-
-void DebugLog(HANDLE,const char *fmt,...);
-void DebugLogW(HANDLE File,const wchar_t *fmt,...);
-
-#ifdef DEBUG_SYNCHRO
-// Used for synchronization debug
-extern HANDLE SynchroFile;
-#endif
+//#define DEBUG_COMM // debug communication to a file
+//#define DEBUG_DECODE // debug header decoding to a file
+//#define DEBUG_DECODECODEPAGE // add info about codepage used in conversion
+//#define DEBUG_DECODEQUOTED // add info about quoted printable result
+//#define DEBUG_FILEREAD // debug file reading to message boxes
+//#define DEBUG_FILEREADMESSAGES // debug file reading messages to message boxes
#ifdef DEBUG_COMM
// Used for communication debug
@@ -30,21 +21,16 @@ extern HANDLE DecodeFile;
#endif
#if defined(DEBUG_FILEREAD) || defined(DEBUG_FILEREADMESSAGES)
-uint32_t ReadStringFromMemory(char **Parser,char *End,char **StoreTo,char *DebugString);
-
-uint32_t ReadStringFromMemoryW(char **Parser,wchar_t *End,char **StoreTo,wchar_t *DebugString);
-
+uint32_t ReadStringFromMemory(char **Parser, char *End, char **StoreTo, char *DebugString);
+
+uint32_t ReadStringFromMemoryW(char **Parser, wchar_t *End, char **StoreTo, wchar_t *DebugString);
+
#else
-uint32_t ReadStringFromMemory(char **Parser,char *End,char **StoreTo);
-
-uint32_t ReadStringFromMemoryW(wchar_t **Parser,wchar_t *End,wchar_t **StoreTo);
+uint32_t ReadStringFromMemory(char **Parser, char *End, char **StoreTo);
+
+uint32_t ReadStringFromMemoryW(wchar_t **Parser, wchar_t *End, wchar_t **StoreTo);
#endif
-//#ifdef DEBUG_ACCOUNTS
-//int GetAccounts();
-//void WriteAccounts();
-//#endif
-
#endif //YAMN_DEBUG
#endif //_DEBUG_H
diff --git a/protocols/YAMN/src/mails/decode.cpp b/protocols/YAMN/src/mails/decode.cpp
index 8d8b9e7324..9356d12c43 100644
--- a/protocols/YAMN/src/mails/decode.cpp
+++ b/protocols/YAMN/src/mails/decode.cpp
@@ -188,7 +188,7 @@ int GetCharsetFromString(char *input, size_t size)
*parser = 0;
#ifdef DEBUG_DECODECODEPAGE
- DebugLog(DecodeFile, "<CodePage>%s</CodePage>", pout);
+ mir_writeLogA(DecodeFile, "<CodePage>%s</CodePage>", pout);
#endif
for (int i = 0; i < CPLENALL; i++) {
@@ -239,7 +239,7 @@ int DecodeQuotedPrintable(char *Src, char *Dst, int DstLen, BOOL isQ)
{
#ifdef DEBUG_DECODEQUOTED
char *DstTemp = Dst;
- DebugLog(DecodeFile, "<Decode Quoted><Input>%s</Input>", Src);
+ mir_writeLogA(DecodeFile, "<Decode Quoted><Input>%s</Input>", Src);
#endif
for (auto *Limit = Dst + DstLen; *Src != 0 && Dst < Limit; Src++) {
@@ -279,7 +279,7 @@ int DecodeQuotedPrintable(char *Src, char *Dst, int DstLen, BOOL isQ)
*Dst = 0;
#ifdef DEBUG_DECODEQUOTED
- DebugLog(DecodeFile, "<Output>%s</Output></Decode Quoted>", DstTemp);
+ mir_writeLogA(DecodeFile, "<Output>%s</Output></Decode Quoted>", DstTemp);
#endif
return 1;
}
@@ -304,7 +304,7 @@ int ConvertStringToUnicode(char *stream, unsigned int cp, wchar_t **out)
cp = CP_ACP;
#ifdef DEBUG_DECODECODEPAGE
- DebugLog(DecodeFile, "<CodePage #>%d</CodePage #>", cp);
+ mir_writeLogA(DecodeFile, "<CodePage #>%d</CodePage #>", cp);
#endif
for (Index = 0; Index < sizeof(CodePagesZeroFlags) / sizeof(CodePagesZeroFlags[0]); Index++)
diff --git a/protocols/YAMN/src/mails/mime.cpp b/protocols/YAMN/src/mails/mime.cpp
index cc4261d236..87f863c2eb 100644
--- a/protocols/YAMN/src/mails/mime.cpp
+++ b/protocols/YAMN/src/mails/mime.cpp
@@ -209,55 +209,55 @@ void ExtractShortHeader(CMimeItem *items, CShortHeader *head)
if (items->value == nullptr)
continue;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting from>");
+ mir_writeLogA(DecodeFile, "<Extracting from>");
#endif
ExtractAddressFromLine(items->value, &head->From, &head->FromNick);
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Extracting>\n");
+ mir_writeLogA(DecodeFile, "</Extracting>\n");
#endif
}
else if (0 == _strnicmp(items->name, "Return-Path", 11)) {
if (items->value == nullptr)
continue;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting return-path>");
+ mir_writeLogA(DecodeFile, "<Extracting return-path>");
#endif
ExtractAddressFromLine(items->value, &head->ReturnPath, &head->ReturnPathNick);
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Extracting>\n");
+ mir_writeLogA(DecodeFile, "</Extracting>\n");
#endif
}
else if (0 == _strnicmp(items->name, "Subject", 7)) {
if (items->value == nullptr)
continue;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting subject>");
+ mir_writeLogA(DecodeFile, "<Extracting subject>");
#endif
ExtractStringFromLine(items->value, &head->Subject);
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Extracting>\n");
+ mir_writeLogA(DecodeFile, "</Extracting>\n");
#endif
}
else if (0 == _strnicmp(items->name, "Body", 4)) {
if (items->value == nullptr)
continue;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting body>");
+ mir_writeLogA(DecodeFile, "<Extracting body>");
#endif
ExtractStringFromLine(items->value, &head->Body);
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Extracting>\n");
+ mir_writeLogA(DecodeFile, "</Extracting>\n");
#endif
}
else if (0 == _strnicmp(items->name, "Date", 4)) {
if (items->value == nullptr)
continue;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting date>");
+ mir_writeLogA(DecodeFile, "<Extracting date>");
#endif
ExtractStringFromLine(items->value, &head->Date);
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Extracting>\n");
+ mir_writeLogA(DecodeFile, "</Extracting>\n");
#endif
}
else if (0 == _strnicmp(items->name, "Content-Type", 12)) {
@@ -266,11 +266,11 @@ void ExtractShortHeader(CMimeItem *items, CShortHeader *head)
char *ContentType = nullptr, *CharSetStr;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting Content-Type>");
+ mir_writeLogA(DecodeFile, "<Extracting Content-Type>");
#endif
ExtractStringFromLine(items->value, &ContentType);
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Extracting>\n");
+ mir_writeLogA(DecodeFile, "</Extracting>\n");
#endif
ToLower(ContentType);
if (nullptr != (CharSetStr = ExtractFromContentType(ContentType, "charset="))) {
@@ -283,7 +283,7 @@ void ExtractShortHeader(CMimeItem *items, CShortHeader *head)
if (items->value == nullptr)
continue;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting importance>");
+ mir_writeLogA(DecodeFile, "<Extracting importance>");
#endif
if (head->Priority != -1) {
if (0 == strncmp(items->value, "low", 3))
@@ -294,19 +294,19 @@ void ExtractShortHeader(CMimeItem *items, CShortHeader *head)
head->Priority = 1;
}
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Extracting>\n");
+ mir_writeLogA(DecodeFile, "</Extracting>\n");
#endif
}
else if (0 == _strnicmp(items->name, "X-Priority", 10)) {
if (items->value == nullptr)
continue;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<X-Priority>");
+ mir_writeLogA(DecodeFile, "<X-Priority>");
#endif
if ((*items->value >= '1') && (*items->value <= '5'))
head->Priority = *items->value - '0';
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Extracting>\n");
+ mir_writeLogA(DecodeFile, "</Extracting>\n");
#endif
}
@@ -387,7 +387,7 @@ void ExtractHeader(CMimeItem *items, int &CP, CHeader *head)
CShortHeader ShortHeader = {};
ShortHeader.Priority = ShortHeader.CP = -1;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting header>\n");
+ mir_writeLogA(DecodeFile, "<Extracting header>\n");
#endif
ExtractShortHeader(items, &ShortHeader);
@@ -395,61 +395,61 @@ void ExtractHeader(CMimeItem *items, int &CP, CHeader *head)
CP = ShortHeader.CP == -1 ? CP : ShortHeader.CP;
#ifdef DEBUG_DECODE
if (NULL != ShortHeader.From)
- DebugLog(DecodeFile, "<Decoded from>%s</Decoded)\n", ShortHeader.From);
+ mir_writeLogA(DecodeFile, "<Decoded from>%s</Decoded)\n", ShortHeader.From);
if (NULL != ShortHeader.FromNick)
- DebugLog(DecodeFile, "<Decoded from-nick>%s</Decoded)\n", ShortHeader.FromNick);
+ mir_writeLogA(DecodeFile, "<Decoded from-nick>%s</Decoded)\n", ShortHeader.FromNick);
if (NULL != ShortHeader.ReturnPath)
- DebugLog(DecodeFile, "<Decoded return-path>%s</Decoded)\n", ShortHeader.ReturnPath);
+ mir_writeLogA(DecodeFile, "<Decoded return-path>%s</Decoded)\n", ShortHeader.ReturnPath);
if (NULL != ShortHeader.ReturnPathNick)
- DebugLog(DecodeFile, "<Decoded return-path nick>%s</Decoded)\n", ShortHeader.ReturnPathNick);
+ mir_writeLogA(DecodeFile, "<Decoded return-path nick>%s</Decoded)\n", ShortHeader.ReturnPathNick);
if (NULL != ShortHeader.Subject)
- DebugLog(DecodeFile, "<Decoded subject>%s</Decoded)\n", ShortHeader.Subject);
+ mir_writeLogA(DecodeFile, "<Decoded subject>%s</Decoded)\n", ShortHeader.Subject);
if (NULL != ShortHeader.Date)
- DebugLog(DecodeFile, "<Decoded date>%s</Decoded)\n", ShortHeader.Date);
- DebugLog(DecodeFile, "</Extracting header>\n");
- DebugLog(DecodeFile, "<Convert>\n");
+ mir_writeLogA(DecodeFile, "<Decoded date>%s</Decoded)\n", ShortHeader.Date);
+ mir_writeLogA(DecodeFile, "</Extracting header>\n");
+ mir_writeLogA(DecodeFile, "<Convert>\n");
#endif
head->wszFrom = ConvertCodedStringToUnicode(ShortHeader.From, CP, MIME_PLAIN);
#ifdef DEBUG_DECODE
if (NULL != head->From)
- DebugLogW(DecodeFile, L"<Converted from>%s</Converted>\n", head->From);
+ mir_writeLogW(DecodeFile, L"<Converted from>%s</Converted>\n", head->From);
#endif
head->wszFromNick = ConvertCodedStringToUnicode(ShortHeader.FromNick, CP, MIME_MAIL);
#ifdef DEBUG_DECODE
if (NULL != head->FromNick)
- DebugLogW(DecodeFile, L"<Converted from-nick>%s</Converted>\n", head->FromNick);
+ mir_writeLogW(DecodeFile, L"<Converted from-nick>%s</Converted>\n", head->FromNick);
#endif
head->wszReturnPath = ConvertCodedStringToUnicode(ShortHeader.ReturnPath, CP, MIME_PLAIN);
#ifdef DEBUG_DECODE
if (NULL != head->ReturnPath)
- DebugLogW(DecodeFile, L"<Converted return-path>%s</Converted>\n", head->ReturnPath);
+ mir_writeLogW(DecodeFile, L"<Converted return-path>%s</Converted>\n", head->ReturnPath);
#endif
head->wszReturnPathNick = ConvertCodedStringToUnicode(ShortHeader.ReturnPathNick, CP, MIME_MAIL);
#ifdef DEBUG_DECODE
if (NULL != head->ReturnPathNick)
- DebugLogW(DecodeFile, L"<Converted return-path nick>%s</Converted>\n", head->ReturnPathNick);
+ mir_writeLogW(DecodeFile, L"<Converted return-path nick>%s</Converted>\n", head->ReturnPathNick);
#endif
head->wszSubject = ConvertCodedStringToUnicode(ShortHeader.Subject, CP, MIME_PLAIN);
#ifdef DEBUG_DECODE
if (NULL != head->Subject)
- DebugLogW(DecodeFile, L"<Converted subject>%s</Converted>\n", head->Subject);
+ mir_writeLogW(DecodeFile, L"<Converted subject>%s</Converted>\n", head->Subject);
#endif
head->wszDate = ConvertCodedStringToUnicode(ShortHeader.Date, CP, MIME_PLAIN);
#ifdef DEBUG_DECODE
if (NULL != head->Date)
- DebugLogW(DecodeFile, L"<Converted date>%s</Converted>\n", head->Date);
+ mir_writeLogW(DecodeFile, L"<Converted date>%s</Converted>\n", head->Date);
#endif
head->wszBody = ConvertCodedStringToUnicode(ShortHeader.Body, CP, MIME_PLAIN);
#ifdef DEBUG_DECODE
if (NULL != head->Body)
- DebugLogW(DecodeFile, L"<Converted Body>%s</Converted>\n", head->Body);
+ mir_writeLogW(DecodeFile, L"<Converted Body>%s</Converted>\n", head->Body);
#endif
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Convert>\n");
+ mir_writeLogA(DecodeFile, "</Convert>\n");
#endif
DeleteShortHeaderContent(&ShortHeader);
diff --git a/protocols/YAMN/src/proto/netlib.cpp b/protocols/YAMN/src/proto/netlib.cpp
index 21c1f771fa..4354b6e9be 100644
--- a/protocols/YAMN/src/proto/netlib.cpp
+++ b/protocols/YAMN/src/proto/netlib.cpp
@@ -33,7 +33,7 @@ void __stdcall SSL_DebugLog(const char *fmt, ...)
HANDLE RegisterNLClient(char *name)
{
#ifdef DEBUG_COMM
- DebugLog(CommFile, "<Register PROXY support>");
+ mir_writeLogA(CommFile, "<Register PROXY support>");
#endif
NETLIBUSER nlu = {};
@@ -44,9 +44,9 @@ HANDLE RegisterNLClient(char *name)
#ifdef DEBUG_COMM
if (NULL == hNetlibUser)
- DebugLog(CommFile, "<error></Register PROXY support>\n");
+ mir_writeLogA(CommFile, "<error></Register PROXY support>\n");
else
- DebugLog(CommFile, "</Register PROXY support>\n");
+ mir_writeLogA(CommFile, "</Register PROXY support>\n");
#endif
return hNetlibUser;
}
@@ -84,7 +84,7 @@ void CNLClient::Connect(const char *servername, const int port)
isTLSed = false;
#ifdef DEBUG_COMM
- DebugLog(CommFile, "<connect>\n");
+ mir_writeLogA(CommFile, "<connect>\n");
#endif
try {
if (nullptr == (hConnection = Netlib_OpenConnection(hNetlibUser, servername, port))) {
@@ -92,13 +92,13 @@ void CNLClient::Connect(const char *servername, const int port)
throw NetworkError = (uint32_t)ENL_CONNECT;
}
#ifdef DEBUG_COMM
- DebugLog(CommFile, "</connect>\n");
+ mir_writeLogA(CommFile, "</connect>\n");
#endif
return;
}
catch (...) {
#ifdef DEBUG_COMM
- DebugLog(CommFile, "<error></connect>\n");
+ mir_writeLogA(CommFile, "<error></connect>\n");
#endif
throw;
}
@@ -120,7 +120,7 @@ void CNLClient::Send(const char *query)
if (hConnection == nullptr)
return;
#ifdef DEBUG_COMM
- DebugLog(CommFile, "<send>%s", query);
+ mir_writeLogA(CommFile, "<send>%s", query);
#endif
try {
if ((SOCKET_ERROR == (Sent = LocalNetlib_Send(hConnection, query, (int)mir_strlen(query), MSG_DUMPASTEXT))) || Sent != (unsigned int)mir_strlen(query)) {
@@ -128,12 +128,12 @@ void CNLClient::Send(const char *query)
throw NetworkError = (uint32_t)ENL_SEND;
}
#ifdef DEBUG_COMM
- DebugLog(CommFile, "</send>\n");
+ mir_writeLogA(CommFile, "</send>\n");
#endif
}
catch (...) {
#ifdef DEBUG_COMM
- DebugLog(CommFile, "<error></send>\n");
+ mir_writeLogA(CommFile, "<error></send>\n");
#endif
throw;
}
@@ -161,7 +161,7 @@ int CNLClient::LocalNetlib_Recv(HNETLIBCONN hConn, char *buf, int len, int flags
char *CNLClient::Recv(char *buf, int buflen)
{
#ifdef DEBUG_COMM
- DebugLog(CommFile, "<reading>");
+ mir_writeLogA(CommFile, "<reading>");
#endif
try {
if (buf == nullptr)
@@ -197,14 +197,14 @@ char *CNLClient::Recv(char *buf, int buflen)
}
#ifdef DEBUG_COMM
*(buf + Rcv) = 0; //end the buffer to write it to file
- DebugLog(CommFile, "%s", buf);
- DebugLog(CommFile, "</reading>\n");
+ mir_writeLogA(CommFile, "%s", buf);
+ mir_writeLogA(CommFile, "</reading>\n");
#endif
return(buf);
}
catch (...) {
#ifdef DEBUG_COMM
- DebugLog(CommFile, "<error></reading>\n");
+ mir_writeLogA(CommFile, "<error></reading>\n");
#endif
throw;
}
@@ -221,12 +221,12 @@ void CNLClient::Disconnect()
void UnregisterNLClient()
{
#ifdef DEBUG_COMM
- DebugLog(CommFile, "<Unregister PROXY support>");
+ mir_writeLogA(CommFile, "<Unregister PROXY support>");
#endif
Netlib_CloseHandle(hNetlibUser);
hNetlibUser = nullptr;
#ifdef DEBUG_COMM
- DebugLog(CommFile, "</Unregister PROXY support>\n");
+ mir_writeLogA(CommFile, "</Unregister PROXY support>\n");
#endif
}
diff --git a/protocols/YAMN/src/proto/pop3/pop3.cpp b/protocols/YAMN/src/proto/pop3/pop3.cpp
index 8d24a5218c..31bb24314f 100644
--- a/protocols/YAMN/src/proto/pop3/pop3.cpp
+++ b/protocols/YAMN/src/proto/pop3/pop3.cpp
@@ -41,7 +41,7 @@ char *CPop3Client::Connect(const char *servername, const int port, BOOL UseSSL,
NetClient = new CNLClient;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "Connect:servername: %s port:%d\n", servername, port);
+ mir_writeLogA(DecodeFile, "Connect:servername: %s port:%d\n", servername, port);
#endif
POP3Error = EPOP3_CONNECT;
NetClient->Connect(servername, port);
diff --git a/protocols/YAMN/src/proto/pop3/pop3comm.cpp b/protocols/YAMN/src/proto/pop3/pop3comm.cpp
index c734847ff5..89c5c4e359 100644
--- a/protocols/YAMN/src/proto/pop3/pop3comm.cpp
+++ b/protocols/YAMN/src/proto/pop3/pop3comm.cpp
@@ -583,7 +583,7 @@ void MIR_CDECL SynchroPOP3(CheckParam *WhichTemp)
TranslateHeaderFcn(Temp, MyClient->NetClient->Rcv - (Temp - DataRX), &MsgQueuePtr->MailData->TranslatedHeader);
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</New mail>\n");
+ mir_writeLogA(DecodeFile, "</New mail>\n");
#endif
MsgQueuePtr->Flags |= YAMN_MSG_NORMALNEW;
if (autoretr)
@@ -655,7 +655,7 @@ void MIR_CDECL SynchroPOP3(CheckParam *WhichTemp)
if (ActualAccount->Client.POP3Error == EPOP3_STOPPED)
ActualAccount->SystemError = EACC_STOPPED;
#ifdef DEBUG_COMM
- DebugLog(CommFile, "ERROR: %x\n", ErrorCode);
+ mir_writeLogA(CommFile, "ERROR: %x\n", ErrorCode);
#endif
{
SWriteGuard swm(ActualAccount->MessagesAccessSO);
@@ -684,7 +684,7 @@ void MIR_CDECL SynchroPOP3(CheckParam *WhichTemp)
}
#ifdef DEBUG_COMM
- DebugLog(CommFile, "</--------Communication-------->\n");
+ mir_writeLogA(CommFile, "</--------Communication-------->\n");
#endif
}
@@ -743,7 +743,7 @@ void __cdecl DeleteMailsPOP3(void *param)
try {
SetContactStatus(ActualAccount, ID_STATUS_OCCUPIED);
#ifdef DEBUG_COMM
- DebugLog(CommFile, "<--------Communication-------->\n");
+ mir_writeLogA(CommFile, "<--------Communication-------->\n");
#endif
if ((MyClient->NetClient == nullptr) || !MyClient->NetClient->Connected()) {
SetStatusFcn(ActualAccount, TranslateT("Connecting to server"));
@@ -787,7 +787,7 @@ void __cdecl DeleteMailsPOP3(void *param)
}
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<--------Deleting requested mails-------->\n");
+ mir_writeLogA(DecodeFile, "<--------Deleting requested mails-------->\n");
#endif
if (POP3_DELETEFROMCHECK != POP3PluginParam) // We do not need to get mails on server as we have already it from check function
{
@@ -796,13 +796,13 @@ void __cdecl DeleteMailsPOP3(void *param)
char *DataRX = MyClient->Stat();
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting stat>\n");
+ mir_writeLogA(DecodeFile, "<Extracting stat>\n");
#endif
ExtractStat(DataRX, &mboxsize, &msgs);
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<MailBoxSize>%d</MailBoxSize>\n", mboxsize);
- DebugLog(DecodeFile, "<Msgs>%d</Msgs>\n", msgs);
- DebugLog(DecodeFile, "</Extracting stat>\n");
+ mir_writeLogA(DecodeFile, "<MailBoxSize>%d</MailBoxSize>\n", mboxsize);
+ mir_writeLogA(DecodeFile, "<Msgs>%d</Msgs>\n", msgs);
+ mir_writeLogA(DecodeFile, "</Extracting stat>\n");
#endif
if (DataRX != nullptr)
free(DataRX);
@@ -822,12 +822,12 @@ void __cdecl DeleteMailsPOP3(void *param)
if (msgs) {
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Extracting UIDL>\n");
+ mir_writeLogA(DecodeFile, "<Extracting UIDL>\n");
#endif
DataRX = MyClient->Uidl();
ExtractUIDL(DataRX, MyClient->NetClient->Rcv, NewMails);
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</Extracting UIDL>\n");
+ mir_writeLogA(DecodeFile, "</Extracting UIDL>\n");
#endif
if (DataRX != nullptr)
free(DataRX);
@@ -894,7 +894,7 @@ void __cdecl DeleteMailsPOP3(void *param)
}
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "</--------Deleting requested mails-------->\n");
+ mir_writeLogA(DecodeFile, "</--------Deleting requested mails-------->\n");
#endif
// TODO: now, we have in NewMails new mails. If NewMails is not NULL, we found some new mails, so Checking for new mail should be performed
@@ -931,7 +931,7 @@ void __cdecl DeleteMailsPOP3(void *param)
if (ActualAccount->Client.POP3Error == EPOP3_STOPPED)
ActualAccount->SystemError = EACC_STOPPED;
#ifdef DEBUG_COMM
- DebugLog(CommFile, "ERROR %x\n", ErrorCode);
+ mir_writeLogA(CommFile, "ERROR %x\n", ErrorCode);
#endif
switch (ActualAccount->SystemError) {
@@ -951,7 +951,7 @@ void __cdecl DeleteMailsPOP3(void *param)
DeleteMessagesToEndFcn(ActualAccount, DeleteMails);
#ifdef DEBUG_COMM
- DebugLog(CommFile, "</--------Communication-------->\n");
+ mir_writeLogA(CommFile, "</--------Communication-------->\n");
#endif
// WriteAccounts();
@@ -989,14 +989,14 @@ void ExtractMail(char *stream, int len, HYAMNMAIL queue)
if (DOTLINE(finder + 1)) // at the end of stream
break;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Message>\n");
+ mir_writeLogA(DecodeFile, "<Message>\n");
#endif
SkipSpaces(finder); // jump whitespace
if (1 != sscanf(finder, "%d", &msgnr))
throw (uint32_t)EPOP3_UIDL;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Nr>%d</Nr>\n", msgnr);
+ mir_writeLogA(DecodeFile, "<Nr>%d</Nr>\n", msgnr);
#endif
SkipNonSpaces(finder);
@@ -1009,8 +1009,8 @@ void ExtractMail(char *stream, int len, HYAMNMAIL queue)
queueptr->MailData->Body[i] = 0; // ends string
queueptr->Number = msgnr;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<ID>%s</ID>\n", queueptr->MailData->Body);
- DebugLog(DecodeFile, "</Message>\n");
+ mir_writeLogA(DecodeFile, "<ID>%s</ID>\n", queueptr->MailData->Body);
+ mir_writeLogA(DecodeFile, "</Message>\n");
#endif
queueptr = queueptr->Next;
while (!ENDLINE(finder)) finder++;
@@ -1032,13 +1032,13 @@ void ExtractUIDL(char *stream, int len, HYAMNMAIL queue)
if (DOTLINE(finder + 1)) // at the end of stream
break;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Message>\n");
+ mir_writeLogA(DecodeFile, "<Message>\n");
#endif
SkipSpaces(finder);
if (1 != sscanf(finder, "%d", &msgnr))
throw (uint32_t)EPOP3_UIDL;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Nr>%d</Nr>\n", msgnr);
+ mir_writeLogA(DecodeFile, "<Nr>%d</Nr>\n", msgnr);
#endif
// for (i=1,queueptr=queue;(queueptr->Next != NULL) && (i<msgnr);queueptr=queueptr->Next,i++);
// if (i != msgnr)
@@ -1053,8 +1053,8 @@ void ExtractUIDL(char *stream, int len, HYAMNMAIL queue)
queueptr->ID[i] = 0; // ends string
queueptr->Number = msgnr;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<ID>%s</ID>\n", queueptr->ID);
- DebugLog(DecodeFile, "</Message>\n");
+ mir_writeLogA(DecodeFile, "<ID>%s</ID>\n", queueptr->ID);
+ mir_writeLogA(DecodeFile, "</Message>\n");
#endif
queueptr = queueptr->Next;
while (!ENDLINE(finder)) finder++;
@@ -1076,13 +1076,13 @@ void ExtractList(char *stream, int len, HYAMNMAIL queue)
if (DOTLINE(finder + 1)) // at the end of stream
break;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Message>\n", NULL, 0);
+ mir_writeLogA(DecodeFile, "<Message>\n", NULL, 0);
#endif
SkipSpaces(finder);
if (1 != sscanf(finder, "%d", &msgnr)) // message nr.
throw (uint32_t)EPOP3_LIST;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Nr>%d</Nr>\n", msgnr);
+ mir_writeLogA(DecodeFile, "<Nr>%d</Nr>\n", msgnr);
#endif
for (i = 1, queueptr = queue; (queueptr->Next != nullptr) && (i < msgnr); queueptr = queueptr->Next, i++);
@@ -1095,7 +1095,7 @@ void ExtractList(char *stream, int len, HYAMNMAIL queue)
if (1 != sscanf(finder, "%u", &queueptr->MailData->Size))
throw (uint32_t)EPOP3_LIST;
#ifdef DEBUG_DECODE
- DebugLog(DecodeFile, "<Nr>%d</Nr>\n", queueptr->MailData->Size);
+ mir_writeLogA(DecodeFile, "<Nr>%d</Nr>\n", queueptr->MailData->Size);
#endif
while (!ENDLINE(finder)) finder++;
}