| 308 | } |
| 309 | |
| 310 | const char* GetStringFromHashOrString(lua_State* L, int index, char* buffer, uint32_t bufferlength) |
| 311 | { |
| 312 | dmhash_t* phash = ToHash(L, index); |
| 313 | if (phash != 0) |
| 314 | { |
| 315 | DM_HASH_REVERSE_MEM(hash_ctx, 128); |
| 316 | const char* reverse = (const char*) dmHashReverseSafe64Alloc(&hash_ctx, *phash); |
| 317 | dmStrlCpy(buffer, reverse, bufferlength); |
| 318 | } |
| 319 | else if (lua_type(L, index) == LUA_TSTRING) |
| 320 | { |
| 321 | size_t len = 0; |
| 322 | const char* s = lua_tolstring(L, index, &len); |
| 323 | dmStrlCpy(buffer, s, bufferlength); |
| 324 | } |
| 325 | else |
| 326 | { |
| 327 | dmStrlCpy(buffer, "<unknown type>", bufferlength); |
| 328 | } |
| 329 | return buffer; |
| 330 | } |
| 331 | |
| 332 | static int Hash_eq(lua_State* L) |
| 333 | { |