diff --git a/examples/extract.rs b/examples/extract.rs index a94c70cc..0a54e6a2 100644 --- a/examples/extract.rs +++ b/examples/extract.rs @@ -1,4 +1,4 @@ -#![feature(path, io, os)] +#![feature(path, io, os, env, core)] extern crate zip; @@ -6,10 +6,10 @@ use std::old_io; fn main() { - let args = std::os::args(); + let args = std::env::args().map(|v| v.into_string().unwrap()).collect::>(); if args.len() < 2 { println!("Usage: {} ", args[0]); - std::os::set_exit_status(1); + std::env::set_exit_status(1); return; } let fname = Path::new(&*args[1]); diff --git a/examples/extract_lorem.rs b/examples/extract_lorem.rs index c4cb4168..c8b63fc6 100644 --- a/examples/extract_lorem.rs +++ b/examples/extract_lorem.rs @@ -1,13 +1,13 @@ -#![feature(os, path, io)] +#![feature(os, path, io, env)] extern crate zip; fn main() { - let args = std::os::args(); + let args = std::env::args().map(|v| v.into_string().unwrap()).collect::>(); if args.len() < 2 { println!("Usage: {} ", args[0]); - std::os::set_exit_status(1); + std::env::set_exit_status(1); return; } let fname = Path::new(&*args[1]); diff --git a/examples/write_sample.rs b/examples/write_sample.rs index ace34744..3ead5ae6 100644 --- a/examples/write_sample.rs +++ b/examples/write_sample.rs @@ -1,13 +1,13 @@ -#![feature(io, os, path)] +#![feature(io, os, path, env)] extern crate zip; fn main() { - let args = std::os::args(); + let args = std::env::args().map(|v| v.into_string().unwrap()).collect::>(); if args.len() < 2 { println!("Usage: {} ", args[0]); - std::os::set_exit_status(1); + std::env::set_exit_status(1); return; } diff --git a/src/reader.rs b/src/reader.rs index d161776e..0fea9cb4 100644 --- a/src/reader.rs +++ b/src/reader.rs @@ -5,7 +5,7 @@ use spec; use reader_spec; use result::{ZipResult, ZipError}; use std::old_io; -use std::cell::RefCell; +use std::cell::{RefCell, BorrowState}; use std::collections::HashMap; use flate2::FlateReader; use bzip2::reader::BzDecompressor; @@ -89,10 +89,10 @@ impl ZipReader /// May return `ReaderUnavailable` if there is another reader borrowed. pub fn read_file(&self, file: &ZipFile) -> ZipResult> { - let mut inner_reader = match self.inner.try_borrow_mut() + let mut inner_reader = match self.inner.borrow_state() { - Some(reader) => reader, - None => return Err(ZipError::ReaderUnavailable), + BorrowState::Unused => self.inner.borrow_mut(), + _ => return Err(ZipError::ReaderUnavailable), }; let pos = file.data_start as i64;