github.com/slspeek/camlistore_namedsearch@v0.0.0-20140519202248-ed6f70f7721a/third_party/bazil.org/fuse/fuseutil/fuseutil.go (about) 1 package fuseutil 2 3 import ( 4 "camlistore.org/third_party/bazil.org/fuse" 5 ) 6 7 // HandleRead handles a read request assuming that data is the entire file content. 8 // It adjusts the amount returned in resp according to req.Offset and req.Size. 9 func HandleRead(req *fuse.ReadRequest, resp *fuse.ReadResponse, data []byte) { 10 if req.Offset >= int64(len(data)) { 11 data = nil 12 } else { 13 data = data[req.Offset:] 14 } 15 if len(data) > req.Size { 16 data = data[:req.Size] 17 } 18 n := copy(resp.Data[:req.Size], data) 19 resp.Data = resp.Data[:n] 20 }