MessageBase::extract_element(..., f8String& tag, f8String& val) is ineffective

Description

MessageBase::extract_element(..., f8String& tag, f8String& val) is ineffective since += is used inside a cycle. The string has to be either preallocated or extract_element shall work with iterators, not strings...

Environment

Ubuntu 13.10 x64 gcc4.8

Activity

Show:
David Dight
November 26, 2013, 1:54 AM

We could just replace the string version with the ULL version in FIXReader. All this means is we need to provide a local char buffer for the fields.

Sergey Sedreev
November 26, 2013, 4:52 AM

Yes, please, replace it with buffers version of extract_element call if this is 5 mins work. I do have an iterator version in development. As soon as it is ready I'll sent it for review.

Sergey Sedreev
November 27, 2013, 3:43 AM

Sent pull request. Please review

Sergey Sedreev
December 1, 2013, 11:04 AM

Postponed a little bit. Will merge & commit later on

David Dight
December 16, 2013, 11:25 AM

Replaced string version of extract_element with char * version in FIXReader::read(). Other uses are all char * version. ] if you want to add in the iterator version pls re-open.

Assignee

David Dight

Reporter

Sergey Sedreev

Labels

None

Branch

dev

Products

None

Fix versions

Affects versions

Priority

Major
Configure