aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/strconv/quote.go2
-rw-r--r--src/strconv/quote_test.go1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/strconv/quote.go b/src/strconv/quote.go
index 9d20b75a58..6c022846c0 100644
--- a/src/strconv/quote.go
+++ b/src/strconv/quote.go
@@ -99,7 +99,7 @@ func appendEscapedRune(buf []byte, r rune, quote byte, ASCIIonly, graphicOnly bo
buf = append(buf, `\v`...)
default:
switch {
- case r < ' ':
+ case r < ' ' || r == 0x7f:
buf = append(buf, `\x`...)
buf = append(buf, lowerhex[byte(r)>>4])
buf = append(buf, lowerhex[byte(r)&0xF])
diff --git a/src/strconv/quote_test.go b/src/strconv/quote_test.go
index 81fc8f79e1..fc000de7b1 100644
--- a/src/strconv/quote_test.go
+++ b/src/strconv/quote_test.go
@@ -55,6 +55,7 @@ var quotetests = []quoteTest{
{"\x04", `"\x04"`, `"\x04"`, `"\x04"`},
// Some non-printable but graphic runes. Final column is double-quoted.
{"!\u00a0!\u2000!\u3000!", `"!\u00a0!\u2000!\u3000!"`, `"!\u00a0!\u2000!\u3000!"`, "\"!\u00a0!\u2000!\u3000!\""},
+ {"\x7f", `"\x7f"`, `"\x7f"`, `"\x7f"`},
}
func TestQuote(t *testing.T) {