diff options
Diffstat (limited to 'plugins/ConnectionNotify/src/debug.cpp')
| -rw-r--r-- | plugins/ConnectionNotify/src/debug.cpp | 75 | 
1 files changed, 75 insertions, 0 deletions
diff --git a/plugins/ConnectionNotify/src/debug.cpp b/plugins/ConnectionNotify/src/debug.cpp new file mode 100644 index 0000000000..d6bff90fe1 --- /dev/null +++ b/plugins/ConnectionNotify/src/debug.cpp @@ -0,0 +1,75 @@ +#include "debug.h"
 +
 +#define MAX_LENGTH 512
 +
 +
 +void _OutputDebugString(TCHAR* lpOutputString, ... )
 +{
 +    TCHAR OutMsg[MAX_LENGTH];
 +    TCHAR format[MAX_LENGTH];
 +	int i,j;
 +    va_list argptr;    
 +    
 +    va_start( argptr, lpOutputString );            
 +    
 +
 +    
 +    for(i=0,j=0;lpOutputString[i] != '\0';i++) 
 +    {
 +        format[j++] = lpOutputString[i];
 +		format[j] = '\0';
 +        // If escape character
 +        //if(lpOutputString[i] == '\\')
 +        //{
 +        //    i++;
 +        //    continue;
 +        //}
 +        // if not a substitutal character
 +        if(lpOutputString[i] != '%')
 +            continue;
 +        
 +        format[j++] = lpOutputString[++i];
 +        format[j] = '\0';
 +        switch(lpOutputString[i])
 +        {
 +            // string
 +        case 's':
 +            {
 +                TCHAR* s = va_arg( argptr, TCHAR * );
 +                _stprintf(OutMsg,format,s);
 +                _tcsncpy(format,OutMsg,_countof(OutMsg));
 +                j = _tcslen(format);
 +                _tcscat(format,_T(" "));
 +                break;
 +            }
 +            // character
 +        case 'c':
 +            {
 +                char c = (char) va_arg( argptr, int );
 +                _stprintf(OutMsg,format,c);
 +                _tcsncpy(format,OutMsg,_countof(OutMsg));
 +                j = _tcslen(format);
 +                _tcscat(format,_T(" "));
 +                break;
 +            }
 +            // integer
 +        case 'd':
 +            {
 +                int d = va_arg( argptr, int );
 +                _stprintf(OutMsg,format,d);
 +                _tcsncpy(format,OutMsg,_countof(OutMsg));
 +                j = _tcslen(format);
 +                _tcscat(format,_T(" "));
 +                break;
 +            }
 +        }
 +		format[j+1] = '\0';
 +    }
 +	_tcscat(format,_T("\n"));
 +    OutputDebugString(format);
 +
 +    va_end( argptr );
 +
 +}
 +
 +
  | 
