]> Cypherpunks repositories - gostls13.git/commit
bytes: make TrimSpace return nil on all-space input
authorBen Hoyt <benhoyt@gmail.com>
Wed, 27 Mar 2019 11:36:27 +0000 (07:36 -0400)
committerIan Lance Taylor <iant@golang.org>
Wed, 27 Mar 2019 13:52:52 +0000 (13:52 +0000)
commitf24e1099cb28d5ab793e5259c6ee2733227eb2f2
treed3de7d8aa2c4af9b0a5b4f1034f5dde6b6e3cdb8
parent39a51a4b0d698491baaa252e21be2a51516379ea
bytes: make TrimSpace return nil on all-space input

Issue #29122 introduced a subtle regression due to the way that
TrimFuncLeft is written: previously TrimSpace returned nil when given
an input of all whitespace, but with the #29122 changes it returned an
empty slice on all-space input.

This change adds a special case to the new, optimized TrimSpace to go
back to that behavior. While it is odd behavior and people shouldn't be
relying on these functions returning a nil slice in practice, it's not
worth the breakage of code that does.

This tweak doesn't change the TrimSpace benchmarks significantly.

Fixes #31038

Change-Id: Idb495d02b474054d2b2f593c2e318a7a6625688a
Reviewed-on: https://go-review.googlesource.com/c/go/+/169518
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/bytes/bytes.go
src/bytes/bytes_test.go