Skip to content

Commit 3dda9aa

Browse files
committed
stdlib: std::ebmlivec and std::ebml are now synonyms
1 parent 4d7f866 commit 3dda9aa

File tree

3 files changed

+33
-210
lines changed

3 files changed

+33
-210
lines changed

src/lib/ebml.rs

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ type ebml_state = {ebml_tag: ebml_tag, tag_pos: uint, data_pos: uint};
1515
// modules within this file.
1616

1717
// ebml reading
18-
type doc = {data: vec[u8], start: uint, end: uint};
18+
type doc = {data: @u8[], start: uint, end: uint};
1919

20-
fn vint_at(data: vec[u8], start: uint) -> {val: uint, next: uint} {
20+
fn vint_at(data: &u8[], start: uint) -> {val: uint, next: uint} {
2121
let a = data.(start);
2222
if a & 0x80u8 != 0u8 { ret {val: a & 0x7fu8 as uint, next: start + 1u}; }
2323
if a & 0x40u8 != 0u8 {
@@ -39,22 +39,22 @@ fn vint_at(data: vec[u8], start: uint) -> {val: uint, next: uint} {
3939
} else { log_err "vint too big"; fail; }
4040
}
4141

42-
fn new_doc(data: vec[u8]) -> doc {
43-
ret {data: data, start: 0u, end: vec::len[u8](data)};
42+
fn new_doc(data: &@u8[]) -> doc {
43+
ret {data: data, start: 0u, end: ivec::len[u8](*data)};
4444
}
4545

46-
fn doc_at(data: vec[u8], start: uint) -> doc {
47-
let elt_tag = vint_at(data, start);
48-
let elt_size = vint_at(data, elt_tag.next);
46+
fn doc_at(data: &@u8[], start: uint) -> doc {
47+
let elt_tag = vint_at(*data, start);
48+
let elt_size = vint_at(*data, elt_tag.next);
4949
let end = elt_size.next + elt_size.val;
5050
ret {data: data, start: elt_size.next, end: end};
5151
}
5252

5353
fn maybe_get_doc(d: doc, tg: uint) -> option::t[doc] {
5454
let pos = d.start;
5555
while pos < d.end {
56-
let elt_tag = vint_at(d.data, pos);
57-
let elt_size = vint_at(d.data, elt_tag.next);
56+
let elt_tag = vint_at(*d.data, pos);
57+
let elt_size = vint_at(*d.data, elt_tag.next);
5858
pos = elt_size.next + elt_size.val;
5959
if elt_tag.val == tg {
6060
ret some[doc]({data: d.data, start: elt_size.next, end: pos});
@@ -76,8 +76,8 @@ fn get_doc(d: doc, tg: uint) -> doc {
7676
iter docs(d: doc) -> {tag: uint, doc: doc} {
7777
let pos = d.start;
7878
while pos < d.end {
79-
let elt_tag = vint_at(d.data, pos);
80-
let elt_size = vint_at(d.data, elt_tag.next);
79+
let elt_tag = vint_at(*d.data, pos);
80+
let elt_size = vint_at(*d.data, elt_tag.next);
8181
pos = elt_size.next + elt_size.val;
8282
put {tag: elt_tag.val,
8383
doc: {data: d.data, start: elt_size.next, end: pos}};
@@ -87,18 +87,18 @@ iter docs(d: doc) -> {tag: uint, doc: doc} {
8787
iter tagged_docs(d: doc, tg: uint) -> doc {
8888
let pos = d.start;
8989
while pos < d.end {
90-
let elt_tag = vint_at(d.data, pos);
91-
let elt_size = vint_at(d.data, elt_tag.next);
90+
let elt_tag = vint_at(*d.data, pos);
91+
let elt_size = vint_at(*d.data, elt_tag.next);
9292
pos = elt_size.next + elt_size.val;
9393
if elt_tag.val == tg {
9494
put {data: d.data, start: elt_size.next, end: pos};
9595
}
9696
}
9797
}
9898

99-
fn doc_data(d: doc) -> vec[u8] { ret vec::slice[u8](d.data, d.start, d.end); }
99+
fn doc_data(d: doc) -> u8[] { ret ivec::slice[u8](*d.data, d.start, d.end); }
100100

101-
fn be_uint_from_bytes(data: vec[u8], start: uint, size: uint) -> uint {
101+
fn be_uint_from_bytes(data: &@u8[], start: uint, size: uint) -> uint {
102102
let sz = size;
103103
assert (sz <= 4u);
104104
let val = 0u;
@@ -117,29 +117,29 @@ fn doc_as_uint(d: doc) -> uint {
117117

118118

119119
// ebml writing
120-
type writer = {writer: io::buf_writer, mutable size_positions: vec[uint]};
120+
type writer = {writer: ioivec::buf_writer, mutable size_positions: uint[]};
121121

122-
fn write_sized_vint(w: &io::buf_writer, n: uint, size: uint) {
123-
let buf: vec[u8];
122+
fn write_sized_vint(w: &ioivec::buf_writer, n: uint, size: uint) {
123+
let buf: u8[];
124124
alt size {
125-
1u { buf = [0x80u8 | (n as u8)]; }
126-
2u { buf = [0x40u8 | (n >> 8u as u8), n & 0xffu as u8]; }
125+
1u { buf = ~[0x80u8 | (n as u8)]; }
126+
2u { buf = ~[0x40u8 | (n >> 8u as u8), n & 0xffu as u8]; }
127127
3u {
128128
buf =
129-
[0x20u8 | (n >> 16u as u8), n >> 8u & 0xffu as u8,
130-
n & 0xffu as u8];
129+
~[0x20u8 | (n >> 16u as u8), n >> 8u & 0xffu as u8,
130+
n & 0xffu as u8];
131131
}
132132
4u {
133133
buf =
134-
[0x10u8 | (n >> 24u as u8), n >> 16u & 0xffu as u8,
135-
n >> 8u & 0xffu as u8, n & 0xffu as u8];
134+
~[0x10u8 | (n >> 24u as u8), n >> 16u & 0xffu as u8,
135+
n >> 8u & 0xffu as u8, n & 0xffu as u8];
136136
}
137137
_ { log_err "vint to write too big"; fail; }
138138
}
139139
w.write(buf);
140140
}
141141

142-
fn write_vint(w: &io::buf_writer, n: uint) {
142+
fn write_vint(w: &ioivec::buf_writer, n: uint) {
143143
if n < 0x7fu { write_sized_vint(w, n, 1u); ret; }
144144
if n < 0x4000u { write_sized_vint(w, n, 2u); ret; }
145145
if n < 0x200000u { write_sized_vint(w, n, 3u); ret; }
@@ -148,8 +148,8 @@ fn write_vint(w: &io::buf_writer, n: uint) {
148148
fail;
149149
}
150150

151-
fn create_writer(w: &io::buf_writer) -> writer {
152-
let size_positions: vec[uint] = [];
151+
fn create_writer(w: &ioivec::buf_writer) -> writer {
152+
let size_positions: uint[] = ~[];
153153
ret {writer: w, mutable size_positions: size_positions};
154154
}
155155

@@ -161,17 +161,17 @@ fn start_tag(w: &writer, tag_id: uint) {
161161
write_vint(w.writer, tag_id);
162162
// Write a placeholder four-byte size.
163163

164-
w.size_positions += [w.writer.tell()];
165-
let zeroes: vec[u8] = [0u8, 0u8, 0u8, 0u8];
164+
w.size_positions += ~[w.writer.tell()];
165+
let zeroes: u8[] = ~[0u8, 0u8, 0u8, 0u8];
166166
w.writer.write(zeroes);
167167
}
168168

169169
fn end_tag(w: &writer) {
170-
let last_size_pos = vec::pop[uint](w.size_positions);
170+
let last_size_pos = ivec::pop[uint](w.size_positions);
171171
let cur_pos = w.writer.tell();
172-
w.writer.seek(last_size_pos as int, io::seek_set);
172+
w.writer.seek(last_size_pos as int, ioivec::seek_set);
173173
write_sized_vint(w.writer, cur_pos - last_size_pos - 4u, 4u);
174-
w.writer.seek(cur_pos as int, io::seek_set);
174+
w.writer.seek(cur_pos as int, ioivec::seek_set);
175175
}
176176
// TODO: optionally perform "relaxations" on end_tag to more efficiently
177177
// encode sizes; this is a fixed point iteration

src/lib/ebmlivec.rs

Lines changed: 0 additions & 177 deletions
This file was deleted.

src/lib/std.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ mod smallintmap;
9494
mod ptr;
9595
mod test;
9696
mod unsafe;
97-
mod ebmlivec;
97+
mod ebmlivec = "ebml.rs";
9898
mod termivec;
9999

100100
// Local Variables:

0 commit comments

Comments
 (0)