]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/mainframe.cpp
Embrace lambdas
[xonotic/netradiant.git] / radiant / mainframe.cpp
index 05fdc2b78eae7221499f8d0e5844b84478ce167b..433767d547c705bb2a04d0b521a9a4db820aa493 100644 (file)
@@ -521,22 +521,6 @@ void gamemode_set( const char* gamemode ){
 
 #include "os/dir.h"
 
-class CLoadModule
-{
-const char* m_path;
-public:
-CLoadModule( const char* path ) : m_path( path ){
-}
-void operator()( const char* name ) const {
-       char fullname[1024];
-       ASSERT_MESSAGE( strlen( m_path ) + strlen( name ) < 1024, "" );
-       strcpy( fullname, m_path );
-       strcat( fullname, name );
-       globalOutputStream() << "Found '" << fullname << "'\n";
-       GlobalModuleServer_loadModule( fullname );
-}
-};
-
 const char* const c_library_extension =
 #if defined( CMAKE_SHARED_MODULE_SUFFIX )
     CMAKE_SHARED_MODULE_SUFFIX
@@ -550,7 +534,14 @@ const char* const c_library_extension =
 ;
 
 void Radiant_loadModules( const char* path ){
-       Directory_forEach( path, MatchFileExtension<CLoadModule>( c_library_extension, CLoadModule( path ) ) );
+       Directory_forEach(path, matchFileExtension(c_library_extension, [&](const char *name) {
+               char fullname[1024];
+               ASSERT_MESSAGE(strlen(path) + strlen(name) < 1024, "");
+               strcpy(fullname, path);
+               strcat(fullname, name);
+               globalOutputStream() << "Found '" << fullname << "'\n";
+               GlobalModuleServer_loadModule(fullname);
+       }));
 }
 
 void Radiant_loadModulesFromRoot( const char* directory ){