MCPcopy Create free account
hub / github.com/chainreactors/EvilProxy / deepCopyNodeSeen

Function deepCopyNodeSeen

internal/config/config.go:1611–1630  ·  view source on GitHub ↗
(n *yaml.Node, seen map[*yaml.Node]*yaml.Node)

Source from the content-addressed store, hash-verified

1609}
1610
1611func deepCopyNodeSeen(n *yaml.Node, seen map[*yaml.Node]*yaml.Node) *yaml.Node {
1612 if n == nil {
1613 return nil
1614 }
1615 if cp, ok := seen[n]; ok {
1616 return cp
1617 }
1618 cp := *n
1619 seen[n] = &cp
1620 if n.Alias != nil {
1621 cp.Alias = deepCopyNodeSeen(n.Alias, seen)
1622 }
1623 if len(n.Content) > 0 {
1624 cp.Content = make([]*yaml.Node, len(n.Content))
1625 for i := range n.Content {
1626 cp.Content[i] = deepCopyNodeSeen(n.Content[i], seen)
1627 }
1628 }
1629 return &cp
1630}
1631
1632// copyNodeShallow copies type/tag/value and resets content to match src, but
1633// keeps the same destination node pointer to preserve parent relations/comments.

Callers 1

deepCopyNodeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected