PMunch / binaryparse

Binary parser for Nim
MIT License
71 stars 6 forks source link

bug on simple parsing? #18

Open pietroppeter opened 2 years ago

pietroppeter commented 2 years ago

ran into it while trying this library for today's aoc:

import binaryparse, streams

block:
  let test1 = newStringStream("\xD2\xFE\x28")

  createParser(packet):
    u3: version
    u3: typeId

  var data = packet.get(test1)
  dump data

outputs:

data = (version: 6, typeId: 7)

but typeId should be 4.

For comparison binarylang has the correct output:

import binarylang

block:
  let test1 = newStringBitStream("\xD2\xFE\x28")

  struct(packet):
    u3: version
    u3: typeId

  var data = packet.get(test1)
  # data is an object without a $ proc defined
  echo data.version
  echo data.typeId

outputs:

6
4