Skip to content

Commit 3e22c2e

Browse files
committed
[C++] Code tidy up and address Issue #970.
1 parent a4430f2 commit 3e22c2e

File tree

2 files changed

+28
-22
lines changed

2 files changed

+28
-22
lines changed

sbe-tool/src/main/cpp/otf/IrDecoder.h

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@ namespace sbe { namespace otf {
4848
class IrDecoder
4949
{
5050
public:
51-
IrDecoder()
52-
{
53-
}
51+
IrDecoder() = default;
5452

5553
int decode(char *irBuffer, std::uint64_t length)
5654
{
@@ -106,11 +104,13 @@ class IrDecoder
106104
std::shared_ptr<std::vector<Token>> result;
107105

108106
std::for_each(m_messages.begin(), m_messages.end(),
109-
[&](std::shared_ptr<std::vector<Token>> tokens)
107+
[&](const std::shared_ptr<std::vector<Token>> &tokens)
110108
{
111109
Token &token = tokens->at(0);
112110

113-
if (token.signal() == Signal::BEGIN_MESSAGE && token.fieldId() == id && token.tokenVersion() == version)
111+
if (token.signal() == Signal::BEGIN_MESSAGE &&
112+
token.fieldId() == id &&
113+
token.tokenVersion() <= version)
114114
{
115115
result = tokens;
116116
}
@@ -124,7 +124,7 @@ class IrDecoder
124124
std::shared_ptr<std::vector<Token>> result;
125125

126126
std::for_each(m_messages.begin(), m_messages.end(),
127-
[&](std::shared_ptr<std::vector<Token>> tokens)
127+
[&](const std::shared_ptr<std::vector<Token>> &tokens)
128128
{
129129
Token &token = tokens->at(0);
130130

@@ -191,9 +191,14 @@ class IrDecoder
191191

192192
FrameCodec frame;
193193
std::uint64_t offset = 0;
194-
char tmp[256];
194+
char tmp[256] = {};
195195

196-
frame.wrapForDecode(m_buffer.get(), offset, frame.sbeBlockLength(), frame.sbeSchemaVersion(), m_length);
196+
frame.wrapForDecode(
197+
m_buffer.get(),
198+
offset,
199+
FrameCodec::sbeBlockLength(),
200+
FrameCodec::sbeSchemaVersion(),
201+
m_length);
197202

198203
frame.getPackageName(tmp, sizeof(tmp));
199204

@@ -229,7 +234,11 @@ class IrDecoder
229234

230235
TokenCodec tokenCodec;
231236
tokenCodec.wrapForDecode(
232-
m_buffer.get(), offset, tokenCodec.sbeBlockLength(), tokenCodec.sbeSchemaVersion(), m_length);
237+
m_buffer.get(),
238+
offset,
239+
TokenCodec::sbeBlockLength(),
240+
TokenCodec::sbeSchemaVersion(),
241+
m_length);
233242

234243
auto signal = static_cast<Signal>(tokenCodec.signal());
235244
auto type = static_cast<PrimitiveType>(tokenCodec.primitiveType());
@@ -240,7 +249,7 @@ class IrDecoder
240249
std::int32_t id = tokenCodec.fieldId();
241250
std::int32_t version = tokenCodec.tokenVersion();
242251
std::int32_t componentTokenCount = tokenCodec.componentTokenCount();
243-
char tmpBuffer[256];
252+
char tmpBuffer[256] = {};
244253
std::uint64_t tmpLen = 0;
245254

246255
tmpLen = tokenCodec.getName(tmpBuffer, sizeof(tmpBuffer));

sbe-tool/src/main/cpp/otf/OtfMessageDecoder.h

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -157,14 +157,13 @@ static void decodeComposite(
157157
std::uint64_t actingVersion,
158158
TokenListener &listener)
159159
{
160-
listener.onBeginComposite(fieldToken, *tokens.get(), tokenIndex, toIndex);
160+
listener.onBeginComposite(fieldToken, *tokens, tokenIndex, toIndex);
161161

162162
for (size_t i = tokenIndex + 1; i < toIndex;)
163163
{
164164
Token &token = tokens->at(i);
165165
const size_t nextFieldIndex = i + token.componentTokenCount();
166-
167-
const std::size_t offset = static_cast<std::size_t>(token.offset());
166+
const auto offset = static_cast<std::size_t>(token.offset());
168167

169168
switch (token.signal())
170169
{
@@ -183,12 +182,12 @@ static void decodeComposite(
183182

184183
case Signal::BEGIN_ENUM:
185184
listener.onEnum(
186-
fieldToken, buffer + bufferIndex + offset, *tokens.get(), i, nextFieldIndex - 1, actingVersion);
185+
fieldToken, buffer + bufferIndex + offset, *tokens, i, nextFieldIndex - 1, actingVersion);
187186
break;
188187

189188
case Signal::BEGIN_SET:
190189
listener.onBitSet(
191-
fieldToken, buffer + bufferIndex + offset, *tokens.get(), i, nextFieldIndex - 1, actingVersion);
190+
fieldToken, buffer + bufferIndex + offset, *tokens, i, nextFieldIndex - 1, actingVersion);
192191
break;
193192

194193
case Signal::ENCODING:
@@ -202,7 +201,7 @@ static void decodeComposite(
202201
i += token.componentTokenCount();
203202
}
204203

205-
listener.onEndComposite(fieldToken, *tokens.get(), tokenIndex, toIndex);
204+
listener.onEndComposite(fieldToken, *tokens, tokenIndex, toIndex);
206205
}
207206

208207
template<typename TokenListener>
@@ -246,13 +245,11 @@ static size_t decodeFields(
246245
break;
247246

248247
case Signal::BEGIN_ENUM:
249-
listener.onEnum(
250-
fieldToken, buffer + offset, *tokens.get(), tokenIndex, nextFieldIndex - 2, actingVersion);
248+
listener.onEnum(fieldToken, buffer + offset, *tokens, tokenIndex, nextFieldIndex - 2, actingVersion);
251249
break;
252250

253251
case Signal::BEGIN_SET:
254-
listener.onBitSet(
255-
fieldToken, buffer + offset, *tokens.get(), tokenIndex, nextFieldIndex - 2, actingVersion);
252+
listener.onBitSet(fieldToken, buffer + offset, *tokens, tokenIndex, nextFieldIndex - 2, actingVersion);
256253
break;
257254

258255
case Signal::ENCODING:
@@ -342,7 +339,7 @@ std::pair<size_t, size_t> decodeGroups(
342339
const bool isPresent = token.tokenVersion() <= static_cast<std::int32_t>(actingVersion);
343340

344341
Token &dimensionsTypeComposite = tokens->at(tokenIndex + 1);
345-
std::size_t dimensionsLength = static_cast<std::size_t>(dimensionsTypeComposite.encodedLength());
342+
auto dimensionsLength = static_cast<std::size_t>(dimensionsTypeComposite.encodedLength());
346343

347344
if ((bufferIndex + dimensionsLength) > length)
348345
{
@@ -391,7 +388,7 @@ std::pair<size_t, size_t> decodeGroups(
391388
tokenIndex += token.componentTokenCount();
392389
}
393390

394-
return std::pair<size_t, size_t>(bufferIndex, tokenIndex);
391+
return { bufferIndex, tokenIndex };
395392
}
396393

397394
/**

0 commit comments

Comments
 (0)