diff options
| author | Wesley Wiser <wwiser@gmail.com> | 2017-12-19 22:31:15 -0500 |
|---|---|---|
| committer | Wesley Wiser <wwiser@gmail.com> | 2018-01-06 14:57:27 -0500 |
| commit | fc2424b988c926004b93c28524be7f8a9388bdf7 (patch) | |
| tree | 816a4308d35d0d4b1c6e16f1a536a97e87f0a757 | |
| parent | 72176cf96cb79a0ebf62972b76dbe68c933bef4d (diff) | |
| download | rust-fc2424b988c926004b93c28524be7f8a9388bdf7.tar.gz rust-fc2424b988c926004b93c28524be7f8a9388bdf7.zip | |
Add raw bytes functions
Part of #45875
| -rw-r--r-- | src/libserialize/opaque.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libserialize/opaque.rs b/src/libserialize/opaque.rs index 99557659b29..4b2549a1aed 100644 --- a/src/libserialize/opaque.rs +++ b/src/libserialize/opaque.rs @@ -27,6 +27,10 @@ impl<'a> Encoder<'a> { pub fn new(cursor: &'a mut io::Cursor<Vec<u8>>) -> Encoder<'a> { Encoder { cursor: cursor } } + + pub fn emit_raw_bytes(&mut self, s: &[u8]) -> EncodeResult { + self.cursor.write_all(s) + } } @@ -169,6 +173,16 @@ impl<'a> Decoder<'a> { pub fn advance(&mut self, bytes: usize) { self.position += bytes; } + + pub fn read_raw_bytes(&mut self, s: &mut [u8]) -> Result<(), String> { + let len = s.len(); + + self.position += len; + + s.copy_from_slice(&self.data[0..len]); + + Ok(()) + } } macro_rules! read_uleb128 { |
