diff -r 000000000000 -r 7f656887cf89 plugins/consoles/rcons/server/win32/Misc.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/consoles/rcons/server/win32/Misc.cpp Wed Jun 23 15:52:26 2010 +0100 @@ -0,0 +1,100 @@ +// Misc.cpp +// +// Copyright (c) 2010 Accenture. All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Accenture - Initial contribution +// +#include "Misc.h" + +void* operator new(size_t n, TThrow) + { + void* cell = ::operator new(n); + if (!cell) + { + throw KExceptionNoMemory; + } + return cell; + } + +void operator delete(void* const p, TThrow) + { + ::operator delete(p); + } + +void* operator new[](size_t n, TThrow) + { + void* cell = ::operator new[](n); + if (!cell) + { + throw KExceptionNoMemory; + } + return cell; + } + +void operator delete[](void* const p, TThrow) + { + ::operator delete[](p); + } + +void Panic() + { + _asm int 3; + } + +void DebugLog(LPCTSTR aFormat, ...) + { + const int KMaxFormatBuf = 256; + va_list args; + va_start(args, aFormat); + TCHAR buf[KMaxFormatBuf]; + int length = _vsnwprintf(buf, KMaxFormatBuf, aFormat, args); + OutputDebugString(buf); + OutputDebugString(TEXT("\r\n")); + } + +bool FileExists(LPCTSTR aFileName) + { + int att = GetFileAttributes(aFileName); + return (att > 0); + } + +void ConvertNarrowToWide(const char* aNarrow, int aLength, WCHAR* aWide) + { + for (int i = 0; i < aLength; ++i) + { + aWide[i] = (unsigned short)aNarrow[i]; + } + aWide[aLength] = TCHAR('\0'); + } + +void ConvertNarrowToWideAlloc(const char* aNarrow, int aLength, WCHAR*& aWide) + { + aWide = new WCHAR[aLength + 1]; + if (aWide) + { + ConvertNarrowToWide(aNarrow, aLength, aWide); + } + } + +void ConvertWideToNarrow(const WCHAR* aWide, int aLength, char* aNarrow) + { + for (int i = 0; i < aLength; ++i) + { + aNarrow[i] = (char)aWide[i]; + } + aNarrow[aLength] = '\0'; + } + +void ConvertWideToNarrowAlloc(const WCHAR* aWide, int aLength, char*& aNarrow) + { + aNarrow = new char[aLength + 1]; + if (aNarrow) + { + ConvertWideToNarrow(aWide, aLength, aNarrow); + } + }