Skip to content

Commit

Permalink
Merge pull request #5 from MicahChalmer/size_of_sys_to_mem
Browse files Browse the repository at this point in the history
Fix compilation after rust-lang/rust#9896
  • Loading branch information
zargony committed Oct 21, 2013
2 parents ab0ddc4 + bdb9fb4 commit 61f283c
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
4 changes: 2 additions & 2 deletions src/argument.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* structures.
*/

use std::{cast, str, sys};
use std::{cast, str, mem};
use std::libc::c_char;

/// An iterator that can be used to fetch typed arguments from a byte slice
Expand All @@ -22,7 +22,7 @@ impl<'self> ArgumentIterator<'self> {
pub fn fetch<T> (&mut self) -> &'self T {
do self.data.as_imm_buf |dataptr, _| {
let value = unsafe { cast::transmute(dataptr.offset(self.pos as int)) };
self.pos += sys::size_of::<T>();
self.pos += mem::size_of::<T>();
assert!(self.pos <= self.data.len(), "trying to get argument behind data");
value
}
Expand Down
8 changes: 4 additions & 4 deletions src/request.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* wants us to perform.
*/

use std::{cast, sys, vec};
use std::{cast, mem, vec};
use std::libc::{dev_t, c_int, mode_t, off_t, size_t};
use std::libc::{EIO, ENOSYS, EPROTO, ERANGE};
use argument::ArgumentIterator;
Expand Down Expand Up @@ -42,7 +42,7 @@ impl Request {
assert!(self.data.capacity() >= MAX_WRITE_SIZE as uint + 4096);
// The kernel driver makes sure that we get exactly one request per read
let res = se.ch.receive(&mut self.data);
if res.is_ok() && self.data.len() < sys::size_of::<fuse_in_header>() {
if res.is_ok() && self.data.len() < mem::size_of::<fuse_in_header>() {
error!("Short read on FUSE device");
Err(EIO)
} else {
Expand All @@ -57,7 +57,7 @@ impl Request {
pub fn dispatch<FS: Filesystem> (&self, se: &mut Session<FS>) {
// Every request begins with a fuse_in_header struct followed by arbitrary
// data depending on which opcode it contains
assert!(self.data.len() >= sys::size_of::<fuse_in_header>());
assert!(self.data.len() >= mem::size_of::<fuse_in_header>());
let mut data = ArgumentIterator::new(self.data);
let header: &fuse_in_header = data.fetch();
let ch = se.ch;
Expand Down Expand Up @@ -341,7 +341,7 @@ impl Request {
do data.as_bytegroups |databytes| {
let datalen = databytes.iter().fold(0, |l, b| { l + b.len()});
let outheader = fuse_out_header {
len: sys::size_of::<fuse_out_header>() as u32 + datalen as u32,
len: mem::size_of::<fuse_out_header>() as u32 + datalen as u32,
error: err as i32,
unique: inheader.unique,
};
Expand Down
10 changes: 5 additions & 5 deletions src/sendable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* Helper to compose arbitrary data structures into packets of binary data.
*/

use std::{cast, ptr, sys, vec};
use std::{cast, ptr, mem, vec};
use std::libc::{mode_t, off_t, S_IFMT};
use native::{fuse_entry_out, fuse_attr_out, fuse_open_out};
use native::{fuse_write_out, fuse_statfs_out, fuse_getxattr_out, fuse_lk_out};
Expand All @@ -17,7 +17,7 @@ pub trait Sendable {
// structs, i.e. fuse_*_out)
unsafe {
let ptr = ptr::to_unsafe_ptr(self);
let len = sys::size_of::<Self>();
let len = mem::size_of::<Self>();
do vec::raw::buf_as_slice(ptr as *u8, len) |bytes| {
f([bytes])
}
Expand Down Expand Up @@ -87,8 +87,8 @@ impl DirBuffer {
/// kernel uses these value to request more entries in further readdir
/// calls
pub fn fill (&mut self, ino: u64, off: off_t, mode: mode_t, name: &str) -> bool {
let entlen = sys::size_of::<fuse_dirent>() + name.len();
let entsize = (entlen + sys::size_of::<u64>() - 1) & !(sys::size_of::<u64>() - 1); // 64bit align
let entlen = mem::size_of::<fuse_dirent>() + name.len();
let entsize = (entlen + mem::size_of::<u64>() - 1) & !(mem::size_of::<u64>() - 1); // 64bit align
let padlen = entsize - entlen;
if self.data.len() + entsize > self.data.capacity() { return true; }
unsafe {
Expand All @@ -99,7 +99,7 @@ impl DirBuffer {
(*pdirent).off = off as u64;
(*pdirent).namelen = name.len() as u32;
(*pdirent).typ = (mode as u32 & S_IFMT as u32) >> 12;
let p = p.offset(sys::size_of_val(&*pdirent) as int);
let p = p.offset(mem::size_of_val(&*pdirent) as int);
do name.as_imm_buf |nameptr, namelen| {
ptr::copy_memory(p, nameptr, namelen);
}
Expand Down

0 comments on commit 61f283c

Please sign in to comment.