diff options
Diffstat (limited to 'src/pkg/image/tiff/buffer.go')
-rw-r--r-- | src/pkg/image/tiff/buffer.go | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/pkg/image/tiff/buffer.go b/src/pkg/image/tiff/buffer.go deleted file mode 100644 index 7c0714225..000000000 --- a/src/pkg/image/tiff/buffer.go +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package tiff - -import ( - "io" - "os" -) - -// buffer buffers an io.Reader to satisfy io.ReaderAt. -type buffer struct { - r io.Reader - buf []byte -} - -func (b *buffer) ReadAt(p []byte, off int64) (int, os.Error) { - o := int(off) - end := o + len(p) - if int64(end) != off+int64(len(p)) { - return 0, os.EINVAL - } - - m := len(b.buf) - if end > m { - if end > cap(b.buf) { - newcap := 1024 - for newcap < end { - newcap *= 2 - } - newbuf := make([]byte, end, newcap) - copy(newbuf, b.buf) - b.buf = newbuf - } else { - b.buf = b.buf[:end] - } - if n, err := io.ReadFull(b.r, b.buf[m:end]); err != nil { - end = m + n - b.buf = b.buf[:end] - return copy(p, b.buf[o:end]), err - } - } - - return copy(p, b.buf[o:end]), nil -} - -// newReaderAt converts an io.Reader into an io.ReaderAt. -func newReaderAt(r io.Reader) io.ReaderAt { - if ra, ok := r.(io.ReaderAt); ok { - return ra - } - return &buffer{ - r: r, - buf: make([]byte, 0, 1024), - } -} |