diff options
| author | Benoit Germain <b n t DOT g e r m a i n AT g m a i l DOT c o m> | 2018-10-31 12:19:00 +0100 |
|---|---|---|
| committer | Benoit Germain <b n t DOT g e r m a i n AT g m a i l DOT c o m> | 2018-10-31 12:19:00 +0100 |
| commit | 4b9c5a59a823df610c8c871d5c0cb47cbb7c42cd (patch) | |
| tree | c2692434fefaecdf1e71e7608ddafa2cc6fa40af /src | |
| parent | 41766577f53a53542e8ea6b1d1a8f753b0885214 (diff) | |
| download | lanes-4b9c5a59a823df610c8c871d5c0cb47cbb7c42cd.tar.gz lanes-4b9c5a59a823df610c8c871d5c0cb47cbb7c42cd.tar.bz2 lanes-4b9c5a59a823df610c8c871d5c0cb47cbb7c42cd.zip | |
Another lua_pushlightuserdata->push_unique_key internal replacement
Diffstat (limited to 'src')
| -rw-r--r-- | src/lanes.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lanes.c b/src/lanes.c index 5a1f94a..aeba5fb 100644 --- a/src/lanes.c +++ b/src/lanes.c | |||
| @@ -275,7 +275,8 @@ static DECLARE_CONST_UNIQUE_KEY( STACK_TRACE_KEY, 0x024d5411677ce879); | |||
| 275 | * error (and maybe stack trace) parameters to the finalizer functions would | 275 | * error (and maybe stack trace) parameters to the finalizer functions would |
| 276 | * anyways complicate that approach. | 276 | * anyways complicate that approach. |
| 277 | */ | 277 | */ |
| 278 | #define FINALIZER_REG_KEY ((void*)LG_set_finalizer) | 278 | // crc64/we of string "STACK_TRACE_KEY" generated at http://www.nitrxgen.net/hashgen/ |
| 279 | static DECLARE_CONST_UNIQUE_KEY( FINALIZER_REG_KEY, 0x7902972781c7e365); | ||
| 279 | 280 | ||
| 280 | struct s_Linda; | 281 | struct s_Linda; |
| 281 | 282 | ||
| @@ -301,11 +302,11 @@ struct s_Linda; | |||
| 301 | * Returns: TRUE if a table was pushed | 302 | * Returns: TRUE if a table was pushed |
| 302 | * FALSE if no table found, not created, and nothing pushed | 303 | * FALSE if no table found, not created, and nothing pushed |
| 303 | */ | 304 | */ |
| 304 | static bool_t push_registry_table( lua_State* L, void* key, bool_t create) | 305 | static bool_t push_registry_table( lua_State* L, UniqueKey key, bool_t create) |
| 305 | { | 306 | { |
| 306 | STACK_GROW( L, 3); | 307 | STACK_GROW( L, 3); |
| 307 | STACK_CHECK( L); | 308 | STACK_CHECK( L); |
| 308 | lua_pushlightuserdata( L, key); // key | 309 | push_unique_key( L, key); // key |
| 309 | lua_rawget( L, LUA_REGISTRYINDEX); // t? | 310 | lua_rawget( L, LUA_REGISTRYINDEX); // t? |
| 310 | 311 | ||
| 311 | if( lua_isnil( L, -1)) // nil? | 312 | if( lua_isnil( L, -1)) // nil? |
| @@ -318,7 +319,7 @@ static bool_t push_registry_table( lua_State* L, void* key, bool_t create) | |||
| 318 | } | 319 | } |
| 319 | 320 | ||
| 320 | lua_newtable( L); // t | 321 | lua_newtable( L); // t |
| 321 | lua_pushlightuserdata( L, key); // t key | 322 | push_unique_key( L, key); // t key |
| 322 | lua_pushvalue( L, -2); // t key t | 323 | lua_pushvalue( L, -2); // t key t |
| 323 | lua_rawset( L, LUA_REGISTRYINDEX); // t | 324 | lua_rawset( L, LUA_REGISTRYINDEX); // t |
| 324 | } | 325 | } |
