瀏覽代碼

[dav] read must report seek offset corrected size

cgars 7 年之前
父節點
當前提交
c75a4fd8ee
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      pkg/dav/dav.go

+ 8 - 2
pkg/dav/dav.go

@@ -102,8 +102,14 @@ func (f *GinFile) Read(p []byte) (n int, err error) {
 		return 0, err
 	}
 	// todo: annex
-
-	return data.Read(p[f.seekoset:])
+	// todo: read with pipes
+	n, err = data.Read(p)
+	if err != nil {
+		return n, err
+	}
+	copy(p, p[f.seekoset:])
+	// todo: int64 issue (signature wrong?)
+	return n - int(f.seekoset), nil
 }
 
 func (f *GinFile) Seek(offset int64, whence int) (int64, error) {