2019-06-20 Fred Gleason <fredg@paravelsystems.com>

* Refactored the 'CaeServer::readyReadData()' method in
	caed(8) for greater reiliency.
This commit is contained in:
Fred Gleason 2019-06-20 13:01:38 -04:00
parent a7cf12d722
commit 7824e27c79
2 changed files with 15 additions and 6 deletions

View File

@ -18790,3 +18790,6 @@
2019-06-19 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression that caused a compilation error when
rebuilding the Docbook 5 documentation.
2019-06-20 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'CaeServer::readyReadData()' method in
caed(8) for greater reiliency.

View File

@ -159,13 +159,19 @@ void CaeServer::readyReadData(int id)
QByteArray data=cae_connections.value(id)->socket->readAll();
for(int i=0;i<data.size();i++) {
char c=0xFF&data[i];
if(c=='!') {
switch(c) {
case '!':
ProcessCommand(id,cae_connections.value(id)->accum);
}
else {
if(isalnum(0xFF&data[i])||(c=='_')||(c=='-')||(c==' ')) {
cae_connections.value(id)->accum+=0xFF&data[i];
}
cae_connections.value(id)->accum="";
break;
case 10:
case 13:
break;
default:
cae_connections.value(id)->accum+=c;
break;
}
}
}