summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/pure/os.nim11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/pure/os.nim b/lib/pure/os.nim
index 34819b396..5f957fea9 100644
--- a/lib/pure/os.nim
+++ b/lib/pure/os.nim
@@ -1015,21 +1015,20 @@ proc rawCreateDir(dir: string): bool =
   # Returns `true` if the directory was created, `false` if it already exists.
   when defined(solaris):
     let res = mkdir(dir, 0o777)
-    case res
-    of 0'i32:
+    if res == 0'i32:
       result = true
-    of EEXIST, ENOSYS:
+    elif errno in {EEXIST, ENOSYS}:
       result = false
     else:
       raiseOSError(osLastError())
   elif defined(unix):
     let res = mkdir(dir, 0o777)
-    case res
-    of 0'i32:
+    if res == 0'i32:
       result = true
-    of EEXIST:
+    elif errno == EEXIST:
       result = false
     else:
+      echo res
       raiseOSError(osLastError())
   else:
     when useWinUnicode: