aboutsummaryrefslogtreecommitdiff
path: root/engines/sword25/package/packagemanager_script.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2010-08-15 08:50:03 +0000
committerEugene Sandulenko2010-10-12 22:47:38 +0000
commit0cdab788ae651f428d5f6b7e1ee24b26c4814eff (patch)
tree03f92634ddb02f653aeb5177ef598bb00beb8c1c /engines/sword25/package/packagemanager_script.cpp
parent28d81a2a1c98dc082c54cf0770d11142910ec208 (diff)
downloadscummvm-rg350-0cdab788ae651f428d5f6b7e1ee24b26c4814eff.tar.gz
scummvm-rg350-0cdab788ae651f428d5f6b7e1ee24b26c4814eff.tar.bz2
scummvm-rg350-0cdab788ae651f428d5f6b7e1ee24b26c4814eff.zip
SWORD25: Changed signature of FS searching method. Cleanup.
svn-id: r53248
Diffstat (limited to 'engines/sword25/package/packagemanager_script.cpp')
-rw-r--r--engines/sword25/package/packagemanager_script.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/engines/sword25/package/packagemanager_script.cpp b/engines/sword25/package/packagemanager_script.cpp
index a0b2a392a7..83d0ae7580 100644
--- a/engines/sword25/package/packagemanager_script.cpp
+++ b/engines/sword25/package/packagemanager_script.cpp
@@ -162,17 +162,18 @@ static void DoSearch(lua_State *L, const Common::String &path, unsigned int type
// Suche durchführen und die Namen aller gefundenen Dateien in die Ergebnistabelle einfügen.
// Als Indizes werden fortlaufende Nummern verwandt.
uint resultNr = 1;
- BS_PackageManager::FileSearch *pFS = pPM->CreateSearch(filter, directory, type);
- if (pFS) {
- do {
+ Common::ArchiveMemberList list;
+ int numMatches;
+
+ numMatches = pPM->doSearch(list, filter, directory, type);
+ if (numMatches) {
+ for (Common::ArchiveMemberList::iterator it = list.begin(); it != list.end(); ++it) {
lua_pushnumber(L, resultNr);
- lua_pushstring(L, pFS->GetCurFileName().c_str());
+ lua_pushstring(L, (*it)->getName().c_str());
lua_settable(L, -3);
resultNr++;
- } while (pFS->NextFile());
+ }
}
-
- delete(pFS);
}
// -----------------------------------------------------------------------------