Skip to content

Commit 14b9bd8

Browse files
committed
shortcuts, return full string instead of copying it
1 parent 231c279 commit 14b9bd8

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

kaitai/kaitaistream.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,11 +399,15 @@ std::string kaitai::kstream::ensure_fixed_contents(std::string expected) {
399399
}
400400

401401
std::string kaitai::kstream::bytes_strip_right(std::string src, char pad_byte) {
402-
std::size_t new_len = src.length();
402+
std::size_t max_len = src.length();
403+
std::size_t new_len = max_len;
403404

404405
while (new_len > 0 && src[new_len - 1] == pad_byte)
405406
new_len--;
406407

408+
if (new_len == max_len)
409+
return src;
410+
407411
return src.substr(0, new_len);
408412
}
409413

@@ -417,6 +421,9 @@ std::string kaitai::kstream::bytes_terminate(std::string src, char term, bool in
417421
if (include && new_len < max_len)
418422
new_len++;
419423

424+
if (new_len == max_len)
425+
return src;
426+
420427
return src.substr(0, new_len);
421428
}
422429

0 commit comments

Comments
 (0)