create tag maps only when needed
parent
767e4f7ce8
commit
f1623d1432
|
@ -101,7 +101,8 @@ func ReadDenseNodes(
|
||||||
}
|
}
|
||||||
|
|
||||||
func ParseDenseNodeTags(stringtable StringTable, keysVals *[]int32, pos *int) map[string]string {
|
func ParseDenseNodeTags(stringtable StringTable, keysVals *[]int32, pos *int) map[string]string {
|
||||||
result := make(map[string]string)
|
// make map later if needed
|
||||||
|
var result map[string]string
|
||||||
for {
|
for {
|
||||||
if *pos >= len(*keysVals) {
|
if *pos >= len(*keysVals) {
|
||||||
return result
|
return result
|
||||||
|
@ -113,11 +114,17 @@ func ParseDenseNodeTags(stringtable StringTable, keysVals *[]int32, pos *int) ma
|
||||||
}
|
}
|
||||||
val := (*keysVals)[*pos]
|
val := (*keysVals)[*pos]
|
||||||
*pos += 1
|
*pos += 1
|
||||||
|
if result == nil {
|
||||||
|
result = make(map[string]string)
|
||||||
|
}
|
||||||
result[stringtable[key]] = stringtable[val]
|
result[stringtable[key]] = stringtable[val]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func ParseTags(stringtable StringTable, keys []uint32, vals []uint32) map[string]string {
|
func ParseTags(stringtable StringTable, keys []uint32, vals []uint32) map[string]string {
|
||||||
|
if len(keys) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
tags := make(map[string]string)
|
tags := make(map[string]string)
|
||||||
for i := 0; i < len(keys); i++ {
|
for i := 0; i < len(keys); i++ {
|
||||||
key := stringtable[keys[i]]
|
key := stringtable[keys[i]]
|
||||||
|
|
Loading…
Reference in New Issue