Index: trunk/src/lua/lua_state.cc
===================================================================
--- trunk/src/lua/lua_state.cc	(revision 425)
+++ trunk/src/lua/lua_state.cc	(revision 426)
@@ -180,4 +180,19 @@
 	lua_getfield( m_state, -1, element.data() );
 	bool result = !( lua_isnil( m_state, -1 ) );
+	lua_pop( m_state, 1 );
+	return result;
+}
+
+uint64 nv::lua::table_guard::get_string_hash_64( string_view element, uint64 defval /*= 0 */ )
+{
+	lua_getfield( m_state, -1, element.data() );
+	size_t l = 0;
+	const char* str = nullptr;
+	uint64 result = defval;
+	if ( lua_type( m_state, -1 ) == LUA_TSTRING )
+	{
+		str = lua_tolstring( m_state, -1, &l );
+		result = hash_string< uint64 >( str, l );
+	}
 	lua_pop( m_state, 1 );
 	return result;
@@ -253,5 +268,4 @@
 	return result;
 }
-
 
 float nv::lua::table_guard::get_float( string_view element, float defval /*= 0.0 */ )
