summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorAndras Timar <atimar@suse.com>2012-09-11 12:38:15 +0200
committerFridrich Štrba <fridrich.strba@bluewin.ch>2012-09-11 12:43:12 +0200
commitbd116e73139e3340d6b66579c3813d767f380207 (patch)
tree4a1235c76f54863f67ca0aa688e705d1e91f559c /shell
parent3e27d06e44a7e5268558fc06e9cf45ef3405ffd1 (diff)
fdo#53588 Assume cdir being in the last 1k of the file to speed-up search
Change-Id: I25291c52d9f0117c70c48781c2eb575bb6b374ff Signed-off-by: Fridrich Štrba <fridrich.strba@bluewin.ch>
Diffstat (limited to 'shell')
-rw-r--r--shell/source/win32/zipfile/zipfile.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/shell/source/win32/zipfile/zipfile.cxx b/shell/source/win32/zipfile/zipfile.cxx
index 381e52cf7642..70a20f765038 100644
--- a/shell/source/win32/zipfile/zipfile.cxx
+++ b/shell/source/win32/zipfile/zipfile.cxx
@@ -264,6 +264,7 @@ static bool findCentralDirectoryEnd(StreamInterface *stream)
if (!stream)
return false;
stream->sseek(0, SEEK_SET);
+ if (stream->sseek(-1024, SEEK_END)) stream->sseek(0, SEEK_SET);
try
{
while (stream->stell() != -1)