aboutsummaryrefslogtreecommitdiff
path: root/src/lapi.js
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2017-12-15 14:56:04 +1100
committerdaurnimator <quae@daurnimator.com>2017-12-15 14:56:04 +1100
commit8249248f80467f1660509a30623f40bb9ff1eba7 (patch)
tree3774f145fa960592364607cd5fd221d740ca405b /src/lapi.js
parentb162ffe744bc407ad4035674f5c05848a460b58f (diff)
downloadfengari-8249248f80467f1660509a30623f40bb9ff1eba7.tar.gz
fengari-8249248f80467f1660509a30623f40bb9ff1eba7.tar.bz2
fengari-8249248f80467f1660509a30623f40bb9ff1eba7.zip
src/lapi.js: Have lua_todataview return view over actual underlying Uint8Array
Diffstat (limited to 'src/lapi.js')
-rw-r--r--src/lapi.js15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/lapi.js b/src/lapi.js
index afa94ce..111735f 100644
--- a/src/lapi.js
+++ b/src/lapi.js
@@ -672,19 +672,8 @@ const lua_toljsstring = function(L, idx) {
const lua_tojsstring = lua_toljsstring;
const lua_todataview = function(L, idx) {
- let o = index2addr(L, idx);
-
- if (!o.ttisstring()) {
- if (!lvm.cvt2str(o)) { /* not convertible? */
- return null;
- }
- lobject.luaO_tostring(L, o);
- }
-
- let dv = new DataView(new ArrayBuffer(o.vslen()));
- o.svalue().forEach((e, i) => dv.setUint8(i, e, true));
-
- return dv;
+ let u8 = lua_tolstring(L, idx);
+ return new DataView(u8.buffer, u8.byteOffset, u8.byteLength);
};
const lua_rawlen = function(L, idx) {