summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/ConnectionNotify/src/debug.cpp63
1 files changed, 6 insertions, 57 deletions
diff --git a/plugins/ConnectionNotify/src/debug.cpp b/plugins/ConnectionNotify/src/debug.cpp
index 3b49eebe41..62aa9d9dae 100644
--- a/plugins/ConnectionNotify/src/debug.cpp
+++ b/plugins/ConnectionNotify/src/debug.cpp
@@ -2,63 +2,12 @@
void _OutputDebugString(TCHAR* lpOutputString, ...)
{
- TCHAR OutMsg[MAX_LENGTH];
- TCHAR format[MAX_LENGTH];
- int i, j;
- va_list argptr;
+ CMString format;
+ va_list args;
+ va_start(args, lpOutputString);
+ format.FormatV(lpOutputString, args);
+ va_end(args);
- va_start(argptr, lpOutputString);
-
-
-
- for (i = 0, j = 0; lpOutputString[i] != '\0'; i++)
- {
- format[j++] = lpOutputString[i];
- format[j] = '\0';
-
- if (lpOutputString[i] != '%')
- continue;
-
- format[j++] = lpOutputString[++i];
- format[j] = '\0';
- switch (lpOutputString[i])
- {
- // string
- case 's':
- {
- TCHAR* s = va_arg(argptr, TCHAR *);
- mir_sntprintf(OutMsg, format, s);
- _tcsncpy(format, OutMsg, _countof(OutMsg));
- j = (int)mir_tstrlen(format);
- mir_tstrcat(format, _T(" "));
- break;
- }
- // character
- case 'c':
- {
- char c = (char)va_arg(argptr, int);
- mir_sntprintf(OutMsg, format, c);
- _tcsncpy(format, OutMsg, _countof(OutMsg));
- j = (int)mir_tstrlen(format);
- mir_tstrcat(format, _T(" "));
- break;
- }
- // integer
- case 'd':
- {
- int d = va_arg(argptr, int);
- mir_sntprintf(OutMsg, format, d);
- _tcsncpy(format, OutMsg, _countof(OutMsg));
- j = (int)mir_tstrlen(format);
- mir_tstrcat(format, _T(" "));
- break;
- }
- }
- format[j + 1] = '\0';
- }
- mir_tstrcat(format, _T("\n"));
+ format.AppendChar('\n');
OutputDebugString(format);
-
- va_end(argptr);
-
}