diff options
-rw-r--r-- | libs/lmo/src/lmo_lualib.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/libs/lmo/src/lmo_lualib.c b/libs/lmo/src/lmo_lualib.c index ade8e01f7..5cc1e7d69 100644 --- a/libs/lmo/src/lmo_lualib.c +++ b/libs/lmo/src/lmo_lualib.c @@ -55,17 +55,12 @@ static uint32_t _lmo_hash_string(lua_State *L, int n) { if (!str || len >= sizeof(res)) return 0; - while (*str && isspace(*str)) - str++; - - for (prev = 0, ptr = res; *str; prev = *str, str++) + for (prev = ' ', ptr = res; *str; prev = *str, str++) { if (isspace(*str)) { - if (isspace(prev)) - continue; - - *ptr++ = ' '; + if (!isspace(prev)) + *ptr++ = ' '; } else { @@ -73,7 +68,7 @@ static uint32_t _lmo_hash_string(lua_State *L, int n) { } } - while ((ptr > res) && isspace(*ptr)) + if ((ptr > res) && isspace(*(ptr-1))) ptr--; return sfh_hash(res, ptr - res); |