SetupEnvironment() - clean commit

This commit is contained in:
Stuart Cardall 2014-05-13 10:15:00 +00:00
parent bfae70aae6
commit 5248ff4099
5 changed files with 23 additions and 0 deletions

View File

@ -58,6 +58,8 @@ static bool AppInitRPC(int argc, char* argv[])
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
SetupEnvironment();
try try
{ {
if(!AppInitRPC(argc, argv)) if(!AppInitRPC(argc, argv))

View File

@ -172,6 +172,8 @@ bool AppInit(int argc, char* argv[])
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
SetupEnvironment();
bool fRet = false; bool fRet = false;
// Connect bitcoind signal handlers // Connect bitcoind signal handlers

View File

@ -459,6 +459,8 @@ WId BitcoinApplication::getMainWinId() const
#ifndef BITCOIN_QT_TEST #ifndef BITCOIN_QT_TEST
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
SetupEnvironment();
/// 1. Parse command-line options. These take precedence over anything else. /// 1. Parse command-line options. These take precedence over anything else.
// Command-line options take precedence: // Command-line options take precedence:
ParseParameters(argc, argv); ParseParameters(argc, argv);

View File

@ -1404,3 +1404,19 @@ bool ParseInt32(const std::string& str, int32_t *out)
n <= std::numeric_limits<int32_t>::max(); n <= std::numeric_limits<int32_t>::max();
} }
void SetupEnvironment()
{
#ifndef WIN32
try
{
#if BOOST_FILESYSTEM_VERSION == 3
boost::filesystem::path::codecvt(); // Raises runtime error if current locale is invalid
#else // boost filesystem v2
std::locale(); // Raises runtime error if current locale is invalid
#endif
} catch(std::runtime_error &e)
{
setenv("LC_ALL", "C", 1); // Force C locale
}
#endif
}

View File

@ -106,6 +106,7 @@ extern volatile bool fReopenDebugLog;
void RandAddSeed(); void RandAddSeed();
void RandAddSeedPerfmon(); void RandAddSeedPerfmon();
void SetupEnvironment();
/* Return true if log accepts specified category */ /* Return true if log accepts specified category */
bool LogAcceptCategory(const char* category); bool LogAcceptCategory(const char* category);