Skip to content

Commit 41191e1

Browse files
committed
go/constant: fix String() implementation
Fixes #14262. Change-Id: Id590995dd4460e81f6b91bcfb3f02515a97650fe Reviewed-on: https://go-review.googlesource.com/19361 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Alan Donovan <adonovan@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
1 parent 77b4c8d commit 41191e1

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

src/go/constant/value.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func (x stringVal) String() string {
9696
// only the first maxLen-3 runes; then add "...".
9797
i := 0
9898
for n := 0; n < maxLen-3; n++ {
99-
_, size := utf8.DecodeRuneInString(s)
99+
_, size := utf8.DecodeRuneInString(s[i:])
100100
i += size
101101
}
102102
s = s[:i] + "..."

src/go/constant/value_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ func eql(x, y Value) bool {
204204
// String tests
205205

206206
var xxx = strings.Repeat("x", 68)
207+
var issue14262 = `"بموجب الشروط التالية نسب المصنف — يجب عليك أن تنسب العمل بالطريقة التي تحددها المؤلف أو المرخص (ولكن ليس بأي حال من الأحوال أن توحي وتقترح بتحول أو استخدامك للعمل). المشاركة على قدم المساواة — إذا كنت يعدل ، والتغيير ، أو الاستفادة من هذا العمل ، قد ينتج عن توزيع العمل إلا في ظل تشابه او تطابق فى واحد لهذا الترخيص."`
207208

208209
var stringTests = []struct {
209210
input, short, exact string
@@ -225,6 +226,7 @@ var stringTests = []struct {
225226
{`"` + xxx + `xx"`, `"` + xxx + `xx"`, `"` + xxx + `xx"`},
226227
{`"` + xxx + `xxx"`, `"` + xxx + `...`, `"` + xxx + `xxx"`},
227228
{`"` + xxx + xxx + `xxx"`, `"` + xxx + `...`, `"` + xxx + xxx + `xxx"`},
229+
{issue14262, `"بموجب الشروط التالية نسب المصنف — يجب عليك أن تنسب العمل بالطريقة ال...`, issue14262},
228230

229231
// Int
230232
{"0", "0", "0"},

0 commit comments

Comments
 (0)