summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--obnamlib/plugins/fuse_plugin.py11
-rw-r--r--test-gpghome/random_seedbin600 -> 600 bytes
2 files changed, 5 insertions, 6 deletions
diff --git a/obnamlib/plugins/fuse_plugin.py b/obnamlib/plugins/fuse_plugin.py
index 5d736a67..0e9b12bc 100644
--- a/obnamlib/plugins/fuse_plugin.py
+++ b/obnamlib/plugins/fuse_plugin.py
@@ -171,15 +171,14 @@ class ObnamFuseFile(object):
size_cache[chunkid] = len(contents)
size = size_cache[chunkid]
- if chunk_pos_in_file + size > offset:
- start = offset - chunk_pos_in_file
- n = length - output_length
+ if chunk_pos_in_file + size > offset + output_length:
+ start = offset + output_length - chunk_pos_in_file
+ n = min(length - output_length, size - start)
if contents is None:
contents = self.fuse_fs.obnam.repo.get_chunk_content(
chunkid)
- data = contents[start : start+n]
- output.append(data)
- output_length += len(data)
+ output.append(contents[start : start+n])
+ output_length += n
assert output_length <= length
if output_length == length:
break
diff --git a/test-gpghome/random_seed b/test-gpghome/random_seed
index 6a8dce29..f4ad4794 100644
--- a/test-gpghome/random_seed
+++ b/test-gpghome/random_seed
Binary files differ