[Scummvm-cvs-logs] SF.net SVN: scummvm: [32225] scummvm/trunk/backends/platform/PalmOS/Src/ be_save.cpp
chrilith at users.sourceforge.net
chrilith at users.sourceforge.net
Fri May 23 13:26:33 CEST 2008
Revision: 32225
http://scummvm.svn.sourceforge.net/scummvm/?rev=32225&view=rev
Author: chrilith
Date: 2008-05-23 04:26:33 -0700 (Fri, 23 May 2008)
Log Message:
-----------
Fixed PalmSaveFileManager
Modified Paths:
--------------
scummvm/trunk/backends/platform/PalmOS/Src/be_save.cpp
Modified: scummvm/trunk/backends/platform/PalmOS/Src/be_save.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/be_save.cpp 2008-05-23 11:25:22 UTC (rev 32224)
+++ scummvm/trunk/backends/platform/PalmOS/Src/be_save.cpp 2008-05-23 11:26:33 UTC (rev 32225)
@@ -28,49 +28,27 @@
#include "be_save.h"
Common::StringList PalmSaveFileManager::listSavefiles(const char *pattern) {
- TODO: Implement this. If you don't understand what it should do, just ask
- (e.g. on scummvm-devel or Fingolfin). It should be pretty simple if you
- use Common::matchString from common/util.h and read the Doxygen docs,
- then combine this with the old code below...
-
-/*
-void PalmSaveFileManager::listSavefiles(const char *prefix, bool *marks, int num) {
FileRef fileRef;
+ Common::StringList list;
+
// try to open the dir
Err e = VFSFileOpen(gVars->VFS.volRefNum, SCUMMVM_SAVEPATH, vfsModeRead, &fileRef);
- memset(marks, false, num*sizeof(bool));
-
if (e != errNone)
- return;
+ return list;
- // enumerate all files
+
UInt32 dirEntryIterator = vfsIteratorStart;
Char filename[32];
FileInfoType info = {0, filename, 32};
- UInt16 length = StrLen(prefix);
- int slot = 0;
while (dirEntryIterator != vfsIteratorStop) {
e = VFSDirEntryEnumerate (fileRef, &dirEntryIterator, &info);
- if (e != expErrEnumerationEmpty) { // there is something
-
- if (StrLen(info.nameP) == (length + 2)) { // consider max 99, filename length is ok
- if (StrNCaselessCompare(prefix, info.nameP, length) == 0) { // this seems to be a save file
- if (isdigit(info.nameP[length]) && isdigit(info.nameP[length+1])) {
-
- slot = StrAToI(filename + length);
- if (slot >= 0 && slot < num)
- *(marks+slot) = true;
-
- }
- }
- }
-
- }
+ if (e != expErrEnumerationEmpty) // there is something
+ if (Common::matchString(info.nameP, pattern)) // this seems to be what we are looking for
+ list.push_back(info.nameP);
}
VFSFileClose(fileRef);
+ return list;
}
-
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list