Changeset 486 for trunk/src/lua/lua_state.cc
- Timestamp:
- 02/24/16 18:47:54 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lua/lua_state.cc
r440 r486 194 194 str = lua_tolstring( m_state, -1, &l ); 195 195 result = hash_string< uint64 >( str, l ); 196 //NV_LOG_DEBUG( str ); 196 197 } 197 198 lua_pop( m_state, 1 ); … … 204 205 size_t l = 0; 205 206 const char* str = nullptr; 206 uint64 result = defval;207 shash64 result = shash64( defval ); 207 208 if ( lua_type( m_state, -1 ) == LUA_TSTRING ) 208 209 { 209 210 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 217 nv::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; 214 231 } 215 232
Note: See TracChangeset
for help on using the changeset viewer.