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:
parent
9fbea31f47
commit
51d7d7cfae
@ -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))
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user