From 3c1de96cda33e9547adda14dc66294752c99e4c3 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Thu, 31 Mar 2011 14:37:09 -0700 Subject: rustc: Use the crate index to look up defs --- src/lib/io.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/lib/io.rs') diff --git a/src/lib/io.rs b/src/lib/io.rs index 11e6408c..7c6c0970 100644 --- a/src/lib/io.rs +++ b/src/lib/io.rs @@ -39,6 +39,7 @@ type reader = impure fn read_c_str() -> str; impure fn read_le_uint(uint size) -> uint; impure fn read_le_int(uint size) -> int; + impure fn read_be_uint(uint size) -> uint; impure fn seek(int offset, seek_style whence); impure fn tell() -> uint; // FIXME: eventually u64 @@ -167,6 +168,16 @@ state obj new_reader(buf_reader rdr) { } ret val as int; } + // FIXME deal with eof? + impure fn read_be_uint(uint size) -> uint { + auto val = 0u; + auto sz = size; // FIXME: trans.ml bug workaround + while (sz > 0u) { + sz -= 1u; + val += (read_byte_from_buf_reader(rdr) as uint) << (sz * 8u); + } + ret val; + } impure fn seek(int offset, seek_style whence) { ret rdr.seek(offset, whence); } -- cgit v1.2.3