Home | History | Annotate | Download | only in filepath
      1 // Copyright 2010 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 // +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris
      6 
      7 package filepath
      8 
      9 import "strings"
     10 
     11 // IsAbs reports whether the path is absolute.
     12 func IsAbs(path string) bool {
     13 	return strings.HasPrefix(path, "/")
     14 }
     15 
     16 // volumeNameLen returns length of the leading volume name on Windows.
     17 // It returns 0 elsewhere.
     18 func volumeNameLen(path string) int {
     19 	return 0
     20 }
     21 
     22 // HasPrefix exists for historical compatibility and should not be used.
     23 func HasPrefix(p, prefix string) bool {
     24 	return strings.HasPrefix(p, prefix)
     25 }
     26 
     27 func splitList(path string) []string {
     28 	if path == "" {
     29 		return []string{}
     30 	}
     31 	return strings.Split(path, string(ListSeparator))
     32 }
     33 
     34 func abs(path string) (string, error) {
     35 	return unixAbs(path)
     36 }
     37 
     38 func join(elem []string) string {
     39 	// If there's a bug here, fix the logic in ./path_plan9.go too.
     40 	for i, e := range elem {
     41 		if e != "" {
     42 			return Clean(strings.Join(elem[i:], string(Separator)))
     43 		}
     44 	}
     45 	return ""
     46 }
     47