From 785e4022477248390565be20c52843b7b7c79222 Mon Sep 17 00:00:00 2001 From: Dmitry Polienko Date: Sat, 22 Oct 2016 17:53:51 +0700 Subject: [PATCH] Make `createDir` more robust Should now properly work for root directories on Windows (after isAbsolute is fixed) --- lib/pure/os.nim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/pure/os.nim b/lib/pure/os.nim index 88b1bd280..83d98a3fe 100644 --- a/lib/pure/os.nim +++ b/lib/pure/os.nim @@ -1064,8 +1064,10 @@ proc createDir*(dir: string) {.rtl, extern: "nos$1", tags: [WriteDirEffect].} = omitNext = false else: discard tryCreateDir(substr(dir, 0, i-1)) + # The loop does not create the dir itself if it doesn't end in separator - if dir[^1] notin {DirSep, AltSep}: + if dir.len > 0 and not omitNext and + dir[^1] notin {DirSep, AltSep}: discard tryCreateDir(dir) proc copyDir*(source, dest: string) {.rtl, extern: "nos$1",