1
0
mirror of https://github.com/golang/go synced 2024-11-11 20:20:23 -07:00

os: remove dependency on strings package

Historically the os package has not imported the strings package.
That was enforced by go/build.TestDependencies, but that test
was accidentally broken (#43249). A dependency of os on strings
was accidentally added by CL 266364; remove it.

For #42026
For #43249

Change-Id: If932308f30561fdcc5c608d7563e849c0d2870d8
Reviewed-on: https://go-review.googlesource.com/c/go/+/279072
Trust: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
This commit is contained in:
Ian Lance Taylor 2020-12-17 14:57:20 -08:00
parent ae652a4ac9
commit 2de7866470
2 changed files with 12 additions and 15 deletions

View File

@ -336,16 +336,6 @@ func hasPrefix(s, prefix string) bool {
return len(s) >= len(prefix) && s[0:len(prefix)] == prefix return len(s) >= len(prefix) && s[0:len(prefix)] == prefix
} }
// LastIndexByte from the strings package.
func lastIndex(s string, sep byte) int {
for i := len(s) - 1; i >= 0; i-- {
if s[i] == sep {
return i
}
}
return -1
}
func rename(oldname, newname string) error { func rename(oldname, newname string) error {
dirname := oldname[:lastIndex(oldname, '/')+1] dirname := oldname[:lastIndex(oldname, '/')+1]
if hasPrefix(newname, dirname) { if hasPrefix(newname, dirname) {

View File

@ -4,10 +4,7 @@
package os package os
import ( import "errors"
"errors"
"strings"
)
// fastrand provided by runtime. // fastrand provided by runtime.
// We generate random temporary file names so that there's a good // We generate random temporary file names so that there's a good
@ -62,7 +59,7 @@ func prefixAndSuffix(pattern string) (prefix, suffix string, err error) {
return "", "", errPatternHasSeparator return "", "", errPatternHasSeparator
} }
} }
if pos := strings.LastIndex(pattern, "*"); pos != -1 { if pos := lastIndex(pattern, '*'); pos != -1 {
prefix, suffix = pattern[:pos], pattern[pos+1:] prefix, suffix = pattern[:pos], pattern[pos+1:]
} else { } else {
prefix = pattern prefix = pattern
@ -116,3 +113,13 @@ func joinPath(dir, name string) string {
} }
return dir + string(PathSeparator) + name return dir + string(PathSeparator) + name
} }
// LastIndexByte from the strings package.
func lastIndex(s string, sep byte) int {
for i := len(s) - 1; i >= 0; i-- {
if s[i] == sep {
return i
}
}
return -1
}