Exemplo n.º 1
0
//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);
    }
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
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;
	}
}