Fix bug with empty directories

This commit is contained in:
Ben S 2014-11-24 01:24:45 +00:00
parent b7e7bc7057
commit 03ecb8c9e1
3 changed files with 4 additions and 6 deletions

View File

@ -79,7 +79,7 @@ fn lines_view(files: Vec<&File>) {
}
fn grid_view(across: bool, console_width: uint, files: Vec<&File>) {
let max_column_length = files.iter().map(|f| f.file_name_width()).max().unwrap();
let max_column_length = files.iter().map(|f| f.file_name_width()).max().unwrap_or(0);
let num_columns = (console_width + 1) / (max_column_length + 1);
let count = files.len();
@ -143,7 +143,7 @@ fn details_view(options: &Options, columns: &Vec<Column>, files: Vec<&File>) {
.collect();
let column_widths: Vec<uint> = range(0, columns.len())
.map(|n| lengths.iter().map(|row| row[n]).max().unwrap())
.map(|n| lengths.iter().map(|row| row[n]).max().unwrap_or(0))
.collect();
for (field_widths, row) in lengths.iter().zip(table.iter()) {

View File

@ -32,7 +32,7 @@ pub struct File<'a> {
impl<'a> File<'a> {
pub fn from_path(path: &'a Path, parent: &'a Dir) -> IoResult<File<'a>> {
let v = path.filename().unwrap(); // fails if / or . or ..
let filename = String::from_utf8(v.to_vec()).unwrap();
let filename = String::from_utf8(v.to_vec()).unwrap_or_else(|_| panic!("Name was not valid UTF-8"));
// Use lstat here instead of file.stat(), as it doesn't follow
// symbolic links. Otherwise, the stat() call will fail if it

View File

@ -29,7 +29,6 @@ mod c {
}
#[repr(C)]
#[deriving(Show)]
pub struct c_group {
pub gr_name: *const c_char, // group name
pub gr_passwd: *const c_char, // password
@ -142,7 +141,6 @@ impl Unix {
}
self.group_names.insert(gid, group_name);
}
}
}
}
}