Browse Source

Simplify Memo::to_utf8 implementation

hush
Jack Grigg 5 years ago
parent
commit
9d80be62f9
No known key found for this signature in database GPG Key ID: 9E8255172BBF9898
  1. 10
      zcash_primitives/src/note_encryption.rs

10
zcash_primitives/src/note_encryption.rs

@ -123,13 +123,11 @@ impl Memo {
pub fn to_utf8(&self) -> Option<Result<String, str::Utf8Error>> {
// Check if it is a text or binary memo
if self.0[0] < 0xF5 {
// Drop trailing zeroes
let mut data = &self.0[..];
while let Some((0, next)) = data.split_last() {
data = next;
}
// Check if it is valid UTF8
Some(str::from_utf8(data).map(|memo| memo.to_owned()))
Some(str::from_utf8(&self.0).map(|memo| {
// Drop trailing zeroes
memo.trim_end_matches(char::from(0)).to_owned()
}))
} else {
None
}

Loading…
Cancel
Save