//Ways to enable debugs output: // - set env variable JAVAFX_LAUNCHER_DEBUG // - pass /Debug on the command line static void enableDebugIfNeeded(int argCount, LPTSTR *szArgList) { TCHAR* buffer = NULL; size_t bufferLen = 0; //see if first arg is /Debug //Only allow system command to be in front! if (szArgList && argCount > 1) { if (!_tcsicmp(_T("/Debug"), szArgList[1])) { isDebug = true; return; } } //Check if env variable is set _tdupenv_s(&buffer, &bufferLen, _T("JAVAFX_LAUNCHER_DEBUG")); if (buffer != NULL) { //env variable set isDebug = true; free(buffer); } }
int Utility::getTempDirectory(CString& strTemp) { TCHAR* pszTempVar = NULL; #if _MSC_VER<1400 pszTempVar = _tgetenv(_T("TEMP")); strTemp = CString(pszTempVar); #else size_t len = 0; errno_t err = _tdupenv_s(&pszTempVar, &len, _T("TEMP")); if(err!=0) { // Couldn't get environment variable TEMP return 1; } strTemp = CString(pszTempVar); free(pszTempVar); #endif return 0; }
BOOL CGit::CheckMsysGitDir() { static BOOL bInitialized = FALSE; if (bInitialized) { return TRUE; } TCHAR *oldpath,*home; size_t size; // set HOME if not set already _tgetenv_s(&size, NULL, 0, _T("HOME")); if (!size) { _tdupenv_s(&home,&size,_T("USERPROFILE")); _tputenv_s(_T("HOME"),home); free(home); } //setup ssh client CRegString sshclient=CRegString(_T("Software\\TortoiseGit\\SSH")); CString ssh=sshclient; if(!ssh.IsEmpty()) { _tputenv_s(_T("GIT_SSH"),ssh); }else { _tputenv_s(_T("GIT_SSH"),_T("")); } // search PATH if git/bin directory is alredy present if ( FindGitPath() ) { bInitialized = TRUE; return TRUE; } // add git/bin path to PATH CRegString msysdir=CRegString(REG_MSYSGIT_PATH,_T(""),FALSE,HKEY_LOCAL_MACHINE); CString str=msysdir; if(str.IsEmpty()) { CRegString msysinstalldir=CRegString(REG_MSYSGIT_INSTALL,_T(""),FALSE,HKEY_LOCAL_MACHINE); str=msysinstalldir; if ( !str.IsEmpty() ) { str += (str[str.GetLength()-1] != '\\') ? "\\bin" : "bin"; msysdir=str; msysdir.write(); } else { return false; } } //CGit::m_MsysGitPath=str; //set path _tdupenv_s(&oldpath,&size,_T("PATH")); CString path; path.Format(_T("%s;%s"),oldpath,str); _tputenv_s(_T("PATH"),path); CString sOldPath = oldpath; free(oldpath); if( !FindGitPath() ) { return false; } else { #ifdef _TORTOISESHELL l_processEnv = GetEnvironmentStrings(); // updated environment is now duplicated for use in CreateProcess, restore original PATH for current process _tputenv_s(_T("PATH"),sOldPath); #endif bInitialized = TRUE; return true; } }