CString FuncGetProfileStringBy(CString strSection, CString strKey, CString strFileName) { char buffer[2048] = {0}; DWORD nSize = 2048; DFN_GetPrivateProfileString(strSection, strKey, _T(""), buffer, nSize, strFileName); CString strString = _T(""); strString = buffer; return strString; }
int FuncGetProfileIntBy(CString strSection, CString strKey, CString strFileName) { char buffer[512] = {0}; DWORD nSize = 256; DFN_GetPrivateProfileString(strSection, strKey, _T(""), buffer, nSize, strFileName); CString strString = _T(""); strString = buffer; int nReturnValue = atoi(strString); return nReturnValue; }
DWORD DFNParser_GetPrivateProfileString( LPCTSTR lpAppName, // section name LPCTSTR lpKeyName, // key name LPCTSTR lpDefault, // default string LPTSTR lpReturnedString, // destination buffer DWORD nSize, // size of destination buffer LPCTSTR lpFileName // initialization file name ) { char cKey[255]={0}; sprintf(cKey,"%s_%s",lpAppName,lpKeyName); return DFN_GetPrivateProfileString(lpFileName,cKey,lpDefault,lpReturnedString,nSize,"oscmd.ini"); }
int DFN_GetPrivateProfileInt( LPCTSTR lpAppName, // section name LPCTSTR lpKeyName, // key name INT nDefault, // return value if key name not found LPCTSTR lpFileName // initialization file name ) { int Result; char strDefault[30]={0}; char strGet[30]={0}; sprintf(strDefault,"%d",nDefault); int nSize; nSize =29; DFN_GetPrivateProfileString(lpAppName,lpKeyName,strDefault,strGet,nSize,lpFileName); if(nSize>-1) { Result=atoi(strGet); } else Result =nDefault; return Result; }
BOOL RLOGINCLUSTER_MONITOR(char *server, int port, char *uid, char *pwd, char *pserver, int pport, char *puid, char *ppwd, char *pprompt, char *prompts, char *ostype, char *clusterlog, char *cpath, char *szReturn) { int ret = 0; int hSocket = 0; BOOL bResult = TRUE; char iniFile[256] = {0}; char cmd[256] = {0}; /************************************* * For Reason Of Prompt */ int c = 0; char *ca = prompts, *cb = NULL; char arprompt[PR_NUM][256]; memset(arprompt, 0, sizeof(arprompt)); while(cb = strchr(ca, 0x20)) { if(ca == cb) { ca ++; continue; } strncpy(arprompt[c++], ca, cb - ca); ca = cb + 1; } strcpy(arprompt[c++], ca); /***********************************/ hSocket = rlogin_init(server, port, pserver, pport, puid, ppwd); if(hSocket <= 0) { if(hSocket == -1) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_1%>")); // <%IDS_TelMonitor_1%> else if(hSocket == -2) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_2%>")); // <%IDS_TelMonitor_2%> else if(hSocket == -3) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_3%>")); // <%IDS_TelMonitor_3%> else if(hSocket == -4) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_4%>")); // <%IDS_TelMonitor_4%> else if(hSocket == -5) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_5%>")); // <%IDS_TelMonitor_5%> else sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_6%>")); // <%IDS_TelMonitor_6%> bResult = FALSE; goto err; } if((ret = rlogin_connect(hSocket, uid, pwd, pprompt, arprompt)) < 0) { if(ret == -1) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_7%>")); // <%IDS_TelMonitor_7%> else if(ret == -2) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_8%>")); // <%IDS_TelMonitor_8%> else if(ret == -3) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_9%>")); // <%IDS_TelMonitor_9%> else if(ret == -4) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_10%>")); // <%IDS_TelMonitor_10%> else if(ret == -5) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_11%>")); // <%IDS_TelMonitor_11%> else if(ret == -6) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_12%>")); // <%IDS_TelMonitor_12%> else sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_13%>")); // <%IDS_TelMonitor_13%> bResult = FALSE; goto err; } #if _DEBUG sprintf(iniFile, "%s\\templates.os\\%s", FuncGetInstallRootPath(), ostype); #else sprintf(iniFile, "%s\\MonitorManager\\templates.os\\%s", FuncGetInstallRootPath(), ostype); #endif DFN_GetPrivateProfileString("cat", "command", "", cmd, sizeof(cmd), iniFile); if(!*cmd) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_14%>")); // <%IDS_TelMonitor_14%> bResult = FALSE; goto err; } if(ca = strstr(cmd, "<file>")) { strcpy(ca, clusterlog); *(ca + strlen(clusterlog)) = 0; } if((ret = rlogin_command(hSocket, cmd)) < 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_15%>")); // <%IDS_TelMonitor_15%> bResult = FALSE; goto err; } { int index = 0; CString strBuffer(rlogin_databuffer); CString strLine = _T(""); // Cluster if((index = strBuffer.Find("CLUSTER", 0)) >= 0) { strBuffer.Delete(0, index); } else { sprintf(szReturn, "error=%s", "No Cluster"); // No Cluster bResult = FALSE; goto err; } strLine = GetStringFromLineNo(strBuffer, 2); sprintf(szReturn, "%sClusterName=%s$ClusterStatus=%s$", szReturn, GetColumnFromLine(strLine, 1), GetColumnFromLine(strLine, 2)); // Node if((index = strBuffer.Find("NODE", 0)) >= 0) { strBuffer.Delete(0, index); } else { sprintf(szReturn, "error=%s", "No Node"); // No Node bResult = FALSE; goto err; } strLine = GetStringFromLineNo(strBuffer, 2); sprintf(szReturn, "%sNodeName=%s$NodeStatus=%s$NodeState=%s$", szReturn, GetColumnFromLine(strLine, 1), GetColumnFromLine(strLine, 2), GetColumnFromLine(strLine, 3)); // Package if((index = strBuffer.Find("PACKAGE", 0)) >= 0) { strBuffer.Delete(0, index); } else { sprintf(szReturn, "error=%s", "No Package"); // No Package bResult = FALSE; goto err; } strLine = GetStringFromLineNo(strBuffer, 2); sprintf(szReturn, "%sPackageName=%s$PackageStatus=%s$PackageState=%s$PackageAutorun=%s$", szReturn, GetColumnFromLine(strLine, 1), GetColumnFromLine(strLine, 2), GetColumnFromLine(strLine, 3), GetColumnFromLine(strLine, 4)); } err: shutdown(hSocket, 0x02); closesocket(hSocket); return bResult; }
BOOL HTTPCLUSTER_MONITOR(char *url, char *uid, char *pwd, char *pserver, int pport, char *puid, char *ppwd, char *ostype, char *clusterlog, char *cpath, char *szReturn) { int ret = 0; BOOL bResult = TRUE; char *ca = NULL; char iniFile[256] = {0}; char cmd[256] = {0}; #if _DEBUG sprintf(iniFile, "%s\\templates.os\\%s", FuncGetInstallRootPath(), ostype); #else sprintf(iniFile, "%s\\MonitorManager\\templates.os\\%s", FuncGetInstallRootPath(), ostype); #endif DFN_GetPrivateProfileString("cat", "command", "", cmd, sizeof(cmd), iniFile); if(!*cmd) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_14%>")); // <%IDS_TelMonitor_14%> return FALSE; } if(ca = strstr(cmd, "<file>")) { strcpy(ca, clusterlog); *(ca + strlen(clusterlog)) = 0; } char msg[100 * 1024] = {0}; if(!http_command(url, cmd, READ_TIMEOUT, uid, pwd, pserver, pport, puid, ppwd, msg)) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_TelMonitor_15%>")); // <%IDS_TelMonitor_15%> return FALSE; } { int index = 0; CString strBuffer(msg); CString strLine = _T(""); // Cluster if((index = strBuffer.Find("CLUSTER", 0)) >= 0) { strBuffer.Delete(0, index); } else { sprintf(szReturn, "error=%s", "No Cluster"); // No Cluster return FALSE; } strLine = GetStringFromLineNo(strBuffer, 2); sprintf(szReturn, "%sClusterName=%s$ClusterStatus=%s$", szReturn, GetColumnFromLine(strLine, 1), GetColumnFromLine(strLine, 2)); // Node if((index = strBuffer.Find("NODE", 0)) >= 0) { strBuffer.Delete(0, index); } else { sprintf(szReturn, "error=%s", "No Node"); // No Node return FALSE; } strLine = GetStringFromLineNo(strBuffer, 2); sprintf(szReturn, "%sNodeName=%s$NodeStatus=%s$NodeState=%s$", szReturn, GetColumnFromLine(strLine, 1), GetColumnFromLine(strLine, 2), GetColumnFromLine(strLine, 3)); // Package if((index = strBuffer.Find("PACKAGE", 0)) >= 0) { strBuffer.Delete(0, index); } else { sprintf(szReturn, "error=%s", "No Package"); // No Package return FALSE; } strLine = GetStringFromLineNo(strBuffer, 2); sprintf(szReturn, "%sPackageName=%s$PackageStatus=%s$PackageState=%s$PackageAutorun=%s$", szReturn, GetColumnFromLine(strLine, 1), GetColumnFromLine(strLine, 2), GetColumnFromLine(strLine, 3), GetColumnFromLine(strLine, 4)); } return TRUE; }
BOOL SSHCLUSTER_MONITOR(char *server, int port, char *uid, char *pwd, char *ostype, char *clusterlog, char *cpath, char *szReturn) { CString strCmdLine = _T(""), strResult = _T(""); int nResult = 0; char *ca = NULL; char iniFile[256] = {0}; char cmd[256] = {0}; #if _DEBUG sprintf(iniFile, "%s\\templates.os\\%s", FuncGetInstallRootPath(), ostype); #else sprintf(iniFile, "%s\\MonitorManager\\templates.os\\%s", FuncGetInstallRootPath(), ostype); #endif DFN_GetPrivateProfileString("cat", "command", "", cmd, sizeof(cmd), iniFile); if(!*cmd) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_SSHMonitor_1%>")); // <%IDS_SSHMonitor_1%> return FALSE; } if(ca = strstr(cmd, "<file>")) { strcpy(ca, clusterlog); *(ca + strlen(clusterlog)) = 0; } strCmdLine.Format("%s \"-ssh\" \"-t\" \"%d\" \"-P\" \"%d\" \"-pw\" \"%s\" \"%s@%s\" \"%s\"", PLINK_PATH, CALL_TIMEOUT, port, pwd, uid, server, cmd); nResult = executeExeFile(strCmdLine, strResult); switch(nResult) { case DragonFlow_OK: { int index = 0; CString strBuffer = strResult; CString strLine = _T(""); // Cluster if((index = strBuffer.Find("CLUSTER", 0)) >= 0) { strBuffer.Delete(0, index); } else { sprintf(szReturn, "error=%s", "No Cluster"); // No Cluster return FALSE; } strLine = GetStringFromLineNo(strBuffer, 2); sprintf(szReturn, "%sClusterName=%s$ClusterStatus=%s$", szReturn, GetColumnFromLine(strLine, 1), GetColumnFromLine(strLine, 2)); // Node if((index = strBuffer.Find("NODE", 0)) >= 0) { strBuffer.Delete(0, index); } else { sprintf(szReturn, "error=%s", "No Node"); // No Node return FALSE; } strLine = GetStringFromLineNo(strBuffer, 2); sprintf(szReturn, "%sNodeName=%s$NodeStatus=%s$NodeState=%s$", szReturn, GetColumnFromLine(strLine, 1), GetColumnFromLine(strLine, 2), GetColumnFromLine(strLine, 3)); // Package if((index = strBuffer.Find("PACKAGE", 0)) >= 0) { strBuffer.Delete(0, index); } else { sprintf(szReturn, "error=%s", "No Package"); // No Package return FALSE; } strLine = GetStringFromLineNo(strBuffer, 2); sprintf(szReturn, "%sPackageName=%s$PackageStatus=%s$PackageState=%s$PackageAutorun=%s$", szReturn, GetColumnFromLine(strLine, 1), GetColumnFromLine(strLine, 2), GetColumnFromLine(strLine, 3), GetColumnFromLine(strLine, 4)); } return TRUE; case DragonFlow_Timeout: sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_SSHMonitor_3%>")); // <%IDS_SSHMonitor_3%> break; case DragonFlow_OpenConnection: sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_SSHMonitor_4%>")); // <%IDS_SSHMonitor_4%> break; case DragonFlow_CreateOutputThread: case DragonFlow_CreateErrorOutputThread: case DragonFlow_CreateInputThread: case DragonFlow_WriteToStandardOutput: case DragonFlow_OpenCommandFile: case DragonFlow_NotEnoughSpace: case DragonFlow_InitialiseWinSock: case DragonFlow_WinSockVersionIncompatible: sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_SSHMonitor_5%>")); // <%IDS_SSHMonitor_5%> break; case DragonFlow_FatalError: sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_SSHMonitor_6%>")); // <%IDS_SSHMonitor_6%> break; default: sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_SSHMonitor_7%>")); // <%IDS_SSHMonitor_7%> break; } return FALSE; }
bool AIXERRPT_TEL_VALUE(char *server, int port, char *uid, char *pwd, char *pserver, int pport, char *puid, char *ppwd, char *lprom, char *pprom, char *prom, char *inifile, int ngid, char* strmid, char *custpath, char *szReturn) { int ret = 0; int hSocket = 0; bool bResult = TRUE; char buffer[256] = {0}; char mbuffer[256] = {0}; char mdate[256] = {0}; char datebuff[64] = {0}; char curdate[64] = {0}; //char szIniFile[256] = {0}; char szTmpIniFile[256] = {0}; int isChinese = 0; //puts("ok"); /************************************* * For Reason Of Prompt */ int c = 0; char *ca = prom, *cb = NULL; char arprompt[PR_NUM][256]; memset(arprompt, 0, sizeof(arprompt)); LPGDATA pgd=new GDATA; memset(pgd,0,sizeof(GDATA)); while(cb = strchr(ca, 0x20)) { if(ca == cb) { ca ++; continue; } strncpy(arprompt[c++], ca, cb - ca); ca = cb + 1; } strcpy(arprompt[c++], ca); /***********************************/ hSocket = telnet_init(server, port, pserver, pport, puid, ppwd); if(hSocket <= 0) { if(hSocket == -1) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_1%>"));//<%IDS_MQ_1%>"连接失败:域名解析" else if(hSocket == -2) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_2%>"));//<%IDS_MQ_2%>"连接失败:通信初始化" else if(hSocket == -3) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_3%>"));//<%IDS_MQ_3%>"连接失败:连接超时" else if(hSocket == -4) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_4%>"));//<%IDS_MQ_4%>"代理服务器连接失败" else if(hSocket == -5) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_5%>"));//<%IDS_MQ_5%>"代理服务器错误" else sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_6%>"));//<%IDS_MQ_6%>"连接失败:未知错误" bResult = FALSE; goto err; } Tel_Param param; if((ret = telnet_connect(hSocket, uid, pwd, lprom, pprom, arprompt,pgd,¶m)) < 0) { if(ret == -1) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_7%>"));//<%IDS_MQ_7%>"登录失败:读数据超时" else if(ret == -2) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_8%>"));//<%IDS_MQ_8%>"登录失败:读数据错误" else if(ret == -3) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_9%>"));//<%IDS_MQ_9%>"登录失败:查找提示符" else if(ret == -4) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_10%>"));//<%IDS_MQ_10%>"登录失败:查找登录提示符" else if(ret == -5) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_11%>"));//<%IDS_MQ_11%>"登录失败:查找密码提示符" else sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_MQ_12%>"));//<%IDS_MQ_12%>"登录失败:未知错误" bResult = FALSE; goto err; } if(DFNParser_GetPrivateProfileString("errorlog", "command", "", buffer, sizeof(buffer), inifile) <= 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_02%>")); bResult = FALSE; goto err; } if(DFNParser_GetPrivateProfileString("errorlog", "matchline", "", mbuffer, sizeof(mbuffer), inifile) <= 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_02%>")); bResult = FALSE; goto err; } if(DFNParser_GetPrivateProfileString("date", "command", "", mdate, sizeof(mdate), inifile) <= 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_02%>")); bResult = FALSE; goto err; } isChinese = DFNParser_GetPrivateProfileInt("date", "isChinese", 0, inifile); if((ret = telnet_command(hSocket, mdate,pgd,¶m)) < 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); bResult = FALSE; goto err; } if(isChinese) { char week[64] = {0}; int years = 0, months = 0, days = 0, hours = 0, minutes = 0, seconds = 0; if(sscanf(pgd->databuffer, "公元%d年%d月%d日 %s %d时%d分%d秒", &years, &months, &days, week, &hours, &minutes, &seconds) != 7) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); bResult = FALSE; goto err; } sprintf(curdate, "%2.2d%2.2d%2.2d%2.2d%2.2d", months, days, hours, minutes, years % 100); } else { char week[16] = {0}; char month[16] = {0}; int day = 0; int hours = 0, mins = 0, secs = 0; char div[16] = {0}; int year = 0; if(sscanf(pgd->databuffer, "%s %s %d %d:%d:%d %s %d", week, month, &day, &hours, &mins, &secs, div, &year) != 8) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); bResult = FALSE; goto err; } if(convert_date(month, day, hours, mins, year, curdate)) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); bResult = FALSE; goto err; } } sprintf(szTmpIniFile, "logfile.ini"); DFN_GetPrivateProfileString(strmid, "lastdate", "", datebuff, sizeof(datebuff), szTmpIniFile); if(!*datebuff) strncpy(datebuff, curdate, 10); if(ca = strchr(buffer, '<')) { strncpy(ca, datebuff, 10); *(ca + 10) = 0; } memset(pgd->databuffer, 0, BUF_SIZE); pgd->datalen = 0; printf("Error Report Command is :%s\n", buffer); if((ret = telnet_command(hSocket, buffer,pgd)) < 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); bResult = FALSE; goto err; } if(ret == 0 || !strstr(pgd->databuffer, mbuffer)) { char tmp [256] = {0}; //ofstream fout("aixerr.log",ios::app); //int i = GetConfirms(strmid); //fout << itoa(i, tmp, 10) <<"\r\n"; //fout << flush; //fout.close(); if(GetConfirms(strmid) > 0) DFN_WritePrivateProfileString(strmid, "needconfirm", _ltoa(FALSE, tmp, 10), szTmpIniFile); BOOL bChange = DFN_GetPrivateProfileInt(strmid, "needconfirm", FALSE, szTmpIniFile); if (!bChange) { sprintf(szReturn, "status=0$" ); //0: 未改变 1:改变 } else { sprintf(szReturn, "status=1$" ); } } else { sprintf(szReturn, "status=1$" ); FILE *fp = NULL; char szErrptLogFile[256] = {0}; sprintf(szErrptLogFile, "%s\\data\\TmpIniFile\\logfile_%s.log", FuncGetInstallRootPath(), strmid); if(fp = fopen(szErrptLogFile, "a+")) { fprintf(fp, "%s", pgd->databuffer); fclose(fp); } char tmp [256] = {0}; printf("Track record\n"); DFN_WritePrivateProfileString(strmid, "needconfirm", _ltoa(TRUE, tmp, 10), szTmpIniFile); } DFN_WritePrivateProfileString(strmid, "lastdate", curdate, szTmpIniFile); err: shutdown(hSocket, 0x02); closesocket(hSocket); delete pgd; return bResult; }
BOOL AIXERRPT_SSH_VALUE(char *server, int port, char *uid, char *pwd, char *inifile, int ngid, char* strmid, char *custpath, char *privatekeyfile, char *szReturn) { int ret = 0; char buffer[256] = {0}; char mbuffer[256] = {0}; char mdate[256] = {0}; char datebuff[64] = {0}; char curdate[64] = {0}; char szTmpIniFile[256] = {0}; int isChinese = 0; CString strResult = _T(""); if(DFNParser_GetPrivateProfileString("errorlog", "command", "", buffer, sizeof(buffer), inifile) <= 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_02%>")); return FALSE; } if(DFNParser_GetPrivateProfileString("errorlog", "matchline", "", mbuffer, sizeof(mbuffer), inifile) <= 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_02%>")); return FALSE; } if(DFNParser_GetPrivateProfileString("date", "command", "", mdate, sizeof(mdate), inifile) <= 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_02%>")); return FALSE; } isChinese = DFNParser_GetPrivateProfileInt("date", "isChinese", 0, inifile); if((ret = ssh_command(server,port, uid, pwd, mdate, privatekeyfile, strResult)) < 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); return FALSE; } if(isChinese) { char week[64] = {0}; int years = 0, months = 0, days = 0, hours = 0, minutes = 0, seconds = 0; if(sscanf(strResult, "公元%d年%d月%d日 %s %d时%d分%d秒", &years, &months, &days, week, &hours, &minutes, &seconds) != 7) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); return FALSE; } sprintf(curdate, "%2.2d%2.2d%2.2d%2.2d%2.2d", months, days, hours, minutes, years % 100); } else { char week[16] = {0}; char month[16] = {0}; int day = 0; int hours = 0, mins = 0, secs = 0; char div[16] = {0}; int year = 0; if(sscanf(strResult, "%s %s %d %d:%d:%d %s %d", week, month, &day, &hours, &mins, &secs, div, &year) != 8) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); return FALSE; } if(convert_date(month, day, hours, mins, year, curdate)) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); return FALSE; } } sprintf(szTmpIniFile, "logfile.ini"); DFN_GetPrivateProfileString(strmid, "lastdate", "", datebuff, sizeof(datebuff), szTmpIniFile); if(!*datebuff) strncpy(datebuff, curdate, 10); char *ca = NULL; if(ca = strchr(buffer, '<')) { strncpy(ca, datebuff, 10); *(ca + 10) = 0; } strResult = _T(""); if((ret = ssh_command(server, port, uid, pwd, buffer, privatekeyfile, strResult)) < 0) { sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_LOGFILE_01%>")); return FALSE; } if(ret == 0 || !strstr(strResult, mbuffer)) { char tmp [256] = {0}; if(GetConfirms(strmid) > 0) DFN_WritePrivateProfileString(strmid, "needconfirm", _ltoa(FALSE, tmp, 10), szTmpIniFile); BOOL bChange = DFN_GetPrivateProfileInt(strmid, "needconfirm", FALSE, szTmpIniFile); if (!bChange) { //sprintf(szReturn, "status=%s$", FuncGetStringFromIDS("<%IDS_AIXErrpt_01%>")); sprintf(szReturn, "status=0$" ); //0: 未改变 1:改变 } else { //sprintf(szReturn, "status=%s$", FuncGetStringFromIDS("<%IDS_AIXErrpt_02%>")); sprintf(szReturn, "status=1$" ); //0: 未改变 1:改变 } } else { //sprintf(szReturn, "status=%s$", FuncGetStringFromIDS("<%IDS_AIXErrpt_02%>")); sprintf(szReturn, "status=1$" ); //0: 未改变 1:改变 FILE *fp = NULL; char szErrptLogFile[256] = {0}; sprintf(szErrptLogFile, "%s\\data\\TmpIniFile\\logfile_%s.log", FuncGetInstallRootPath(), strmid); if(fp = fopen(szErrptLogFile, "a+")) { fprintf(fp, "%s", strResult); fclose(fp); } char tmp [256] = {0}; DFN_WritePrivateProfileString(strmid, "needconfirm", _ltoa(TRUE, tmp, 10), szTmpIniFile); } DFN_WritePrivateProfileString(strmid, "lastdate", curdate, szTmpIniFile); return TRUE; }