mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
Fix #9126: use splitPath instead of substr
This commit is contained in:
@@ -1048,7 +1048,7 @@ proc copyDir*(source, dest: string) {.rtl, extern: "nos$1",
|
||||
## these platforms use `copyDirWithPermissions() <#copyDirWithPermissions>`_.
|
||||
createDir(dest)
|
||||
for kind, path in walkDir(source):
|
||||
var noSource = path.substr(source.len()+1)
|
||||
var noSource = splitPath(path).tail
|
||||
case kind
|
||||
of pcFile:
|
||||
copyFile(path, dest / noSource)
|
||||
@@ -1232,7 +1232,7 @@ proc copyDirWithPermissions*(source, dest: string,
|
||||
if not ignorePermissionErrors:
|
||||
raise
|
||||
for kind, path in walkDir(source):
|
||||
var noSource = path.substr(source.len()+1)
|
||||
var noSource = splitPath(path).tail
|
||||
case kind
|
||||
of pcFile:
|
||||
copyFileWithPermissions(path, dest / noSource, ignorePermissionErrors)
|
||||
|
||||
@@ -43,6 +43,8 @@ true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
|
||||
'''
|
||||
"""
|
||||
@@ -132,6 +134,18 @@ echo fileExists("../dest/a/b/file.txt")
|
||||
echo fileExists("../dest/a/b/c/fileC.txt")
|
||||
removeDir("../dest")
|
||||
|
||||
# test copyDir:
|
||||
# if separator at the end of a path
|
||||
createDir("a/b")
|
||||
open("a/file.txt", fmWrite).close
|
||||
|
||||
copyDir("a/", "../dest/a/")
|
||||
removeDir("a")
|
||||
|
||||
echo dirExists("../dest/a/b")
|
||||
echo fileExists("../dest/a/file.txt")
|
||||
removeDir("../dest")
|
||||
|
||||
# Test get/set modification times
|
||||
# Should support at least microsecond resolution
|
||||
import times
|
||||
|
||||
Reference in New Issue
Block a user