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  }