Ejemplo n.º 1
0
static void open_fds(void) {
	int i;

	for (i = strlen(CONF_FILTER[OS_ID])-1; i >= 0; i--)
		CONF_FILTER[OS_ID][i] = tolower(CONF_FILTER[OS_ID][i]);

	if (strcmp(CONF_FILTER[OS_ID], "windows") == 0 || strcmp(CONF_FILTER[OS_ID], "win") == 0) {
		for (i = LOG_FDS_MIN; i < LOG_FDS_MAX; i++)
			if (CONF_FILTER[i][0] == '\0')
				memcpy(&CONF_FILTER[i][0], "nul", 4);
	}

	LOG_FDS[TOTAL_ONLINE_LOG_FILE_ID] = fopen(append_file_name(&CONF_FILTER[TOTAL_ONLINE_LOG_FILE_ID][0]), "w");
	LOG_FDS[LOCATION_DATA_LOG_FILE_ID] = fopen(append_file_name(&CONF_FILTER[LOCATION_DATA_LOG_FILE_ID][0]), "w");
	LOG_FDS[CLIENT_ON_OFF_LOG_FILE_ID] = fopen(append_file_name(&CONF_FILTER[CLIENT_ON_OFF_LOG_FILE_ID][0]), "w");
	LOG_FDS[SEND_MSG_FROM_FILE_ID] = fopen(&CONF_FILTER[SEND_MSG_FROM_FILE_ID][0], "r");

	cmd_d = fileno(LOG_FDS[SEND_MSG_FROM_FILE_ID]);
	open_socket();
}
Ejemplo n.º 2
0
BOOL CCmdLineParser::ExpandEnvVars(LPTSTR lpFilePath, LPCTSTR lpEnvVars, LPCTSTR lpExtNames)
{
	TCHAR szTempBuff[MAX_PATH + 10];

	GetSystemDirectory(szTempBuff, MAX_PATH);
	append_file_name(szTempBuff, lpFilePath);
	if ( ExpandExtNames(szTempBuff, lpExtNames) )
	{
		MyGetLongPathName(szTempBuff, lpFilePath, MAX_PATH);
		return TRUE;
	}

	GetSystemWindowsDirectory(szTempBuff, MAX_PATH);
	append_file_name(szTempBuff, lpFilePath);
	if ( ExpandExtNames(szTempBuff, lpExtNames) )
	{
		MyGetLongPathName(szTempBuff, lpFilePath, MAX_PATH);
		return TRUE;
	}

	if ( (m_dwFlag & DEF_ENV_VAR) && lpEnvVars == NULL )
	{
		lpEnvVars = GetDefaultPathVar();
	}

	if ( lpEnvVars != NULL )
	{
		//
		// 展开环境变量
		//
		LPCTSTR lpVar = lpEnvVars;
		while ( !is_empty_str(lpVar)  )
		{
			size_t nVarLen;
			TCHAR c;

			while ( (c = *lpVar) != 0 )
			{
				if ( c != _T(';') && c != _T(' ') && c != _T('\t') )
				{
					break;
				}

				lpVar++;
			}

			if ( c == 0 )
			{
				break;
			}

			LPCTSTR lpNextVar = _tcschr(lpVar, _T(';'));
			if ( lpNextVar != NULL )
			{
				nVarLen = lpNextVar - lpVar;
				lpNextVar++;
			}
			else
			{
				nVarLen = _tcslen(lpVar);
			}

			if ( fix_path_separator(szTempBuff, MAX_PATH, lpVar, nVarLen) &&
				append_file_name(szTempBuff, lpFilePath) &&
				ExpandExtNames(szTempBuff, lpExtNames) )
			{
				MyGetLongPathName(szTempBuff, lpFilePath, MAX_PATH);
				return TRUE;
			}

			lpVar = lpNextVar;
		}
	}

	return FALSE;
}