Browse Source

修复:setPower:cmd>*set power on,sscanf_s正则处理时遇到空格跳过,导致szCmd只有半截数据的问题,导致电源控制失败。

sat23 4 years ago
parent
commit
e6922b4692
1 changed files with 3 additions and 3 deletions
  1. 3 3
      SATHelper/SATHelper/IOCPModel.cpp

+ 3 - 3
SATHelper/SATHelper/IOCPModel.cpp

@@ -981,13 +981,13 @@ void CIOCPModel::_TestWizardProc(PER_IO_CONTEXT* pIoContext, ProPackage* pak)
 	int nRet = sscanf_s((char*)&pak->buf, _T("%[^>]>%s"), szType, 8, szCmd, 128);
 	int nRet = sscanf_s((char*)&pak->buf, _T("%[^>]>%s"), szType, 8, szCmd, 128);
 	if (nRet == 2) {
 	if (nRet == 2) {
 		if ( _tcsicmp(szType, _T("cmd")) == 0 && TW::SendCmd ) 
 		if ( _tcsicmp(szType, _T("cmd")) == 0 && TW::SendCmd ) 
-			bRet = TW::SendCmd(szCmd);
+			bRet = TW::SendCmd((char*)&pak->buf[4]);
 
 
 		if (_tcsicmp(szType, _T("ir")) == 0 && TW::SendKey) 
 		if (_tcsicmp(szType, _T("ir")) == 0 && TW::SendKey) 
-			bRet = TW::SendKey(szCmd);
+			bRet = TW::SendKey((char*)&pak->buf[3]);
 
 
 		if (_tcsicmp(szType, _T("usb")) == 0 && TW::SendSwitch) 
 		if (_tcsicmp(szType, _T("usb")) == 0 && TW::SendSwitch) 
-			bRet = TW::SendSwitch(_tstoi(szCmd));
+			bRet = TW::SendSwitch(_tstoi((char*)&pak->buf[4]));
 	}
 	}
 
 
 	char* retdata = bRet ? "1" : "0";
 	char* retdata = bRet ? "1" : "0";