Index: trunk/src/lib/gl.cc
===================================================================
--- trunk/src/lib/gl.cc	(revision 406)
+++ trunk/src/lib/gl.cc	(revision 440)
@@ -56,21 +56,24 @@
 
 
-static void* load_gl_ext_symbol_impl( const char* name, nv::log_level fail_level = nv::LOG_DEBUG )
-{
-	void* result = gl_ext_loader( name );
+static void* load_gl_ext_symbol_impl( const nv::string_view& name, nv::log_level fail_level = nv::LOG_DEBUG )
+{
+	void* result = gl_ext_loader( name.data() );
 	NV_LOG( ( result ? nv::LOG_DEBUG : fail_level ), "load_gl_ext_symbol : ", name, ( result ? " succeded." : "failed." ) );
 	return result;
 }
 
-static void* load_gl_ext_symbol( const char* name, bool iterate, const char* ext )
+static void* load_gl_ext_symbol( const nv::string_view& name, bool iterate, const nv::string_view& ext )
 {
 	void * result        = nullptr;
-	result = load_gl_ext_symbol_impl( ext ? ( std::string(name) + ext ).c_str() : name );
+	nv::string128 test_name = name + ext;
+	result = load_gl_ext_symbol_impl( !ext.empty() ? test_name : name );
 	if ( result ) return result;
 	if ( iterate )
 	{
-		result = gl_ext_loader( (std::string(name) + "ARB").c_str() );
+		test_name = name + "ARB"_ls;
+		result = gl_ext_loader( test_name.data() );
 		if ( result ) return result;
-		result = gl_ext_loader( (std::string(name) + "EXT").c_str() );
+		test_name = name + "EXT"_ls;
+		result = gl_ext_loader( test_name.data() );
 		if ( result ) return result;
 	}
@@ -255,5 +258,5 @@
 
 #	define NV_GL_FUN_EXT( rtype, symbol, fparams ) \
-	void_assign( symbol, load_gl_ext_symbol(#symbol, true, nullptr) ); \
+	void_assign( symbol, load_gl_ext_symbol(#symbol, true, string_view()) ); \
 	count++; if ( !symbol ) fail_count++;
 
