Fix warnings in util.

This commit is contained in:
Ms2ger 2015-02-13 11:42:13 +01:00
parent b25564440d
commit 830e6741c7
9 changed files with 35 additions and 32 deletions

View file

@ -10,25 +10,25 @@ use std::slice;
fn hexdump_slice(buf: &[u8]) {
let mut stderr = io::stderr();
stderr.write(b" ").unwrap();
stderr.write_all(b" ").unwrap();
for (i, &v) in buf.iter().enumerate() {
let output = format!("{:02X} ", v as uint);
stderr.write(output.as_bytes()).unwrap();
stderr.write_all(output.as_bytes()).unwrap();
match i % 16 {
15 => { stderr.write(b"\n ").unwrap(); },
7 => { stderr.write(b" ").unwrap(); },
15 => { stderr.write_all(b"\n ").unwrap(); },
7 => { stderr.write_all(b" ").unwrap(); },
_ => ()
}
stderr.flush().unwrap();
}
stderr.write(b"\n").unwrap();
stderr.write_all(b"\n").unwrap();
}
pub fn hexdump<T>(obj: &T) {
unsafe {
let buf: *const u8 = mem::transmute(obj);
debug!("dumping at {:p}", buf);
let from_buf = slice::from_raw_buf(&buf, size_of::<T>());
let from_buf = slice::from_raw_parts(buf, size_of::<T>());
hexdump_slice(from_buf);
}
}