func writeKeys(w io.Writer, n *store.NodeExtern) uint64 { maxIndex := n.ModifiedIndex nodes := n.Nodes // remove store v2 bucket prefix n.Key = n.Key[2:] if n.Key == "" { n.Key = "/" } if n.Dir { n.Nodes = nil } if !migrateExcludeTTLKey || n.TTL == 0 { b, err := json.Marshal(n) if err != nil { ExitWithError(ExitError, err) } fmt.Fprint(w, string(b)) } for _, nn := range nodes { max := writeKeys(w, nn) if max > maxIndex { maxIndex = max } } return maxIndex }
func trimNodeExternPrefix(n *store.NodeExtern, prefix string) { if n == nil { return } n.Key = strings.TrimPrefix(n.Key, prefix) for _, nn := range n.Nodes { trimNodeExternPrefix(nn, prefix) } }