fix(debug): 修复调试命令参数检查问题
This commit is contained in:
+31
-3
@@ -914,7 +914,7 @@ void DebugCmdRestoreFactory(int argc, char *argv[])
|
|||||||
static void DebugCmdUpload(int argc, char *argv[])
|
static void DebugCmdUpload(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
DBG_LOG("\r\n");
|
DBG_LOG("\r\n");
|
||||||
if(strcmp(argv[1], "?") == 0) {
|
if(argc > 1 && strcmp(argv[1], "?") == 0) {
|
||||||
DBG_LOG("Debug Cmd: up\r\n");
|
DBG_LOG("Debug Cmd: up\r\n");
|
||||||
DBG_LOG(" brief --> Upload current gateway status to server.\r\n\r\n");
|
DBG_LOG(" brief --> Upload current gateway status to server.\r\n\r\n");
|
||||||
return;
|
return;
|
||||||
@@ -953,7 +953,7 @@ static void DebugCmdUpload(int argc, char *argv[])
|
|||||||
static void DebugCmdRegister(int argc, char *argv[])
|
static void DebugCmdRegister(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
DBG_LOG("\r\n");
|
DBG_LOG("\r\n");
|
||||||
if(strcmp(argv[1], "?") == 0) {
|
if(argc > 1 && strcmp(argv[1], "?") == 0) {
|
||||||
DBG_LOG("Debug Cmd: reg\r\n");
|
DBG_LOG("Debug Cmd: reg\r\n");
|
||||||
DBG_LOG(" brief --> Re-register to the server.\r\n\r\n");
|
DBG_LOG(" brief --> Re-register to the server.\r\n\r\n");
|
||||||
return;
|
return;
|
||||||
@@ -1336,8 +1336,8 @@ static void DebugCmdEthNet(int argc, char *argv[])
|
|||||||
DBG_LOG("Please switch to ETH mode first using 'comm eth' command.\r\n");
|
DBG_LOG("Please switch to ETH mode first using 'comm eth' command.\r\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
GateWay->SvrRegFlag = false;
|
||||||
ETHReset();
|
ETHReset();
|
||||||
ETHResetEx();
|
|
||||||
DBG_LOG("EthNet parameters saved and ETH module restarting...\r\n");
|
DBG_LOG("EthNet parameters saved and ETH module restarting...\r\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1363,6 +1363,10 @@ static void DebugCmdEthNet(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(argv[1], "ip") == 0) {
|
if(strcmp(argv[1], "ip") == 0) {
|
||||||
|
if(argc < 3) {
|
||||||
|
DBG_LOG("EthCmd: Missing IP address\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
int ret = sscanf(argv[2], "%d.%d.%d.%d", &IP[0], &IP[1], &IP[2], &IP[3]);
|
int ret = sscanf(argv[2], "%d.%d.%d.%d", &IP[0], &IP[1], &IP[2], &IP[3]);
|
||||||
if(ret != 4) {
|
if(ret != 4) {
|
||||||
DBG_LOG("EthCmd: Invalid IP format, use x.x.x.x\r\n");
|
DBG_LOG("EthCmd: Invalid IP format, use x.x.x.x\r\n");
|
||||||
@@ -1381,6 +1385,10 @@ static void DebugCmdEthNet(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(argv[1], "port") == 0) {
|
if(strcmp(argv[1], "port") == 0) {
|
||||||
|
if(argc < 3) {
|
||||||
|
DBG_LOG("EthCmd: Missing port number\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
int port = atoi(argv[2]);
|
int port = atoi(argv[2]);
|
||||||
if(port <= 0 || port > 65535) {
|
if(port <= 0 || port > 65535) {
|
||||||
DBG_LOG("EthCmd: Port out of range (1-65535).\r\n");
|
DBG_LOG("EthCmd: Port out of range (1-65535).\r\n");
|
||||||
@@ -1392,6 +1400,10 @@ static void DebugCmdEthNet(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(argv[1], "wmode") == 0) {
|
if(strcmp(argv[1], "wmode") == 0) {
|
||||||
|
if(argc < 3) {
|
||||||
|
DBG_LOG("EthCmd: Missing work mode (tcp/udp)\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(strcmp(argv[2], "tcp") == 0) {
|
if(strcmp(argv[2], "tcp") == 0) {
|
||||||
GateWay->ConfigPara.EthNet.WorkMode = ETH_MODE_TCP_CLIENT;
|
GateWay->ConfigPara.EthNet.WorkMode = ETH_MODE_TCP_CLIENT;
|
||||||
DBG_LOG("WorkMode set to TCP_CLIENT.\r\n");
|
DBG_LOG("WorkMode set to TCP_CLIENT.\r\n");
|
||||||
@@ -1407,6 +1419,10 @@ static void DebugCmdEthNet(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(argv[1], "mask") == 0) {
|
if(strcmp(argv[1], "mask") == 0) {
|
||||||
|
if(argc < 3) {
|
||||||
|
DBG_LOG("EthCmd: Missing subnet mask\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
int ret = sscanf(argv[2], "%d.%d.%d.%d", &IP[0], &IP[1], &IP[2], &IP[3]);
|
int ret = sscanf(argv[2], "%d.%d.%d.%d", &IP[0], &IP[1], &IP[2], &IP[3]);
|
||||||
if(ret != 4) {
|
if(ret != 4) {
|
||||||
DBG_LOG("EthCmd: Invalid mask format, use x.x.x.x\r\n");
|
DBG_LOG("EthCmd: Invalid mask format, use x.x.x.x\r\n");
|
||||||
@@ -1425,6 +1441,10 @@ static void DebugCmdEthNet(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(argv[1], "gw") == 0) {
|
if(strcmp(argv[1], "gw") == 0) {
|
||||||
|
if(argc < 3) {
|
||||||
|
DBG_LOG("EthCmd: Missing gateway address\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
int ret = sscanf(argv[2], "%d.%d.%d.%d", &IP[0], &IP[1], &IP[2], &IP[3]);
|
int ret = sscanf(argv[2], "%d.%d.%d.%d", &IP[0], &IP[1], &IP[2], &IP[3]);
|
||||||
if(ret != 4) {
|
if(ret != 4) {
|
||||||
DBG_LOG("EthCmd: Invalid gateway format, use x.x.x.x\r\n");
|
DBG_LOG("EthCmd: Invalid gateway format, use x.x.x.x\r\n");
|
||||||
@@ -1443,6 +1463,10 @@ static void DebugCmdEthNet(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(argv[1], "dip") == 0) {
|
if(strcmp(argv[1], "dip") == 0) {
|
||||||
|
if(argc < 3) {
|
||||||
|
DBG_LOG("EthCmd: Missing destination IP address\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
int ret = sscanf(argv[2], "%d.%d.%d.%d", &IP[0], &IP[1], &IP[2], &IP[3]);
|
int ret = sscanf(argv[2], "%d.%d.%d.%d", &IP[0], &IP[1], &IP[2], &IP[3]);
|
||||||
if(ret != 4) {
|
if(ret != 4) {
|
||||||
DBG_LOG("EthCmd: Invalid destination IP format, use x.x.x.x\r\n");
|
DBG_LOG("EthCmd: Invalid destination IP format, use x.x.x.x\r\n");
|
||||||
@@ -1461,6 +1485,10 @@ static void DebugCmdEthNet(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(argv[1], "dport") == 0) {
|
if(strcmp(argv[1], "dport") == 0) {
|
||||||
|
if(argc < 3) {
|
||||||
|
DBG_LOG("EthCmd: Missing destination port\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
int port = atoi(argv[2]);
|
int port = atoi(argv[2]);
|
||||||
if(port <= 0 || port > 65535) {
|
if(port <= 0 || port > 65535) {
|
||||||
DBG_LOG("EthCmd: DestPort out of range (1-65535).\r\n");
|
DBG_LOG("EthCmd: DestPort out of range (1-65535).\r\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user