]> git.lizzy.rs Git - mtmap.git/blobdiff - serialize.go
Skip special ids
[mtmap.git] / serialize.go
index 4001dc7535dd22606e71e9568c1c4feaf9efd517..b89a32e7cfc6ee834680c064316ba7a552674e10 100644 (file)
@@ -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))