X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Futil.cpp;h=0c3132425e6cbaa2f6e8d1dd7fdf1fea17118782;hb=3176e0f244d929669aa3e1d81e0787d82d9150d3;hp=a40771417b2ba28b58fe9a51eee1503266e7d54f;hpb=23e7583a8c9a0dcee9cbbf3be8bfc453298773f0;p=novacoin.git diff --git a/src/util.cpp b/src/util.cpp index a407714..0c31324 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1,5 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers +// Copyright (c) 2011-2012 The PPCoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -53,6 +54,10 @@ namespace boost { #include "shlwapi.h" #endif +#ifndef WIN32 +#include +#endif + using namespace std; using namespace boost; @@ -150,7 +155,7 @@ void RandAddSeedPerfmon() { RAND_add(pdata, nSize, nSize/100.0); memset(pdata, 0, nSize); - printf("%s RandAddSeed() %d bytes\n", DateTimeStrFormat("%x %H:%M", GetTime()).c_str(), nSize); + printf("%s RandAddSeed() %d bytes\n", DateTimeStrFormat(GetTime()).c_str(), nSize); } #endif } @@ -189,7 +194,7 @@ uint256 GetRandHash() - +static FILE* fileout = NULL; inline int OutputDebugStringF(const char* pszFormat, ...) { @@ -205,8 +210,6 @@ inline int OutputDebugStringF(const char* pszFormat, ...) else { // print to debug.log - static FILE* fileout = NULL; - if (!fileout) { boost::filesystem::path pathDebug = GetDataDir() / "debug.log"; @@ -221,7 +224,7 @@ inline int OutputDebugStringF(const char* pszFormat, ...) // Debug print useful for profiling if (fLogTimestamps && fStartedNewLine) - fprintf(fileout, "%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str()); + fprintf(fileout, "%s ", DateTimeStrFormat(GetTime()).c_str()); if (pszFormat[strlen(pszFormat) - 1] == '\n') fStartedNewLine = true; else @@ -371,7 +374,7 @@ string FormatMoney(int64 n, bool fPlus) int64 n_abs = (n > 0 ? n : -n); int64 quotient = n_abs/COIN; int64 remainder = n_abs%COIN; - string str = strprintf("%"PRI64d".%08"PRI64d, quotient, remainder); + string str = strprintf("%"PRI64d".%06"PRI64d, quotient, remainder); // Right-trim excess 0's before the decimal point: int nTrim = 0; @@ -774,7 +777,7 @@ void FormatException(char* pszMessage, std::exception* pex, const char* pszThrea pszModule[0] = '\0'; GetModuleFileNameA(NULL, pszModule, sizeof(pszModule)); #else - const char* pszModule = "bitcoin"; + const char* pszModule = "novacoin"; #endif if (pex) snprintf(pszMessage, 1000, @@ -801,6 +804,19 @@ void PrintException(std::exception* pex, const char* pszThread) throw; } +void LogStackTrace() { + printf("\n\n******* exception encountered *******\n"); + if (fileout) + { +#ifndef WIN32 + void* pszBuffer[32]; + size_t size; + size = backtrace(pszBuffer, 32); + backtrace_symbols_fd(pszBuffer, size, fileno(fileout)); +#endif + } +} + void PrintExceptionContinue(std::exception* pex, const char* pszThread) { char pszMessage[10000]; @@ -836,12 +852,12 @@ boost::filesystem::path GetDefaultDataDir() { namespace fs = boost::filesystem; - // Windows: C:\Documents and Settings\username\Application Data\Bitcoin - // Mac: ~/Library/Application Support/Bitcoin - // Unix: ~/.bitcoin + // Windows: C:\Documents and Settings\username\Application Data\NovaCoin + // Mac: ~/Library/Application Support/NovaCoin + // Unix: ~/.ppcoin #ifdef WIN32 // Windows - return MyGetSpecialFolderPath(CSIDL_APPDATA, true) / "Bitcoin"; + return MyGetSpecialFolderPath(CSIDL_APPDATA, true) / "NovaCoin"; #else fs::path pathRet; char* pszHome = getenv("HOME"); @@ -853,10 +869,10 @@ boost::filesystem::path GetDefaultDataDir() // Mac pathRet /= "Library/Application Support"; fs::create_directory(pathRet); - return pathRet / "Bitcoin"; + return pathRet / "NovaCoin"; #else // Unix - return pathRet / ".bitcoin"; + return pathRet / ".novacoin"; #endif #endif } @@ -900,7 +916,7 @@ boost::filesystem::path GetConfigFile() { namespace fs = boost::filesystem; - fs::path pathConfigFile(GetArg("-conf", "bitcoin.conf")); + fs::path pathConfigFile(GetArg("-conf", "novacoin.conf")); if (!pathConfigFile.is_complete()) pathConfigFile = GetDataDir(false) / pathConfigFile; return pathConfigFile; } @@ -936,7 +952,7 @@ boost::filesystem::path GetPidFile() { namespace fs = boost::filesystem; - fs::path pathPidFile(GetArg("-pid", "bitcoind.pid")); + fs::path pathPidFile(GetArg("-pid", "novacoind.pid")); if (!pathPidFile.is_complete()) pathPidFile = GetDataDir() / pathPidFile; return pathPidFile; } @@ -1055,10 +1071,10 @@ void AddTimeData(const CNetAddr& ip, int64 nTime) if (!fMatch) { fDone = true; - string strMessage = _("Warning: Please check that your computer's date and time are correct. If your clock is wrong Bitcoin will not work properly."); + string strMessage = _("Warning: Please check that your computer's date and time are correct. If your clock is wrong NovaCoin will not work properly."); strMiscWarning = strMessage; printf("*** %s\n", strMessage.c_str()); - ThreadSafeMessageBox(strMessage+" ", string("Bitcoin"), wxOK | wxICON_EXCLAMATION); + ThreadSafeMessageBox(strMessage+" ", string("NovaCoin"), wxOK | wxICON_EXCLAMATION); } } } @@ -1106,7 +1122,7 @@ std::string FormatSubVersion(const std::string& name, int nClientVersion, const #ifdef WIN32 boost::filesystem::path static StartupShortcutPath() { - return MyGetSpecialFolderPath(CSIDL_STARTUP, true) / "Bitcoin.lnk"; + return MyGetSpecialFolderPath(CSIDL_STARTUP, true) / "NovaCoin.lnk"; } bool GetStartOnSystemStartup() @@ -1187,7 +1203,7 @@ boost::filesystem::path static GetAutostartDir() boost::filesystem::path static GetAutostartFilePath() { - return GetAutostartDir() / "bitcoin.desktop"; + return GetAutostartDir() / "novacoin.desktop"; } bool GetStartOnSystemStartup() @@ -1228,7 +1244,7 @@ bool SetStartOnSystemStartup(bool fAutoStart) // Write a bitcoin.desktop file to the autostart directory: optionFile << "[Desktop Entry]\n"; optionFile << "Type=Application\n"; - optionFile << "Name=Bitcoin\n"; + optionFile << "Name=NovaCoin\n"; optionFile << "Exec=" << pszExePath << " -min\n"; optionFile << "Terminal=false\n"; optionFile << "Hidden=false\n";