From 1699ecdd1ada4741f10f89f1ee51b7be9635fca2 Mon Sep 17 00:00:00 2001
From: Hans Moog <hm@mkjc.net>
Date: Wed, 4 Mar 2020 00:07:09 +0100
Subject: [PATCH] Feat: cleaned up marshalutil

---
 packages/binary/marshalutil/generic_parser.go | 3 ---
 packages/binary/marshalutil/marshalutil.go    | 7 ++++---
 2 files changed, 4 insertions(+), 6 deletions(-)
 delete mode 100644 packages/binary/marshalutil/generic_parser.go

diff --git a/packages/binary/marshalutil/generic_parser.go b/packages/binary/marshalutil/generic_parser.go
deleted file mode 100644
index e8a7409c..00000000
--- a/packages/binary/marshalutil/generic_parser.go
+++ /dev/null
@@ -1,3 +0,0 @@
-package marshalutil
-
-type GenericParser func(data []byte) (result interface{}, err error, consumedBytes int)
diff --git a/packages/binary/marshalutil/marshalutil.go b/packages/binary/marshalutil/marshalutil.go
index 45ab8ad2..3e96aeff 100644
--- a/packages/binary/marshalutil/marshalutil.go
+++ b/packages/binary/marshalutil/marshalutil.go
@@ -38,10 +38,11 @@ func New(args ...interface{}) *MarshalUtil {
 	}
 }
 
-func (util *MarshalUtil) Parse(parser GenericParser) (result interface{}, err error) {
+func (util *MarshalUtil) Parse(parser func(data []byte) (result interface{}, err error, consumedBytes int)) (result interface{}, err error) {
 	result, err, readBytes := parser(util.bytes[util.readOffset:])
-
-	util.ReadSeek(util.readOffset + readBytes)
+	if err != nil {
+		util.ReadSeek(util.readOffset + readBytes)
+	}
 
 	return
 }
-- 
GitLab