[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