more work on parser
[pspp] / rust / src / lib.rs
index 680d3a3a51673b5e93601ca48fa3c457582ad6ff..8a4c7d07042997557d941c805077400a5a91146e 100644 (file)
@@ -92,4 +92,13 @@ pub enum Error {
 
     #[error("At offset {offset:#x}, {record} has bad count {count} instead of the expected {expected_count}.")]
     BadRecordCount { offset: u64, record: String, count: u32, expected_count: u32 },
+
+    #[error("The encoding record at offset {offset:#x} contains an encoding name that is not valid UTF-8.")]
+    BadEncodingName { offset: u64 },
+
+    #[error("In long string missing values record starting at offset {record_offset:#x}, value length at offset {offset:#x} is {value_len} instead of the expected 8.")]
+    BadLongMissingValueLength { record_offset: u64, offset: u64, value_len: u32 },
+
+    #[error("This file has corrupted metadata written by a buggy version of PSPP.  To fix it, save a new copy of the file.")]
+    BadLongMissingValueFormat,
 }