diff options
-rwxr-xr-x | .gitignore | 1 | ||||
-rwxr-xr-x | lib/pure/os.nim | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore index 81bfbad89..c6300504c 100755 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ compiler/c2nim/nimcache compiler/pas2nim/nimcache misc doc/*.html +doc/*.pdf doc/*.idx /web/upload koch diff --git a/lib/pure/os.nim b/lib/pure/os.nim index 01daf5ad6..408fbd9d4 100755 --- a/lib/pure/os.nim +++ b/lib/pure/os.nim @@ -1103,8 +1103,15 @@ proc createDir*(dir: string) {.rtl, extern: "nos$1", tags: [FWriteDir].} = ## The full path is created. If this fails, `EOS` is raised. It does **not** ## fail if the path already exists because for most usages this does not ## indicate an error. + var omitNext = false + when defined(doslike): + omitNext = isAbsolute(dir) for i in 1.. dir.len-1: - if dir[i] in {dirsep, altsep}: rawCreateDir(substr(dir, 0, i-1)) + if dir[i] in {dirsep, altsep}: + if omitNext: + omitNext = false + else: + rawCreateDir(substr(dir, 0, i-1)) rawCreateDir(dir) proc copyDir*(source, dest: string) {.rtl, extern: "nos$1", |