Commit 1cefdb27 authored by Pavel Vainerman's avatar Pavel Vainerman

RTUExchange: тоже исправил ошибку на проверку максимальной длины пакета

parent c7334d90
...@@ -184,6 +184,9 @@ rm -f %buildroot%_libdir/*.la ...@@ -184,6 +184,9 @@ rm -f %buildroot%_libdir/*.la
%exclude %_pkgconfigdir/libUniSet.pc %exclude %_pkgconfigdir/libUniSet.pc
%changelog %changelog
* Sat Oct 09 2010 Pavel Vainerman <pv@altlinux.ru> 0.99-eter7
- fixed bug in MBTCPMaster
* Sun Oct 03 2010 Pavel Vainerman <pv@altlinux.ru> 0.99-eter6 * Sun Oct 03 2010 Pavel Vainerman <pv@altlinux.ru> 0.99-eter6
- test codegen build - test codegen build
......
...@@ -1698,10 +1698,6 @@ void RTUExchange::rtuQueryOptimization( RTUDeviceMap& m ) ...@@ -1698,10 +1698,6 @@ void RTUExchange::rtuQueryOptimization( RTUDeviceMap& m )
dlog[Debug::INFO] << myname << "(rtuQueryOptimization): optimization..." << endl; dlog[Debug::INFO] << myname << "(rtuQueryOptimization): optimization..." << endl;
// MAXLEN/2 - я█я┌п╬ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬ я│п╩п╬п╡ п╢п╟п╫п╫я▀я┘ п╡ п╬я┌п╡п╣я┌п╣
// 10 - п╫п╟ п╡я│я▐п╨п╦п╣ я│п╩я┐п╤п╣п╠п╫я▀п╣ п╥п╟пЁп╬п╩п╬п╡п╨п╦
int maxcount = ModbusRTU::MAXLENPACKET/2 - 10;
for( RTUExchange::RTUDeviceMap::iterator it1=m.begin(); it1!=m.end(); ++it1 ) for( RTUExchange::RTUDeviceMap::iterator it1=m.begin(); it1!=m.end(); ++it1 )
{ {
RTUDevice* d(it1->second); RTUDevice* d(it1->second);
...@@ -1722,7 +1718,8 @@ void RTUExchange::rtuQueryOptimization( RTUDeviceMap& m ) ...@@ -1722,7 +1718,8 @@ void RTUExchange::rtuQueryOptimization( RTUDeviceMap& m )
break; break;
beg->second->q_count++; beg->second->q_count++;
if( beg->second->q_count > maxcount )
if( beg->second->q_count >= ModbusRTU::MAXDATALEN )
break; break;
reg = it->second->mbreg + it->second->offset; reg = it->second->mbreg + it->second->offset;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment