mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
compiler: add os.mv_by_cp and use it for the temporary files
This commit is contained in:
parent
0cf232d692
commit
a620e66af5
@ -11,7 +11,7 @@ fn main() {
|
|||||||
if os.file_exists( v_backup_file ) {
|
if os.file_exists( v_backup_file ) {
|
||||||
os.rm( v_backup_file )
|
os.rm( v_backup_file )
|
||||||
}
|
}
|
||||||
os.mv('$vroot/v.exe', v_backup_file)
|
os.mv_by_cp('$vroot/v.exe', v_backup_file) or { panic(err) }
|
||||||
s2 := os.exec('"$vroot/make.bat"') or { panic(err) }
|
s2 := os.exec('"$vroot/make.bat"') or { panic(err) }
|
||||||
println(s2.output)
|
println(s2.output)
|
||||||
} $else {
|
} $else {
|
||||||
|
@ -57,7 +57,9 @@ fn (v mut V) cc() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
os.mv(v.out_name_c, v.out_name)
|
|
||||||
|
// v.out_name_c may be on a different partition than v.out_name
|
||||||
|
os.mv_by_cp(v.out_name_c, v.out_name) or { panic(err) }
|
||||||
exit(0)
|
exit(0)
|
||||||
}
|
}
|
||||||
// Cross compiling for Windows
|
// Cross compiling for Windows
|
||||||
|
@ -187,6 +187,14 @@ pub fn cp_r(osource_path, odest_path string, overwrite bool) ?bool{
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// mv_by_cp first copies the source file, and if it is copied successfully, deletes the source file.
|
||||||
|
// mv_by_cp may be used when you are not sure that the source and target are on the same mount/partition.
|
||||||
|
pub fn mv_by_cp(source string, target string) ?bool {
|
||||||
|
os.cp(source, target) or { return error(err) }
|
||||||
|
os.rm(source)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
fn vfopen(path, mode string) *C.FILE {
|
fn vfopen(path, mode string) *C.FILE {
|
||||||
$if windows {
|
$if windows {
|
||||||
return C._wfopen(path.to_wide(), mode.to_wide())
|
return C._wfopen(path.to_wide(), mode.to_wide())
|
||||||
|
Loading…
Reference in New Issue
Block a user