Skip to content

Commit ba81e25

Browse files
committed
fix bugs
1 parent 15558e0 commit ba81e25

File tree

1 file changed

+3
-72
lines changed

1 file changed

+3
-72
lines changed

vm/src/stdlib/nt.rs

Lines changed: 3 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -427,14 +427,8 @@ pub(crate) mod module {
427427
#[pyfunction]
428428
fn listvolumes(vm: &VirtualMachine) -> PyResult<PyListRef> {
429429
let mut volumes = vec![];
430-
let find;
431430
let mut buffer = [0u16; 257];
432-
find = unsafe {
433-
FileSystem::FindFirstVolumeW(
434-
buffer.as_mut_ptr(),
435-
buffer.len() as _,
436-
)
437-
};
431+
let find = unsafe { FileSystem::FindFirstVolumeW(buffer.as_mut_ptr(), buffer.len() as _) };
438432
if find == windows_sys::Win32::Foundation::INVALID_HANDLE_VALUE {
439433
return Err(errno_err(vm));
440434
}
@@ -447,11 +441,7 @@ pub(crate) mod module {
447441
}
448442
volumes.push(s.to_string());
449443
let ret = unsafe {
450-
FileSystem::FindNextVolumeW(
451-
find,
452-
buffer.as_mut_ptr(),
453-
buffer.len() as _,
454-
)
444+
FileSystem::FindNextVolumeW(find, buffer.as_mut_ptr(), buffer.len() as _)
455445
};
456446
if ret == 0 {
457447
err = std::io::Error::last_os_error().raw_os_error().unwrap_or(0);
@@ -463,69 +453,10 @@ pub(crate) mod module {
463453
if err != 0 && err != windows_sys::Win32::Foundation::ERROR_NO_MORE_FILES as i32 {
464454
return Err(std::io::Error::from_raw_os_error(err).to_pyexception(vm));
465455
}
466-
let volumes: Vec<_> = volumes
467-
.into_iter()
468-
.map(|v| vm.new_pyobj(v))
469-
.collect();
456+
let volumes: Vec<_> = volumes.into_iter().map(|v| vm.new_pyobj(v)).collect();
470457
Ok(vm.ctx.new_list(volumes))
471458
}
472459

473-
// TOOD: these functions are not fully compataible with CPython
474-
// they exist for some compatibility
475-
#[pyfunction]
476-
fn _path_exists(path: OsPath, vm: &VirtualMachine) -> PyResult<bool> {
477-
let path = path.as_ref();
478-
if path.exists() {
479-
return Ok(true);
480-
}
481-
if path.is_dir() {
482-
return Ok(false);
483-
}
484-
let metadata = fs::metadata(path).map_err(|err| err.to_pyexception(vm))?;
485-
Ok(metadata.is_file())
486-
}
487-
488-
#[pyfunction]
489-
fn _path_isdir(path: OsPath, vm: &VirtualMachine) -> PyResult<bool> {
490-
let path = path.as_ref();
491-
if path.is_dir() {
492-
return Ok(true);
493-
}
494-
if path.exists() {
495-
return Ok(false);
496-
}
497-
let metadata = fs::metadata(path).map_err(|err| err.to_pyexception(vm))?;
498-
Ok(metadata.is_dir())
499-
}
500-
501-
#[pyfunction]
502-
fn _path_isfile(path: OsPath, vm: &VirtualMachine) -> PyResult<bool> {
503-
let path = path.as_ref();
504-
if path.is_file() {
505-
return Ok(true);
506-
}
507-
if path.exists() {
508-
return Ok(false);
509-
}
510-
let metadata = fs::metadata(path).map_err(|err| err.to_pyexception(vm))?;
511-
Ok(metadata.is_file())
512-
}
513-
514-
#[pyfunction]
515-
fn _path_islink(path: OsPath, vm: &VirtualMachine) -> PyResult<bool> {
516-
let path = path.as_ref();
517-
if path.is_symlink() {
518-
return Ok(true);
519-
}
520-
if path.exists() {
521-
return Ok(false);
522-
}
523-
let metadata = fs::symlink_metadata(path).map_err(|err| err.to_pyexception(vm))?;
524-
Ok(metadata.file_type().is_symlink())
525-
}
526-
527-
// End of functions that are not fully compatible with CPython
528-
529460
#[pyfunction]
530461
fn set_handle_inheritable(
531462
handle: intptr_t,

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy