Commit c00295d1 authored by Russ Cox's avatar Russ Cox

Automated g4 rollback of changelist 19913.

*** Reason for rollback ***

broke build

*** Original change description ***

bufio.ReadRune

TBR=r
OCL=19923
CL=19923
parent 85fea81d
...@@ -3,12 +3,8 @@ ...@@ -3,12 +3,8 @@
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
package bufio package bufio
import "os"
import ( import "io"
"os";
"io";
"utf8";
)
// TODO: // TODO:
...@@ -69,7 +65,7 @@ func (b *BufRead) Fill() *os.Error { ...@@ -69,7 +65,7 @@ func (b *BufRead) Fill() *os.Error {
} }
// Slide existing data to beginning. // Slide existing data to beginning.
if b.w > b.r { if b.w > b.r {
CopySlice(b.buf[0:b.w-b.r], b.buf[b.r:b.w]); CopySlice(b.buf[0:b.w-b.r], b.buf[b.r:b.w]);
b.w -= b.r; b.w -= b.r;
} else { } else {
...@@ -144,30 +140,6 @@ func (b *BufRead) UnreadByte() *os.Error { ...@@ -144,30 +140,6 @@ func (b *BufRead) UnreadByte() *os.Error {
return nil return nil
} }
// Read a single Unicode character; returns the rune and its size.
func (b *BufRead) ReadRune() (rune int, size int, err *os.Error) {
for b.r + utf8.UTFMax > b.w && !utf8.FullRune(b.buf[b.r:b.w]) {
n := b.w - b.r;
b.Fill();
if b.err != nil {
return 0, 0, b.err
}
if b.w - b.r == n {
// no bytes read
if b.r == b.w {
return 0, 0, EndOfFile
}
break;
}
}
rune, size = int(b.buf[b.r]), 1;
if rune >= 0x80 {
rune, size = utf8.DecodeRune(b.buf[b.r:b.w]);
}
b.r += size;
return rune, size, nil
}
// Helper function: look for byte c in array p, // Helper function: look for byte c in array p,
// returning its index or -1. // returning its index or -1.
func FindByte(p *[]byte, c byte) int { func FindByte(p *[]byte, c byte) int {
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
package utf8 package utf8
export const ( export const (
UTFMax = 4;
RuneError = 0xFFFD; RuneError = 0xFFFD;
RuneSelf = 0x80; RuneSelf = 0x80;
RuneMax = 1<<21 - 1; RuneMax = 1<<21 - 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment