1
0
mirror of https://github.com/winscp/winscp.git synced 2026-10-24 02:28:55 +03:00
Files
winscp/source/core/Global.cpp
Martin Prikryl 0d64cc1278 Issue 2352 – Remember empty session password
https://winscp.net/tracker/2352

Source commit: 8deb7a84540894f0ce1a0b3c0ff08ebffdaa44df
2025-02-28 14:27:35 +01:00

59 lines
1.9 KiB
C++

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Global.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
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();
}
//---------------------------------------------------------------------------