[Scummvm-cvs-logs] CVS: scummvm/backends/fs fs.h,1.24,1.25 fs.cpp,1.3,1.4

Max Horn fingolfin at users.sourceforge.net
Fri Dec 17 18:34:02 CET 2004


Update of /cvsroot/scummvm/scummvm/backends/fs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10547/backends/fs

Modified Files:
	fs.h fs.cpp 
Log Message:
Ensure that the file list in the browser is always sorted

Index: fs.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/fs/fs.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- fs.h	10 Dec 2004 00:11:52 -0000	1.24
+++ fs.h	18 Dec 2004 02:33:36 -0000	1.25
@@ -61,6 +61,7 @@
  * List of multiple file system nodes. E.g. the contents of a given directory.
  */
 class FSList : public Common::Array<FilesystemNode> {
+	void sort();
 };
 
 

Index: fs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/fs/fs.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- fs.cpp	29 Nov 2004 11:14:12 -0000	1.3
+++ fs.cpp	18 Dec 2004 02:33:37 -0000	1.4
@@ -20,7 +20,21 @@
 
 #include "stdafx.h"
 
-#include "fs.h"
+#include "backends/fs/fs.h"
+#include "common/util.h"
+
+void FSList::sort() {
+	// Simple selection sort
+	for (int i = 0; i < _size-1; i++) {
+		int min = i;
+		for (int j = i+1; j < _size; j++)
+			if (_data[j] < _data[min])
+				min = j;
+		if (min != i)
+			SWAP(_data[min], _data[i]);
+	}
+}
+
 
 FilesystemNode AbstractFilesystemNode::wrap(AbstractFilesystemNode *node) {
 	FilesystemNode wrapper;





More information about the Scummvm-git-logs mailing list