From 43996c24a0e82dd935f0509bf7c9415ccb573b93 Mon Sep 17 00:00:00 2001 From: Jacek Sieka Date: Wed, 8 Jun 2016 23:28:16 +0800 Subject: [PATCH] fix errno in os.nim --- lib/pure/os.nim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/pure/os.nim b/lib/pure/os.nim index 86dd903e75..8a39096d97 100644 --- a/lib/pure/os.nim +++ b/lib/pure/os.nim @@ -51,6 +51,8 @@ proc c_getenv(env: cstring): cstring {. proc c_putenv(env: cstring): cint {. importc: "putenv", header: "".} +var errno {.importc, header: "".}: cint + proc osErrorMsg*(): string {.rtl, extern: "nos$1", deprecated.} = ## Retrieves the operating system's error flag, ``errno``. ## On Windows ``GetLastError`` is checked before ``errno``. @@ -74,8 +76,9 @@ proc osErrorMsg*(): string {.rtl, extern: "nos$1", deprecated.} = nil, err, 0, addr(msgbuf), 0, nil) != 0'i32: result = $msgbuf if msgbuf != nil: localFree(msgbuf) - if errno != 0'i32: - result = $os.c_strerror(errno) + else: + if errno != 0'i32: + result = $os.c_strerror(errno) {.push warning[deprecated]: off.} proc raiseOSError*(msg: string = "") {.noinline, rtl, extern: "nos$1",