** equality for long strings */
| 38 | ** equality for long strings |
| 39 | */ |
| 40 | int luaS_eqlngstr (TString *a, TString *b) { |
| 41 | size_t len = a->u.lnglen; |
| 42 | lua_assert(a->tt == LUA_TLNGSTR && b->tt == LUA_TLNGSTR); |
| 43 | return (a == b) || /* same instance or... */ |
| 44 | ((len == b->u.lnglen) && /* equal length and ... */ |
| 45 | (memcmp(getstr(a), getstr(b), len) == 0)); /* equal contents */ |
| 46 | } |
| 47 | |
| 48 | |
| 49 | unsigned int luaS_hash (const char *str, size_t l, unsigned int seed) { |