From 2ae54ef74e9b156e6a55e7e2f0ce701535dc15e7 Mon Sep 17 00:00:00 2001 From: David Dworken Date: Tue, 14 Feb 2023 08:47:38 -0800 Subject: [PATCH] Simplify stripBackslash --- client/lib/lib.go | 8 +++----- client/lib/lib_test.go | 3 +++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/client/lib/lib.go b/client/lib/lib.go index 469fb60..63f7fa4 100644 --- a/client/lib/lib.go +++ b/client/lib/lib.go @@ -1274,13 +1274,11 @@ func containsUnescaped(query string, token string) bool { } func stripBackslash(query string) string { - runeQuery := []rune(query) var newQuery []rune - for i := 0; i < len(runeQuery); i++ { - if runeQuery[i] == '\\' && i+1 < len(runeQuery) { - i++ + for _, char := range query { + if char != '\\' { + newQuery = append(newQuery, char) } - newQuery = append(newQuery, runeQuery[i]) } return string(newQuery) } diff --git a/client/lib/lib_test.go b/client/lib/lib_test.go index f907eb5..ef30631 100644 --- a/client/lib/lib_test.go +++ b/client/lib/lib_test.go @@ -489,6 +489,9 @@ func TestStripBackslash(t *testing.T) { {"f \\bar", "f bar"}, {"f\\:bar", "f:bar"}, {"f\\:bar\\", "f:bar"}, + {"\\f\\:bar\\", "f:bar"}, + {"", ""}, + {"\\\\", ""}, } for _, tc := range testcases { actual := stripBackslash(tc.input)