From 8418fed18e84ce15bd410a1f1f81fb1c04efa89e Mon Sep 17 00:00:00 2001
From: Alexander Neumann <alexander@bumpern.de>
Date: Fri, 29 Jul 2016 21:18:32 +0200
Subject: [PATCH] Handle empty files correctly

---
 src/restic/fuse/file.go | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/restic/fuse/file.go b/src/restic/fuse/file.go
index 27ebae70..8a409552 100644
--- a/src/restic/fuse/file.go
+++ b/src/restic/fuse/file.go
@@ -130,6 +130,12 @@ func (f *file) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadR
 		return errors.New("offset greater than files size")
 	}
 
+	// handle special case: file is empty
+	if f.node.Size == 0 {
+		resp.Data = resp.Data[:0]
+		return nil
+	}
+
 	// Skip blobs before the offset
 	startContent := 0
 	for offset > int64(f.sizes[startContent]) {