diff options
-rw-r--r-- | daemon/gvfshttpinputstream.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/daemon/gvfshttpinputstream.c b/daemon/gvfshttpinputstream.c index a6ef3e0b..322d343f 100644 --- a/daemon/gvfshttpinputstream.c +++ b/daemon/gvfshttpinputstream.c @@ -43,6 +43,7 @@ typedef struct { GInputStream *stream; char *range; + goffset request_offset; goffset offset; } GVfsHttpInputStreamPrivate; @@ -474,7 +475,7 @@ g_vfs_http_input_stream_seek (GSeekable *seekable, if (content_length) { type = G_SEEK_SET; - offset = content_length - offset; + offset = priv->request_offset + content_length + offset; } } @@ -510,6 +511,7 @@ g_vfs_http_input_stream_seek (GSeekable *seekable, case G_SEEK_SET: priv->range = g_strdup_printf ("bytes=%"G_GUINT64_FORMAT"-", (guint64)offset); + priv->request_offset = offset; priv->offset = offset; break; |