--- src/cmd/basecomputer.cpp.orig 2012-03-19 03:20:14.000000000 -0500 +++ src/cmd/basecomputer.cpp 2012-04-04 22:33:14.208302980 -0500 @@ -3033,10 +3033,10 @@ return 0; } -static int datesort( const void *v1, const void *v2 ) +static int datesort ( const struct dirent **v1, const struct dirent **v2 ) { - const struct dirent *d1 = *(const struct dirent**) v1; - const struct dirent *d2 = *(const struct dirent**) v2; + const struct dirent *d1=*v1; + const struct dirent *d2=*v2; struct stat s1, s2; std::string tmp = VSFileSystem::homedir+"/save/"+d1->d_name; if ( stat( tmp.c_str(), &s1 ) ) @@ -3047,12 +3047,6 @@ return s1.st_mtime-s2.st_mtime; } -#if (defined (__FREEBSD__)) || (defined (_WIN32) && !defined (__CYGWIN__ ) ) || (defined (__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 10) || defined(__HAIKU__) -typedef int (*scancompare)( const struct dirent **v1, const struct dirent **v2 ); -#else -typedef int (*scancompare)( const void *v1, const void *v2 ); -#endif - //Load the controls for the News display. void BaseComputer::loadLoadSaveControls( void ) { @@ -3065,7 +3059,7 @@ if (playerUnit) { struct dirent **dirlist; std::string savedir = VSFileSystem::homedir+"/save/"; - int ret = scandir( savedir.c_str(), &dirlist, nodirs, (scancompare)&datesort ); + int ret = scandir (savedir.c_str(),&dirlist,nodirs,datesort); while (ret-- > 0) picker->addCell( new SimplePickerCell( dirlist[ret]->d_name ) ); }