summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/os.nim9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/pure/os.nim b/lib/pure/os.nim
index ba6405621..a329d232a 100644
--- a/lib/pure/os.nim
+++ b/lib/pure/os.nim
@@ -103,9 +103,18 @@ proc normalizePathEnd(path: var string, trailingSep = false) =
     path = $DirSep
 
 proc normalizePathEnd(path: string, trailingSep = false): string =
+  ## outplace overload
+  runnableExamples:
+    when defined(posix):
+      assert normalizePathEnd("/lib//", trailingSep = true) == "/lib/"
+      assert normalizePathEnd("lib//", trailingSep = false) == "lib"
+      assert normalizePathEnd("", trailingSep = true) == "" # not / !
   result = path
   result.normalizePathEnd(trailingSep)
 
+when (NimMajor, NimMinor) >= (1, 1):
+  export normalizePathEnd
+
 proc joinPath*(head, tail: string): string {.
   noSideEffect, rtl, extern: "nos$1".} =
   ## Joins two directory names to one.