separate warnings and errors
[pspp] / rust / src / main.rs
index bf6abe9b8f08500a42bd5453553b8725c4cea042..dece725c65073991a9c08e3570f54f750d1666e7 100644 (file)
@@ -17,7 +17,7 @@
 use anyhow::Result;
 use clap::{Parser, ValueEnum};
 use encoding_rs::Encoding;
-use pspp::raw::{Reader, Record, Magic};
+use pspp::raw::{Magic, Reader, Record};
 use std::fs::File;
 use std::io::BufReader;
 use std::path::{Path, PathBuf};
@@ -78,20 +78,27 @@ fn main() -> Result<()> {
     Ok(())
 }
 
-fn dissect(file_name: &Path, max_cases: u64, mode: Mode, encoding: Option<&'static Encoding>) -> Result<()> {
+fn dissect(
+    file_name: &Path,
+    max_cases: u64,
+    mode: Mode,
+    encoding: Option<&'static Encoding>,
+) -> Result<()> {
     let reader = File::open(file_name)?;
     let reader = BufReader::new(reader);
     let mut reader = Reader::new(reader, |warning| println!("{warning}"))?;
 
     match mode {
         Mode::Identify => {
-            let Record::Header(header) = reader.next().unwrap()? else { unreachable!() };
+            let Record::Header(header) = reader.next().unwrap()? else {
+                unreachable!()
+            };
             match header.magic {
                 Magic::Sav => println!("SPSS System File"),
                 Magic::Zsav => println!("SPSS System File with Zlib compression"),
                 Magic::Ebcdic => println!("EBCDIC-encoded SPSS System File"),
             }
-            return Ok(())
+            return Ok(());
         }
         Mode::Raw => {
             for header in reader {
@@ -108,15 +115,20 @@ fn dissect(file_name: &Path, max_cases: u64, mode: Mode, encoding: Option<&'stat
                 }
             }
         }
-        Mode::Cooked => {
 /*
+        Mode::Decoded => {
             let headers: Vec<Record> = reader.collect::<Result<Vec<_>, _>>()?;
-            let encoding = encoding_from_headers(&headers, &|e| eprintln!("{e}"))?;
-            let (headers, _) = decode(headers, encoding, &|e| eprintln!("{e}"))?;
-            for header in headers {
-                println!("{header:?}");
         }
-            */
+*/
+        Mode::Cooked => {
+            /*
+                let headers: Vec<Record> = reader.collect::<Result<Vec<_>, _>>()?;
+                let encoding = encoding_from_headers(&headers, &|e| eprintln!("{e}"))?;
+                let (headers, _) = decode(headers, encoding, &|e| eprintln!("{e}"))?;
+                for header in headers {
+                    println!("{header:?}");
+            }
+                */
         }
     }