summaryrefslogtreecommitdiff
path: root/serialize.go
diff options
context:
space:
mode:
Diffstat (limited to 'serialize.go')
-rw-r--r--serialize.go14
1 files changed, 12 insertions, 2 deletions
diff --git a/serialize.go b/serialize.go
index 4001dc7..b89a32e 100644
--- a/serialize.go
+++ b/serialize.go
@@ -153,11 +153,21 @@ func Serialize(blk *MapBlk, w io.Writer, nameIdMap map[mt.Content]string) {
var localNameIdMap = make(map[mt.Content]string)
for i := 0; i < 4096; i++ {
- if _, ok := localNameIdMap[blk.Param0[i]]; ok {
+ id := blk.Param0[i]
+ if isSpecial(id) {
continue
}
- localNameIdMap[blk.Param0[i]] = nameIdMap[blk.Param0[i]]
+ if _, ok := localNameIdMap[id]; ok {
+ continue
+ }
+
+ name, ok := nameIdMap[id]
+ if !ok {
+ panic(ErrInvalidNodeId{id})
+ }
+
+ localNameIdMap[id] = name
}
var nameIdMapCount = uint16(len(localNameIdMap))