Skip to content

Commit 007f36a

Browse files
committed
---
yaml --- r: 35994 b: refs/heads/try2 c: e3b1471 h: refs/heads/master v: v3
1 parent 11be22e commit 007f36a

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
55
refs/heads/try: d324a424d8f84b1eb049b12cf34182bda91b0024
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: b18a15171bfbcde81c44967a865214389d6fd7ad
8+
refs/heads/try2: e3b1471acdfe6121a8e0f657d8caa27393703253
99
refs/heads/incoming: d9317a174e434d4c99fc1a37fd7dc0d2f5328d37
1010
refs/heads/dist-snap: 22efa39382d41b084fde1719df7ae8ce5697d8c9
1111
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596

branches/try2/src/libcore/io.rs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -297,39 +297,41 @@ pub fn file_reader(path: &Path) -> Result<Reader, ~str> {
297297
}
298298
299299
300-
// Byte buffer readers
301-
302-
pub type ByteBuf = {buf: &[const u8], mut pos: uint};
300+
// Byte readers
301+
pub struct BytesReader {
302+
bytes: &[u8],
303+
mut pos: uint
304+
}
303305
304-
impl ByteBuf: Reader {
305-
fn read(buf: &[mut u8], len: uint) -> uint {
306-
let count = uint::min(len, self.buf.len() - self.pos);
306+
impl BytesReader: Reader {
307+
fn read(bytes: &[mut u8], len: uint) -> uint {
308+
let count = uint::min(len, self.bytes.len() - self.pos);
307309
308-
let view = vec::const_view(self.buf, self.pos, self.buf.len());
309-
vec::bytes::memcpy(buf, view, count);
310+
let view = vec::view(self.bytes, self.pos, self.bytes.len());
311+
vec::bytes::memcpy(bytes, view, count);
310312
311313
self.pos += count;
312314
313315
count
314316
}
315317
fn read_byte() -> int {
316-
if self.pos == self.buf.len() { return -1; }
317-
let b = self.buf[self.pos];
318+
if self.pos == self.bytes.len() { return -1; }
319+
let b = self.bytes[self.pos];
318320
self.pos += 1u;
319321
return b as int;
320322
}
321323
// FIXME (#2738): implement this
322324
fn unread_byte(_byte: int) { error!("Unimplemented: unread_byte"); fail; }
323-
fn eof() -> bool { self.pos == self.buf.len() }
325+
fn eof() -> bool { self.pos == self.bytes.len() }
324326
fn seek(offset: int, whence: SeekStyle) {
325327
let pos = self.pos;
326-
self.pos = seek_in_buf(offset, pos, self.buf.len(), whence);
328+
self.pos = seek_in_buf(offset, pos, self.bytes.len(), whence);
327329
}
328330
fn tell() -> uint { self.pos }
329331
}
330332

331333
pub pure fn with_bytes_reader<t>(bytes: &[u8], f: fn(Reader) -> t) -> t {
332-
f({buf: bytes, mut pos: 0u} as Reader)
334+
f(BytesReader { bytes: bytes, pos: 0u } as Reader)
333335
}
334336

335337
pub fn with_str_reader<T>(s: &str, f: fn(Reader) -> T) -> T {

0 commit comments

Comments
 (0)