Skip to content

Commit be70448

Browse files
committed
[Java] Reuse local variable in var data generation.
1 parent 80615fc commit be70448

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ private CharSequence generateVarData(final String className, final List<Token> t
439439
indent + " std::uint64_t dataLength = %4$s(lengthFieldValue);\n" +
440440
indent + " std::uint64_t bytesToCopy = (length < dataLength) ? length : dataLength;\n" +
441441
indent + " std::uint64_t pos = sbePosition();\n" +
442-
indent + " sbePosition(sbePosition() + dataLength);\n" +
442+
indent + " sbePosition(pos + dataLength);\n" +
443443
indent + " std::memcpy(dst, m_buffer + pos, bytesToCopy);\n" +
444444
indent + " return bytesToCopy;\n" +
445445
indent + " }\n",
@@ -458,7 +458,7 @@ private CharSequence generateVarData(final String className, final List<Token> t
458458
indent + " sbePosition(lengthPosition + lengthOfLengthField);\n" +
459459
indent + " std::memcpy(m_buffer + lengthPosition, &lengthFieldValue, sizeof(%3$s));\n" +
460460
indent + " std::uint64_t pos = sbePosition();\n" +
461-
indent + " sbePosition(sbePosition() + length);\n" +
461+
indent + " sbePosition(pos + length);\n" +
462462
indent + " std::memcpy(m_buffer + pos, src, length);\n" +
463463
indent + " return *this;\n" +
464464
indent + " }\n",
@@ -480,7 +480,7 @@ private CharSequence generateVarData(final String className, final List<Token> t
480480
indent + " std::uint64_t dataLength = %4$s(lengthFieldValue);\n" +
481481
indent + " std::uint64_t pos = sbePosition();\n" +
482482
indent + " const std::string result(m_buffer + pos, dataLength);\n" +
483-
indent + " sbePosition(sbePosition() + dataLength);\n" +
483+
indent + " sbePosition(pos + dataLength);\n" +
484484
indent + " return result;\n" +
485485
indent + " }\n",
486486
propertyName,
@@ -502,7 +502,7 @@ private CharSequence generateVarData(final String className, final List<Token> t
502502
indent + " sbePosition(lengthPosition + lengthOfLengthField);\n" +
503503
indent + " std::memcpy(m_buffer + lengthPosition, &lengthFieldValue, sizeof(%4$s));\n" +
504504
indent + " std::uint64_t pos = sbePosition();\n" +
505-
indent + " sbePosition(sbePosition() + str.length());\n" +
505+
indent + " sbePosition(pos + str.length());\n" +
506506
indent + " std::memcpy(m_buffer + pos, str.c_str(), str.length());\n" +
507507
indent + " return *this;\n" +
508508
indent + " }\n",

0 commit comments

Comments
 (0)