From 98c09f558794e0bbf5da7c60a0c42f7d1075348f Mon Sep 17 00:00:00 2001 From: zhouhuang Date: Mon, 16 Dec 2024 17:23:02 +0800 Subject: [PATCH] update --- das-dn/zjd3100proc/zjd3100pro.cpp | 49 ++++++++++++++++++------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/das-dn/zjd3100proc/zjd3100pro.cpp b/das-dn/zjd3100proc/zjd3100pro.cpp index 7ee82ff4..d3e8bdba 100644 --- a/das-dn/zjd3100proc/zjd3100pro.cpp +++ b/das-dn/zjd3100proc/zjd3100pro.cpp @@ -682,14 +682,14 @@ BOOLEAN CZJD3100Process::OnSyntaxDBYK(char *pData, int ord) BOOLEAN CZJD3100Process::OnSyntanProcessInfo(char *pData, int ord) { - int pid; - char *pCmd; + //int pid; + //char *pCmd; char buffer[2048]; CZJD3100ProcessItem* pItem = (CZJD3100ProcessItem *)GetItem(ord); if (pItem == NULL) return FALSE; if (pData == NULL) return FALSE; - +/* pCmd = strchr(pData, ' '); if (NULL == pCmd) return FALSE; *pCmd = '\0'; @@ -699,30 +699,37 @@ BOOLEAN CZJD3100Process::OnSyntanProcessInfo(char *pData, int ord) { pid = 0; } - if (strcmp(pCmd, "get") == 0) +*/ + if (strcmp(pData, "get") == 0) { pItem->WriteData((BYTE *)"ZJD3100# \r\n", strlen("ZJD3100# \r\n"), ord); - snprintf(buffer, sizeof(buffer), "Name: %s", config.processes[pid].name); - pItem->WriteData((BYTE *)buffer, strlen(buffer), ord); - if (m_proto2name_map.find(config.processes[pid].proto) != m_proto2name_map.end()) + for (int k = 0; k < PROCESSES_NUM; k++) { - snprintf(buffer, sizeof(buffer), ", protocol: %s", m_proto2name_map[config.processes[pid].proto].c_str()); + int pid = k; + if ((config.processes[pid].state & 0x01) != TRUE) continue; + snprintf(buffer, sizeof(buffer), "Pid: %d, Name: %s", pid, config.processes[pid].name); pItem->WriteData((BYTE *)buffer, strlen(buffer), ord); - } - else - { - snprintf(buffer, sizeof(buffer), ",%s", "unknow protocol"); + if (m_proto2name_map.find(config.processes[pid].proto) != m_proto2name_map.end()) + { + snprintf(buffer, sizeof(buffer), ", protocol: %s", m_proto2name_map[config.processes[pid].proto].c_str()); + pItem->WriteData((BYTE *)buffer, strlen(buffer), ord); + } + else + { + snprintf(buffer, sizeof(buffer), ",%s", "unknow protocol"); + pItem->WriteData((BYTE *)buffer, strlen(buffer), ord); + } + snprintf(buffer, sizeof(buffer), ", link units: "); pItem->WriteData((BYTE *)buffer, strlen(buffer), ord); + for (int i = 0; i < PROCESS_UNIT_NUM; i++) + { + if (config.processes[pid].units[i] < 0) continue; + if (i == 0) snprintf(buffer, sizeof(buffer), "%d", config.processes[pid].units[i]); + else snprintf(buffer, sizeof(buffer), ", %d", config.processes[pid].units[i]); + pItem->WriteData((BYTE *)buffer, strlen(buffer), ord); + } + pItem->WriteData((BYTE *)"\r\n", strlen("\r\n"), ord); } - snprintf(buffer, sizeof(buffer), ", link units: "); - pItem->WriteData((BYTE *)buffer, strlen(buffer), ord); - for (int i = 0; i < PROCESS_UNIT_NUM; i++) - { - if (config.processes[pid].units[i] < 0) continue; - snprintf(buffer, sizeof(buffer), ", %d", config.processes[pid].units[i]); - pItem->WriteData((BYTE *)buffer, strlen(buffer), ord); - } - pItem->WriteData((BYTE *)"\r\n", strlen("\r\n"), ord); return TRUE; }