From b39329bff56abf35edc91537252782814a7a4f84 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Wed, 28 Oct 2015 08:58:26 +1100 Subject: [PATCH] unicode/utf8: don't imply that the empty string is incorrect UTF-8 Change-Id: Idd9523949ee4f2f304b12be39f8940ba34a420be Reviewed-on: https://go-review.googlesource.com/16361 Reviewed-by: Russ Cox --- src/unicode/utf8/utf8.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/unicode/utf8/utf8.go b/src/unicode/utf8/utf8.go index bcb0de402e..bbaf14aab8 100644 --- a/src/unicode/utf8/utf8.go +++ b/src/unicode/utf8/utf8.go @@ -145,7 +145,7 @@ func FullRuneInString(s string) bool { // DecodeRune unpacks the first UTF-8 encoding in p and returns the rune and // its width in bytes. If p is empty it returns (RuneError, 0). Otherwise, if // the encoding is invalid, it returns (RuneError, 1). Both are impossible -// results for correct UTF-8. +// results for correct, non-empty UTF-8. // // An encoding is invalid if it is incorrect UTF-8, encodes a rune that is // out of range, or is not the shortest possible UTF-8 encoding for the @@ -192,7 +192,8 @@ func DecodeRune(p []byte) (r rune, size int) { // DecodeRuneInString is like DecodeRune but its input is a string. If s is // empty it returns (RuneError, 0). Otherwise, if the encoding is invalid, it -// returns (RuneError, 1). Both are impossible results for correct UTF-8. +// returns (RuneError, 1). Both are impossible results for correct, non-empty +// UTF-8. // // An encoding is invalid if it is incorrect UTF-8, encodes a rune that is // out of range, or is not the shortest possible UTF-8 encoding for the @@ -240,7 +241,7 @@ func DecodeRuneInString(s string) (r rune, size int) { // DecodeLastRune unpacks the last UTF-8 encoding in p and returns the rune and // its width in bytes. If p is empty it returns (RuneError, 0). Otherwise, if // the encoding is invalid, it returns (RuneError, 1). Both are impossible -// results for correct UTF-8. +// results for correct, non-empty UTF-8. // // An encoding is invalid if it is incorrect UTF-8, encodes a rune that is // out of range, or is not the shortest possible UTF-8 encoding for the @@ -279,7 +280,8 @@ func DecodeLastRune(p []byte) (r rune, size int) { // DecodeLastRuneInString is like DecodeLastRune but its input is a string. If // s is empty it returns (RuneError, 0). Otherwise, if the encoding is invalid, -// it returns (RuneError, 1). Both are impossible results for correct UTF-8. +// it returns (RuneError, 1). Both are impossible results for correct, +// non-empty UTF-8. // // An encoding is invalid if it is incorrect UTF-8, encodes a rune that is // out of range, or is not the shortest possible UTF-8 encoding for the