github.com/riscv/riscv-go@v0.0.0-20200123204226-124ebd6fcc8e/src/os/path_unix.go (about)

     1  // Copyright 2011 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 os
     8  
     9  const (
    10  	PathSeparator     = '/' // OS-specific path separator
    11  	PathListSeparator = ':' // OS-specific path list separator
    12  )
    13  
    14  // IsPathSeparator reports whether c is a directory separator character.
    15  func IsPathSeparator(c uint8) bool {
    16  	return PathSeparator == c
    17  }
    18  
    19  // basename removes trailing slashes and the leading directory name from path name
    20  func basename(name string) string {
    21  	i := len(name) - 1
    22  	// Remove trailing slashes
    23  	for ; i > 0 && name[i] == '/'; i-- {
    24  		name = name[:i]
    25  	}
    26  	// Remove leading directory name
    27  	for i--; i >= 0; i-- {
    28  		if name[i] == '/' {
    29  			name = name[i+1:]
    30  			break
    31  		}
    32  	}
    33  
    34  	return name
    35  }