fn guess_endianness()

in src/reader.rs [382:411]


    fn guess_endianness(
        mut typ: [u8; 4],
        buffer: &[u8],
        stem: &str,
    ) -> Result<bool, GcovReaderError> {
        if 4 <= buffer.len() {
            let bytes = &buffer[..4];
            if bytes == typ {
                // Little endian
                Ok(true)
            } else {
                typ.reverse();
                if bytes == typ {
                    // Big endian
                    Ok(false)
                } else {
                    Err(GcovReaderError::Str(format!(
                        "Unexpected file type: {} in {}.",
                        std::str::from_utf8(bytes).unwrap(),
                        stem
                    )))
                }
            }
        } else {
            Err(GcovReaderError::Str(format!(
                "Not enough data in buffer: Cannot compare types in {}",
                stem
            )))
        }
    }