diff options
Diffstat (limited to 'src/file/source/file.rs')
-rw-r--r-- | src/file/source/file.rs | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/file/source/file.rs b/src/file/source/file.rs index 57c251f..804d108 100644 --- a/src/file/source/file.rs +++ b/src/file/source/file.rs @@ -58,23 +58,27 @@ impl FileSourceFile { } match format_hint { - Some(format) => for ext in format.extensions() { - filename.set_extension(ext); - - if filename.is_file() { - return Ok((filename, format)); - } - }, - - None => for (format, extensions) in ALL_EXTENSIONS.iter() { + Some(format) => { for ext in format.extensions() { filename.set_extension(ext); if filename.is_file() { - return Ok((filename, *format)); + return Ok((filename, format)); } } - }, + } + + None => { + for (format, extensions) in ALL_EXTENSIONS.iter() { + for ext in format.extensions() { + filename.set_extension(ext); + + if filename.is_file() { + return Ok((filename, *format)); + } + } + } + } } Err(Box::new(io::Error::new( |