diff options
Diffstat (limited to 'src/pkg/bytes/bytes.go')
| -rw-r--r-- | src/pkg/bytes/bytes.go | 18 | 
1 files changed, 4 insertions, 14 deletions
| diff --git a/src/pkg/bytes/bytes.go b/src/pkg/bytes/bytes.go index bfe2ef39d..c12a13573 100644 --- a/src/pkg/bytes/bytes.go +++ b/src/pkg/bytes/bytes.go @@ -293,20 +293,10 @@ func Join(a [][]byte, sep []byte) []byte {  	}  	b := make([]byte, n) -	bp := 0 -	for i := 0; i < len(a); i++ { -		s := a[i] -		for j := 0; j < len(s); j++ { -			b[bp] = s[j] -			bp++ -		} -		if i+1 < len(a) { -			s = sep -			for j := 0; j < len(s); j++ { -				b[bp] = s[j] -				bp++ -			} -		} +	bp := copy(b, a[0]) +	for _, s := range a[1:] { +		bp += copy(b[bp:], sep) +		bp += copy(b[bp:], s)  	}  	return b  } | 
