From: Matt Joiner Date: Thu, 26 Feb 2015 05:10:38 +0000 (+1100) Subject: Implement File.ReadAt X-Git-Tag: v1.0.0~1313 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=3f335cabfc8d70724a7c345a86ab7a444afb087d;p=btrtrc.git Implement File.ReadAt --- diff --git a/client.go b/client.go index 2fff46a9..9a897612 100644 --- a/client.go +++ b/client.go @@ -1675,6 +1675,14 @@ type File struct { metainfo.FileInfo } +func (f File) ReadAt(p []byte, off int64) (n int, err error) { + maxLen := f.length - off + if int64(len(p)) > maxLen { + p = p[:maxLen] + } + return f.t.ReadAt(p, off+f.offset) +} + func (f *File) Length() int64 { return f.length }