github.com/olljanat/moby@v1.13.1/pkg/graphdb/utils_linux.go (about)

     1  package graphdb
     2  
     3  import (
     4  	"path"
     5  	"strings"
     6  )
     7  
     8  // Split p on /
     9  func split(p string) []string {
    10  	return strings.Split(p, "/")
    11  }
    12  
    13  // PathDepth returns the depth or number of / in a given path
    14  func PathDepth(p string) int {
    15  	parts := split(p)
    16  	if len(parts) == 2 && parts[1] == "" {
    17  		return 1
    18  	}
    19  	return len(parts)
    20  }
    21  
    22  func splitPath(p string) (parent, name string) {
    23  	if p[0] != '/' {
    24  		p = "/" + p
    25  	}
    26  	parent, name = path.Split(p)
    27  	l := len(parent)
    28  	if parent[l-1] == '/' {
    29  		parent = parent[:l-1]
    30  	}
    31  	return
    32  }