From d21228fce738fd024c45f12fc3cf09801329bcec Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Mon, 11 Jul 2011 18:18:43 -0700 Subject: [PATCH] stdlib: Box data in EBML documents --- src/lib/ebmlivec.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/ebmlivec.rs b/src/lib/ebmlivec.rs index 64b9db5b2d0..32fa260f878 100644 --- a/src/lib/ebmlivec.rs +++ b/src/lib/ebmlivec.rs @@ -15,9 +15,9 @@ type ebml_state = rec(ebml_tag ebml_tag, uint tag_pos, uint data_pos); // modules within this file. // ebml reading -type doc = rec(u8[] data, uint start, uint end); +type doc = rec(@u8[] data, uint start, uint end); -fn vint_at(&u8[] data, uint start) -> tup(uint, uint) { +fn vint_at(&@u8[] data, uint start) -> tup(uint, uint) { auto a = data.(start); if (a & 0x80u8 != 0u8) { ret tup(a & 0x7fu8 as uint, start + 1u); } if (a & 0x40u8 != 0u8) { @@ -35,11 +35,11 @@ fn vint_at(&u8[] data, uint start) -> tup(uint, uint) { } else { log_err "vint too big"; fail; } } -fn new_doc(&u8[] data) -> doc { - ret rec(data=data, start=0u, end=ivec::len[u8](data)); +fn new_doc(&@u8[] data) -> doc { + ret rec(data=data, start=0u, end=ivec::len[u8](*data)); } -fn doc_at(&u8[] data, uint start) -> doc { +fn doc_at(&@u8[] data, uint start) -> doc { auto elt_tag = vint_at(data, start); auto elt_size = vint_at(data, elt_tag._1); auto end = elt_size._1 + elt_size._0; @@ -91,9 +91,9 @@ iter tagged_docs(doc d, uint tg) -> doc { } } -fn doc_data(doc d) -> u8[] { ret ivec::slice[u8](d.data, d.start, d.end); } +fn doc_data(doc d) -> u8[] { ret ivec::slice[u8](*d.data, d.start, d.end); } -fn be_uint_from_bytes(&u8[] data, uint start, uint size) -> uint { +fn be_uint_from_bytes(&@u8[] data, uint start, uint size) -> uint { auto sz = size; assert (sz <= 4u); auto val = 0u;