From c7b130b4e2b5350c8b48cdbbef35cd42e773f67f Mon Sep 17 00:00:00 2001 From: Araq Date: Fri, 19 Aug 2011 01:46:24 +0200 Subject: implemented --nimcache config option; big clean up of magic words --- lib/pure/os.nim | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lib/pure') diff --git a/lib/pure/os.nim b/lib/pure/os.nim index f33950376..feb2de977 100755 --- a/lib/pure/os.nim +++ b/lib/pure/os.nim @@ -512,6 +512,21 @@ proc cmpPaths*(pathA, pathB: string): int {. else: result = cmpIgnoreCase(pathA, pathB) +proc isAbsolute*(path: string): bool {.rtl, noSideEffect, extern: "nos$1".} = + ## Checks whether a given path is absolute. + ## + ## on Windows, network paths are considered absolute too. + var len = len(path) + when doslike: + result = (len > 1 and path[0] in {'/', '\\'}) or + (len > 2 and path[0] in Letters and path[1] == ':') + elif defined(macos): + result = len > 0 and path[0] != ':' + elif defined(RISCOS): + result = path[0] == '$' + elif defined(posix): + result = path[0] == '/' + proc sameFile*(path1, path2: string): bool {.rtl, extern: "nos$1".} = ## Returns True if both pathname arguments refer to the same file or ## directory (as indicated by device number and i-node number). -- cgit 1.4.1-2-gfad0