diff options
| author | Grahame Bowland <grahame@angrygoats.net> | 2012-01-09 20:49:17 +0800 |
|---|---|---|
| committer | Grahame Bowland <grahame@angrygoats.net> | 2012-01-09 20:49:17 +0800 |
| commit | ba694775f5ea61c9b29e318bbe2e4d942adb39ad (patch) | |
| tree | 4abd7f71fa595a84b618d5a598ee5fcb01d411d3 /src/libstd | |
| parent | bcc25634e6159cf9176c4a770d711ceeff5f28e7 (diff) | |
| download | rust-ba694775f5ea61c9b29e318bbe2e4d942adb39ad.tar.gz rust-ba694775f5ea61c9b29e318bbe2e4d942adb39ad.zip | |
add tests for io::readchars and io::readchar
Additionally reformat so that 'make check' passes.
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/io.rs | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/libstd/io.rs b/src/libstd/io.rs index f424b8c3a5e..63f014005dd 100644 --- a/src/libstd/io.rs +++ b/src/libstd/io.rs @@ -130,26 +130,29 @@ obj new_reader(rdr: buf_reader) { val += next & 63 as uint; } // See str::char_at - val += (b0 << (w + 1u as u8) as uint) << (w - 1u) * 6u - w - 1u; + val += (b0 << (w + 1u as u8) as uint) + << (w - 1u) * 6u - w - 1u; chars += [ val as char ]; } ret (i, 0u); } let buf: [u8] = []; let chars: [char] = []; - let nbread = n; // might need more bytes, but reading n will never over-read + // might need more bytes, but reading n will never over-read + let nbread = n; while nbread > 0u { - let data = self.read_bytes(nbread); + let data = self.read_bytes(nbread); if vec::len(data) == 0u { - // eof - FIXME should we do something if we're split in a unicode char? + // eof - FIXME should we do something if + // we're split in a unicode char? break; } buf += data; let (offset, nbreq) = chars_from_buf(buf, chars); let ncreq = n - vec::len(chars); - // again we either know we need a certain number of bytes to complete a - // character, or we make sure we don't over-read by reading 1-byte per char - // needed + // again we either know we need a certain number of bytes + // to complete a character, or we make sure we don't + // over-read by reading 1-byte per char needed nbread = if ncreq > nbreq { ncreq } else { nbreq }; if nbread > 0u { buf = vec::slice(buf, offset, vec::len(buf)); |
