mirror of
https://github.com/winscp/winscp.git
synced 2026-10-24 02:28:55 +03:00
55 lines
1.8 KiB
C++
55 lines
1.8 KiB
C++
//---------------------------------------------------------------------------
|
|
#include <CorePCH.h>
|
|
#pragma hdrstop
|
|
//---------------------------------------------------------------------------
|
|
const UnicodeString EmptyString(TraceInitStr(L"\1\1\1")); // magic
|
|
//---------------------------------------------------------------------------
|
|
UnicodeString NormalizeString(const UnicodeString & S)
|
|
{
|
|
UnicodeString Result = S;
|
|
if (Result == EmptyString)
|
|
{
|
|
Result = UnicodeString();
|
|
}
|
|
return Result;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
UnicodeString DenormalizeString(const UnicodeString & S)
|
|
{
|
|
UnicodeString Result = S;
|
|
if (Result.IsEmpty())
|
|
{
|
|
Result = EmptyString;
|
|
}
|
|
return Result;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
// TGuard
|
|
//---------------------------------------------------------------------------
|
|
__fastcall TGuard::TGuard(TCriticalSection * ACriticalSection) :
|
|
FCriticalSection(ACriticalSection)
|
|
{
|
|
DebugAssert(ACriticalSection != NULL);
|
|
FCriticalSection->Enter();
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
__fastcall TGuard::~TGuard()
|
|
{
|
|
FCriticalSection->Leave();
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
// TUnguard
|
|
//---------------------------------------------------------------------------
|
|
__fastcall TUnguard::TUnguard(TCriticalSection * ACriticalSection) :
|
|
FCriticalSection(ACriticalSection)
|
|
{
|
|
DebugAssert(ACriticalSection != NULL);
|
|
FCriticalSection->Leave();
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
__fastcall TUnguard::~TUnguard()
|
|
{
|
|
FCriticalSection->Enter();
|
|
}
|
|
//---------------------------------------------------------------------------
|