diff options
author | Rob Pike <r@golang.org> | 2012-02-10 14:12:17 +1100 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2012-02-10 14:12:17 +1100 |
commit | 763ed626730257468990862375868f4239b76e78 (patch) | |
tree | c13964efd8646ae3df8afe8495067fba5def1c70 /src/pkg | |
parent | b5877934a20fa13ee7a077cc40b7e7a905e3307e (diff) | |
download | go-763ed626730257468990862375868f4239b76e78.tar.gz |
unicode/utf8: document return value for decode errors
Also replace archaic definition of rune.
R=golang-dev, bradfitz
CC=golang-dev
http://codereview.appspot.com/5654048
Diffstat (limited to 'src/pkg')
-rw-r--r-- | src/pkg/unicode/utf8/utf8.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/pkg/unicode/utf8/utf8.go b/src/pkg/unicode/utf8/utf8.go index a5f9983b3..631533a5a 100644 --- a/src/pkg/unicode/utf8/utf8.go +++ b/src/pkg/unicode/utf8/utf8.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package utf8 implements functions and constants to support text encoded in -// UTF-8. This package calls a Unicode character a rune for brevity. +// UTF-8. It includes functions to translate between runes and UTF-8 byte sequences. package utf8 import "unicode" // only needed for a couple of constants @@ -198,19 +198,21 @@ func FullRuneInString(s string) bool { } // DecodeRune unpacks the first UTF-8 encoding in p and returns the rune and its width in bytes. +// If the encoding is invalid, it returns (RuneError, 1), an impossible result for correct UTF-8. func DecodeRune(p []byte) (r rune, size int) { r, size, _ = decodeRuneInternal(p) return } // DecodeRuneInString is like DecodeRune but its input is a string. +// If the encoding is invalid, it returns (RuneError, 1), an impossible result for correct UTF-8. func DecodeRuneInString(s string) (r rune, size int) { r, size, _ = decodeRuneInStringInternal(s) return } -// DecodeLastRune unpacks the last UTF-8 encoding in p -// and returns the rune and its width in bytes. +// DecodeLastRune unpacks the last UTF-8 encoding in p and returns the rune and its width in bytes. +// If the encoding is invalid, it returns (RuneError, 1), an impossible result for correct UTF-8. func DecodeLastRune(p []byte) (r rune, size int) { end := len(p) if end == 0 { @@ -244,6 +246,7 @@ func DecodeLastRune(p []byte) (r rune, size int) { } // DecodeLastRuneInString is like DecodeLastRune but its input is a string. +// If the encoding is invalid, it returns (RuneError, 1), an impossible result for correct UTF-8. func DecodeLastRuneInString(s string) (r rune, size int) { end := len(s) if end == 0 { |