1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

os: fix os.mv edge case and Windows style paths (#6302)

This commit is contained in:
Larpon 2020-09-06 13:12:07 +02:00 committed by GitHub
parent 9fbea31f47
commit 51d7d7cfae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 9 deletions

View File

@ -60,10 +60,12 @@ pub fn file_size(path string) int {
pub fn mv(src, dst string) { pub fn mv(src, dst string) {
mut rdst := dst mut rdst := dst
if is_dir(rdst) { if is_dir(rdst) {
rdst = join_path(rdst,file_name(src.trim_right(path_separator))) rdst = join_path(rdst.trim_right(path_separator),file_name(src.trim_right(path_separator)))
} }
$if windows { $if windows {
C._wrename(src.to_wide(), rdst.to_wide()) w_src := src.replace('/', '\\')
w_dst := rdst.replace('/', '\\')
C._wrename(w_src.to_wide(), w_dst.to_wide())
} $else { } $else {
C.rename(charptr(src.str), charptr(rdst.str)) C.rename(charptr(src.str), charptr(rdst.str))
} }

View File

@ -186,13 +186,9 @@ fn test_cp() {
os.rm(new_file_name) os.rm(new_file_name)
} }
/*
fn test_mv() { fn test_mv() {
work_dir := os.join_path(os.temp_dir(),'v','mv_test') work_dir := os.join_path(os.getwd(),'mv_test')
if os.exists(work_dir) { os.mkdir_all(work_dir)
os.rmdir_all(work_dir)
}
mkdir_all(work_dir)
// Setup test files // Setup test files
tfile1 := os.join_path(work_dir,'file') tfile1 := os.join_path(work_dir,'file')
tfile2 := os.join_path(work_dir,'file.test') tfile2 := os.join_path(work_dir,'file.test')
@ -230,7 +226,6 @@ fn test_mv() {
expected = tfile3 expected = tfile3
assert os.exists(expected) && !is_dir(expected) == true assert os.exists(expected) && !is_dir(expected) == true
} }
*/
fn test_cp_r() { fn test_cp_r() {
// fileX -> dir/fileX // fileX -> dir/fileX