Changeset 431 for trunk/src/lua
- Timestamp:
- 07/21/15 13:31:23 (10 years ago)
- Location:
- trunk/src/lua
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lua/lua_map_area.cc
r406 r431 137 137 { 138 138 nv::map_area* ma = to_map_area( L, 1 ); 139 lua_pushstring( L, ma->id_to_string( ma->get_cell( to_coord( L, 2 ) ) ).c_str() ); 139 nv::string_view result( ma->id_to_string( ma->get_cell( to_coord( L, 2 ) ) ) ); 140 lua_pushlstring( L, result.data(), result.size() ); 140 141 return 1; 141 142 } -
trunk/src/lua/lua_state.cc
r426 r431 184 184 } 185 185 186 uint64 nv::lua::table_guard::get_string_hash_64( string_view element, uint64 defval /*= 0 */ )186 shash64 nv::lua::table_guard::get_string_hash_64( string_view element, uint64 defval /*= 0 */ ) 187 187 { 188 188 lua_getfield( m_state, -1, element.data() ); … … 196 196 } 197 197 lua_pop( m_state, 1 ); 198 return result; 198 return shash64( result ); 199 } 200 201 shash64 nv::lua::table_guard::get_string( string_view element, string_table& table, uint64 defval /*= 0 */ ) 202 { 203 lua_getfield( m_state, -1, element.data() ); 204 size_t l = 0; 205 const char* str = nullptr; 206 uint64 result = defval; 207 if ( lua_type( m_state, -1 ) == LUA_TSTRING ) 208 { 209 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 ); 199 214 } 200 215
Note: See TracChangeset
for help on using the changeset viewer.