Update redox_scheme.
This commit is contained in:
Generated
+2
-2
@@ -130,7 +130,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "redox-scheme"
|
||||
version = "0.2.0"
|
||||
source = "git+https://gitlab.redox-os.org/4lDO2/redox-scheme.git?branch=schemev2#54a79f82bf82f14256b33dace7c68673b0851898"
|
||||
source = "git+https://gitlab.redox-os.org/4lDO2/redox-scheme.git?branch=schemev2#40c29c6f08e095e7b3739feae47a3c24f469c4d3"
|
||||
dependencies = [
|
||||
"libredox",
|
||||
"redox_syscall",
|
||||
@@ -139,7 +139,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.5.1"
|
||||
source = "git+https://gitlab.redox-os.org/4lDO2/syscall.git?branch=schemev2#f72cc4d7431841aaad039bce57af4e59c82f78c4"
|
||||
source = "git+https://gitlab.redox-os.org/4lDO2/syscall.git?branch=schemev2#495a0adbd8333fd21fae2d97129b094607878ba7"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
]
|
||||
|
||||
+11
-10
@@ -8,9 +8,10 @@ use alloc::string::String;
|
||||
use hashbrown::HashMap;
|
||||
use redox_initfs::{InitFs, InodeStruct, Inode, InodeDir, InodeKind, types::Timespec};
|
||||
|
||||
use redox_scheme::CallerCtx;
|
||||
use redox_scheme::OpenResult;
|
||||
use redox_scheme::RequestKind;
|
||||
use redox_scheme::SchemeV2;
|
||||
use redox_scheme::SchemeMut;
|
||||
|
||||
use redox_scheme::SignalBehavior;
|
||||
use redox_scheme::Socket;
|
||||
@@ -84,8 +85,8 @@ fn inode_len(inode: InodeStruct<'static>) -> Result<usize> {
|
||||
})
|
||||
}
|
||||
|
||||
impl SchemeV2 for InitFsScheme {
|
||||
fn open(&mut self, path: &str, _flags: usize) -> Result<OpenResult> {
|
||||
impl SchemeMut for InitFsScheme {
|
||||
fn xopen(&mut self, path: &str, _flags: usize, ctx: &CallerCtx) -> Result<OpenResult> {
|
||||
let mut components = path
|
||||
// trim leading and trailing slash
|
||||
.trim_matches('/')
|
||||
@@ -197,12 +198,12 @@ impl SchemeV2 for InitFsScheme {
|
||||
}
|
||||
}
|
||||
|
||||
fn seek(&mut self, id: usize, pos: i64, whence: usize) -> Result<u64> {
|
||||
fn seek(&mut self, id: usize, pos: isize, whence: usize) -> Result<isize> {
|
||||
let handle = self.handles.get_mut(&id).ok_or(Error::new(EBADF))?;
|
||||
|
||||
let new_offset = redox_scheme::calc_seek_offset_usize(handle.seek, pos as isize, whence, inode_len(Self::get_inode(&self.fs, handle.inode)?)?)?;
|
||||
let new_offset = redox_scheme::calc_seek_offset_usize(handle.seek, pos, whence, inode_len(Self::get_inode(&self.fs, handle.inode)?)?)?;
|
||||
handle.seek = new_offset as usize;
|
||||
Ok(new_offset as u64)
|
||||
Ok(new_offset)
|
||||
}
|
||||
|
||||
fn fcntl(&mut self, id: usize, _cmd: usize, _arg: usize) -> Result<usize> {
|
||||
@@ -246,17 +247,17 @@ impl SchemeV2 for InitFsScheme {
|
||||
Ok(0)
|
||||
}
|
||||
|
||||
fn fsync(&mut self, id: usize) -> Result<()> {
|
||||
fn fsync(&mut self, id: usize) -> Result<usize> {
|
||||
if !self.handles.contains_key(&id) {
|
||||
return Err(Error::new(EBADF));
|
||||
}
|
||||
|
||||
Ok(())
|
||||
Ok(0)
|
||||
}
|
||||
|
||||
fn close(&mut self, id: usize) -> Result<()> {
|
||||
fn close(&mut self, id: usize) -> Result<usize> {
|
||||
let _ = self.handles.remove(&id).ok_or(Error::new(EBADF))?;
|
||||
Ok(())
|
||||
Ok(0)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user