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 5package filepath 6 7import "strings" 8 9// IsAbs reports whether the path is absolute. 10func IsAbs(path string) bool { 11 return strings.HasPrefix(path, "/") || strings.HasPrefix(path, "#") 12} 13 14// volumeNameLen returns length of the leading volume name on Windows. 15// It returns 0 elsewhere. 16func volumeNameLen(path string) int { 17 return 0 18} 19 20// HasPrefix exists for historical compatibility and should not be used. 21// 22// Deprecated: HasPrefix does not respect path boundaries and 23// does not ignore case when required. 24func HasPrefix(p, prefix string) bool { 25 return strings.HasPrefix(p, prefix) 26} 27 28func splitList(path string) []string { 29 if path == "" { 30 return []string{} 31 } 32 return strings.Split(path, string(ListSeparator)) 33} 34 35func abs(path string) (string, error) { 36 return unixAbs(path) 37} 38 39func join(elem []string) string { 40 // If there's a bug here, fix the logic in ./path_unix.go too. 41 for i, e := range elem { 42 if e != "" { 43 return Clean(strings.Join(elem[i:], string(Separator))) 44 } 45 } 46 return "" 47} 48 49func sameWord(a, b string) bool { 50 return a == b 51} 52