summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorTomasz Kramkowski <tk@the-tk.com>2021-10-29 10:39:41 +0100
committerGitHub <noreply@github.com>2021-10-29 11:39:41 +0200
commitee703c5db4ceb8d0228b4429c53d85d5f1ff91ea (patch)
treebd6adba483089d41f3163008d4b10e2f8c0b3a54 /lib
parent7ba2659f733b97db63b7552415ad048e34d4a11a (diff)
downloadNim-ee703c5db4ceb8d0228b4429c53d85d5f1ff91ea.tar.gz
Fix nimIdentNormalize, fixes #19067 (#19068)
* Make nimIdentNormalize return "" when passed ""; fixes #19067

Fixes #19067

* Add tests for nimIdentNormalize
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/strutils.nim5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim
index 2234a8625..e4a4a5ec1 100644
--- a/lib/pure/strutils.nim
+++ b/lib/pure/strutils.nim
@@ -281,8 +281,9 @@ func nimIdentNormalize*(s: string): string =
   runnableExamples:
     doAssert nimIdentNormalize("Foo_bar") == "Foobar"
   result = newString(s.len)
-  if s.len > 0:
-    result[0] = s[0]
+  if s.len == 0:
+    return
+  result[0] = s[0]
   var j = 1
   for i in 1..len(s) - 1:
     if s[i] in {'A'..'Z'}: