Fast and robust atproto CAR file processing in rust

commit fingerprint: upper 3 bits not upper nibble

righttttttttttt

Changed files
+5 -2
src
+5 -2
src/mst.rs
··· 67 67 0xA2, // map length 2 (for "l" and "e" keys) 68 68 0x61, // text length 1 69 69 b'e', // "e" before "l" because map keys have to be lex-sorted 70 - // 0x8?: "e" contains an array (0x8 nibble) of some length (low nib) 70 + // 0x8?: "e" has array (0x100 upper 3 bits) of some length 71 71 ]; 72 72 let bytes = bytes.as_ref(); 73 73 bytes.starts_with(&NODE_FINGERPRINT) 74 - // && bytes.get(3).map(|b| b & 0xF0 == 0x80).unwrap_or(false) 74 + && bytes 75 + .get(3) 76 + .map(|b| b & 0b1110_0000 == 0x80) 77 + .unwrap_or(false) 75 78 } 76 79 77 80 /// Check if a node has any entries