Skip to content

Commit d165583

Browse files
committed
fix: Fix string; Trunc trailing \0
1 parent 80b3b95 commit d165583

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/binary_parser.cr

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,11 @@ class BinaryParser
174174

175175
def _read_{{name.id}}(io : IO)
176176
{% if opt[:count] != -1 %}
177-
slice = io.read({{opt[:count]}})
178-
@{{name.id}} = String.new(slice)
177+
buf = Slice(UInt8).new({{opt[:count]}})
178+
io.read(buf)
179+
str = String.new(buf)
180+
len = str.byte_index(0) || str.bytesize
181+
@{{name.id}} = str.byte_slice(0, len)
179182
{% else %}
180183
@{{name.id}} = io.gets('\0')
181184
{% end %}

0 commit comments

Comments
 (0)