[Quickfix-developers] DataDictionary::isFieldValue doesn't cope with MultipleValueStrin g
Brought to you by:
orenmnero
From: Chris P. <Chr...@BT...> - 2003-07-16 08:37:56
|
Field ExecInst can contain a space separated list of execution instructions. In quickfix it is defined <field number="18" name="ExecInst" type="MULTIPLEVALUESTRING"> When an incoming message contains multiple values, e.g. "G Q" the method bool isFieldValue( int field, const std::string& value ) const { FieldToValue::const_iterator i = m_fieldValues.find( field ); if ( i == m_fieldValues.end() ) return false; return i->second.find( value ) != i->second.end(); } will return false and the message will be rejected. This method does not take into account the fact that this field type can contain multiple entries, each of which needs to be checked individually against the enumerated values. Chris **************************************************************************** This message is confidential to the sender and addressee, and may contain proprietary or legally privileged information. If you are not the intended recipient, please delete it from your system, destroy any copies, and notify the sender immediately. Opinions stated herein are not necessarily those of BrokerTec. BrokerTec reserves the right to monitor messages that pass through it's networks. BrokerTec Europe Ltd is regulated by FSA. |