Changeset 486 for trunk/src/lua


Ignore:
Timestamp:
02/24/16 18:47:54 (9 years ago)
Author:
epyon
Message:
  • mass update once again...
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lua/lua_state.cc

    r440 r486  
    194194                str = lua_tolstring( m_state, -1, &l );
    195195                result = hash_string< uint64 >( str, l );
     196                //NV_LOG_DEBUG( str );
    196197        }
    197198        lua_pop( m_state, 1 );
     
    204205        size_t l = 0;
    205206        const char* str = nullptr;
    206         uint64 result = defval;
     207        shash64 result = shash64( defval );
    207208        if ( lua_type( m_state, -1 ) == LUA_TSTRING )
    208209        {
    209210                str = lua_tolstring( m_state, -1, &l );
    210                 result = table.insert( string_view( str, l ) ).value();
    211         }
    212         lua_pop( m_state, 1 );
    213         return shash64( result );
     211                result = table.insert( string_view( str, l ) );
     212        }
     213        lua_pop( m_state, 1 );
     214        return result;
     215}
     216
     217nv::shash64 nv::lua::table_guard::get_string( string_view element, string_table* table, uint64 defval /*= 0 */ )
     218{
     219        lua_getfield( m_state, -1, element.data() );
     220        size_t l = 0;
     221        const char* str = nullptr;
     222        shash64 result = shash64( defval );
     223        if ( lua_type( m_state, -1 ) == LUA_TSTRING )
     224        {
     225                str = lua_tolstring( m_state, -1, &l );
     226                string_view sv( str, l );
     227                result = table ? table->insert( sv ) : shash64( sv );
     228        }
     229        lua_pop( m_state, 1 );
     230        return result;
    214231}
    215232
Note: See TracChangeset for help on using the changeset viewer.