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(); }
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; }