aboutsummaryrefslogtreecommitdiff
path: root/src/loslib.js
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2018-04-20 22:29:36 +1000
committerdaurnimator <quae@daurnimator.com>2018-04-20 22:35:37 +1000
commit3714f514793a190ac64b6f3c7d48e377749c7acb (patch)
tree0a59591eb21a8888de6e51c81ca74eb4fd89c6c4 /src/loslib.js
parenta2e3d512a6a154853065c7dc51f749374aca6d0f (diff)
downloadfengari-3714f514793a190ac64b6f3c7d48e377749c7acb.tar.gz
fengari-3714f514793a190ac64b6f3c7d48e377749c7acb.tar.bz2
fengari-3714f514793a190ac64b6f3c7d48e377749c7acb.zip
src/l{str,os}lib.js: Use luastring_eq where sensible
Diffstat (limited to 'src/loslib.js')
-rw-r--r--src/loslib.js11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/loslib.js b/src/loslib.js
index 6419524..6e0a032 100644
--- a/src/loslib.js
+++ b/src/loslib.js
@@ -42,6 +42,7 @@ const {
luaL_pushresult
} = require('./lauxlib.js');
const {
+ luastring_eq,
luastring_indexOf,
to_jsstring,
to_luastring
@@ -101,14 +102,6 @@ const getfield = function(L, key, d, delta) {
return res;
};
-const array_cmp = function(a, ai, b, bi, len) {
- for (let i=0; i<len; i++) {
- if (a[ai+i] !== b[bi+i])
- return false;
- }
- return true;
-};
-
const checkoption = function(L, conv, i, buff) {
let option = LUA_STRFTIMEOPTIONS;
let o = 0;
@@ -116,7 +109,7 @@ const checkoption = function(L, conv, i, buff) {
for (; o < option.length && oplen <= (conv.length - i); o += oplen) {
if (option[o] === '|'.charCodeAt(0)) /* next block? */
oplen++; /* will check options with next length (+1) */
- else if (array_cmp(conv, i, option, o, oplen)) { /* match? */
+ else if (luastring_eq(conv.subarray(i, i+oplen), option.subarray(o, o+oplen))) { /* match? */
buff.set(conv.subarray(i, i+oplen)); /* copy valid option to buffer */
return i + oplen; /* return next item */
}