Fixed int/uint, and use as much stable as possible

This commit is contained in:
Mathijs van de Nes 2015-01-10 15:52:05 +01:00
parent b4f04ab79b
commit 70532d7b48
6 changed files with 21 additions and 20 deletions

View file

@ -55,7 +55,7 @@ pub fn update(prev: u32, buf: &[u8]) -> u32
for byte in buf.iter()
{
crc = CRC32_TABLE[((crc ^ (*byte as u32)) & 0xFF) as uint] ^ (crc >> 8);
crc = CRC32_TABLE[((crc ^ (*byte as u32)) & 0xFF) as usize] ^ (crc >> 8);
}
return crc ^ !0u32;
@ -90,7 +90,7 @@ impl<R: Reader> Crc32Reader<R>
impl<R: Reader> Reader for Crc32Reader<R>
{
fn read(&mut self, buf: &mut [u8]) -> io::IoResult<uint>
fn read(&mut self, buf: &mut [u8]) -> io::IoResult<usize>
{
let count = match self.inner.read(buf)
{
@ -103,7 +103,7 @@ impl<R: Reader> Reader for Crc32Reader<R>
},
Err(e) => return Err(e),
};
self.crc = update(self.crc, buf.slice_to(count));
self.crc = update(self.crc, &buf[0..count]);
Ok(count)
}
}

View file

@ -2,6 +2,7 @@
#![feature(unsafe_destructor)]
#![warn(missing_docs)]
#![allow(unstable)]
#[macro_use] extern crate log;
extern crate time;

View file

@ -38,7 +38,7 @@ pub struct ZipReader<T>
{
inner: RefCell<T>,
files: Vec<ZipFile>,
names_map: HashMap<String, uint>,
names_map: HashMap<String, usize>,
}
fn unsupported_zip_error<T>(detail: &'static str) -> ZipResult<T>
@ -56,13 +56,13 @@ impl<T: Reader+Seek> ZipReader<T>
if footer.disk_number != footer.disk_with_central_directory { return unsupported_zip_error("Support for multi-disk files is not implemented") }
let directory_start = footer.central_directory_offset as i64;
let number_of_files = footer.number_of_files_on_this_disk as uint;
let number_of_files = footer.number_of_files_on_this_disk as usize;
let mut files = Vec::with_capacity(number_of_files);
let mut names_map = HashMap::new();
try!(reader.seek(directory_start, io::SeekSet));
for _ in range(0, number_of_files)
for _ in (0 .. number_of_files)
{
let file = try!(reader_spec::central_header_to_zip_file(&mut reader));
names_map.insert(file.file_name.clone(), files.len());
@ -75,7 +75,7 @@ impl<T: Reader+Seek> ZipReader<T>
/// An iterator over the information of all contained files.
pub fn files(&self) -> ::std::slice::Iter<ZipFile>
{
self.files.as_slice().iter()
(&*self.files).iter()
}
/// Search for a file entry by name
@ -103,7 +103,7 @@ impl<T: Reader+Seek> ZipReader<T>
try!(inner_reader.seek(pos, io::SeekSet));
let refmut_reader = ::util::RefMutReader::new(inner_reader);
let limit_reader = io::util::LimitReader::new(refmut_reader, file.compressed_size as uint);
let limit_reader = io::util::LimitReader::new(refmut_reader, file.compressed_size as usize);
let reader = match file.compression_method
{

View file

@ -26,9 +26,9 @@ pub fn central_header_to_zip_file<R: Reader+Seek>(reader: &mut R) -> ZipResult<Z
let crc32 = try!(reader.read_le_u32());
let compressed_size = try!(reader.read_le_u32());
let uncompressed_size = try!(reader.read_le_u32());
let file_name_length = try!(reader.read_le_u16()) as uint;
let extra_field_length = try!(reader.read_le_u16()) as uint;
let file_comment_length = try!(reader.read_le_u16()) as uint;
let file_name_length = try!(reader.read_le_u16()) as usize;
let extra_field_length = try!(reader.read_le_u16()) as usize;
let file_comment_length = try!(reader.read_le_u16()) as usize;
try!(reader.read_le_u16());
try!(reader.read_le_u16());
try!(reader.read_le_u32());
@ -39,13 +39,13 @@ pub fn central_header_to_zip_file<R: Reader+Seek>(reader: &mut R) -> ZipResult<Z
let file_name = match is_utf8
{
true => String::from_utf8_lossy(file_name_raw.as_slice()).into_owned(),
false => ::cp437::to_string(file_name_raw.as_slice()),
true => String::from_utf8_lossy(&*file_name_raw).into_owned(),
false => ::cp437::to_string(&*file_name_raw),
};
let file_comment = match is_utf8
{
true => String::from_utf8_lossy(file_comment_raw.as_slice()).into_owned(),
false => ::cp437::to_string(file_comment_raw.as_slice()),
true => String::from_utf8_lossy(&*file_comment_raw).into_owned(),
false => ::cp437::to_string(&*file_comment_raw),
};
// Remember end of central header
@ -80,7 +80,7 @@ pub fn central_header_to_zip_file<R: Reader+Seek>(reader: &mut R) -> ZipResult<Z
data_start: data_start,
};
try!(parse_extra_field(&mut result, extra_field.as_slice()));
try!(parse_extra_field(&mut result, &*extra_field));
// Go back after the central header
try!(reader.seek(return_position, io::SeekSet));

View file

@ -32,7 +32,7 @@ impl CentralDirectoryEnd
let number_of_files = try!(reader.read_le_u16());
let central_directory_size = try!(reader.read_le_u32());
let central_directory_offset = try!(reader.read_le_u32());
let zip_file_comment_length = try!(reader.read_le_u16()) as uint;
let zip_file_comment_length = try!(reader.read_le_u16()) as usize;
let zip_file_comment = try!(reader.read_exact(zip_file_comment_length));
Ok(CentralDirectoryEnd

View file

@ -12,7 +12,7 @@ pub fn msdos_datetime_to_tm(time: u16, date: u16) -> Tm
let years = (date & 0b1111111000000000) >> 9;
let datetime = format!("{:04}-{:02}-{:02} {:02}:{:02}:{:02}",
years as uint + 1980,
years as u32 + 1980,
months,
days,
hours,
@ -20,7 +20,7 @@ pub fn msdos_datetime_to_tm(time: u16, date: u16) -> Tm
seconds);
let format = "%Y-%m-%d %H:%M:%S";
match time::strptime(datetime.as_slice(), format)
match time::strptime(&*datetime, format)
{
Ok(tm) => tm,
Err(m) => { debug!("Failed parsing date: {}", m); time::empty_tm() },
@ -52,7 +52,7 @@ impl<'a, R: Reader> RefMutReader<'a, R>
impl<'a, R: Reader> Reader for RefMutReader<'a, R>
{
fn read(&mut self, buf: &mut [u8]) -> ::std::io::IoResult<uint>
fn read(&mut self, buf: &mut [u8]) -> ::std::io::IoResult<usize>
{
self.inner.read(buf)
}