From c1aecb8914b7e14089a3ae817e57ed53bcbba8f2 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Mon, 24 Sep 2018 13:15:46 +0200 Subject: [PATCH] os.nim: allow walkDir to work on hierarchies with dangling symbolic links; refs #9034 --- lib/pure/os.nim | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/pure/os.nim b/lib/pure/os.nim index 2b3cf5142..91d4f0f9d 100644 --- a/lib/pure/os.nim +++ b/lib/pure/os.nim @@ -802,20 +802,16 @@ type pcDir, ## path refers to a directory pcLinkToDir ## path refers to a symbolic link to a directory - when defined(posix): proc getSymlinkFileKind(path: string): PathComponent = # Helper function. var s: Stat assert(path != "") - if stat(path, s) < 0'i32: - raiseOSError(osLastError()) - if S_ISDIR(s.st_mode): + if stat(path, s) == 0'i32 and S_ISDIR(s.st_mode): result = pcLinkToDir else: result = pcLinkToFile - proc staticWalkDir(dir: string; relative: bool): seq[ tuple[kind: PathComponent, path: string]] = discard