aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/unzip.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/common/unzip.cpp b/common/unzip.cpp
index bdba2a544a..24744203da 100644
--- a/common/unzip.cpp
+++ b/common/unzip.cpp
@@ -1395,19 +1395,20 @@ bool ZipArchive::hasFile(const Common::String &name) {
int ZipArchive::getAllNames(Common::StringList &list) {
if (!_zipFile)
return 0;
-
+
if (unzGoToFirstFile(_zipFile) != UNZ_OK)
return 0;
char fileNameBuffer[UNZ_MAXFILENAMEINZIP + 1];
- list.clear();
-
+ int fileCount = 0;
+
do {
unzGetCurrentFileInfo(_zipFile, 0, fileNameBuffer, UNZ_MAXFILENAMEINZIP + 1, 0, 0, 0, 0);
list.push_back(Common::String(fileNameBuffer));
+ fileCount++;
} while (unzGoToNextFile(_zipFile) == UNZ_OK);
-
- return list.size();
+
+ return fileCount;
}
/*