diff options
author | Josh Haberman <jhaberman@gmail.com> | 2015-07-30 14:54:03 -0700 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2015-07-30 14:54:03 -0700 |
commit | abcb6428ad9bf7d650455a0a180647a05183fd9d (patch) | |
tree | 0408268278840d8954ef3d0c6d18c8ba16524817 /third_party/dynasm/dasm_proto.h | |
parent | ecaf82d13401bf4d8ae3fd7e099a11c94d554555 (diff) |
Changed parser semantics around skipping.
Prior to this change:
parse(buf, len) -> len + N
...would indicate that the next N bytes of the input are not
needed, *and* would advance the decoding position by this
much.
After this change:
parse(buf, len) -> len + N
parse(NULL, N) -> N
...can be used to achieve the same thing. But skipping the
N bytes is not explicitly performed by the user. A user that
doesn't want/need to skip can just say:
parsed = parse(buf, len);
if (parsed < len) {
// Handle suspend, advance stream by "parsed".
} else {
// Stream was advanced by "len" (even if parsed > len).
}
Updated unit tests to test this new behavior, and refactored
test utility code a bit to support it.
Diffstat (limited to 'third_party/dynasm/dasm_proto.h')
0 files changed, 0 insertions, 0 deletions