work
[pspp] / rust / src / cooked.rs
index ef4b79ccf46cc5ab5e9c219e67dbb4f259c6ffdd..1749ecc301a0bab8e741ab613c22155276267b66 100644 (file)
@@ -1,7 +1,7 @@
 use std::{borrow::Cow, cmp::Ordering, collections::HashMap, iter::repeat};
 
 use crate::{
-    encoding::{get_encoding, Error as EncodingError},
+    encoding::{get_encoding, Error as EncodingError, default_encoding},
     endian::Endian,
     format::{Error as FormatError, Spec, UncheckedSpec},
     identifier::{Error as IdError, Identifier},
@@ -25,6 +25,9 @@ pub enum Error {
     #[error("{0}")]
     EncodingError(EncodingError),
 
+    #[error("Using default encoding {0}.")]
+    UsingDefaultEncoding(String),
+
     #[error("Variable record at offset {offset:#x} specifies width {width} not in valid range [-1,255).")]
     InvalidVariableWidth { offset: u64, width: i32 },
 
@@ -226,7 +229,7 @@ pub fn decode<T>(headers: Vec<raw::Record>, warn: &impl Fn(Error)) -> Result<Vec
         Err(err) => {
             warn(Error::EncodingError(err));
             // Warn that we're using the default encoding.
-            
+            default_encoding()
         }
     };