diff options
Diffstat (limited to 'ports/webassembly/library.js')
| -rw-r--r-- | ports/webassembly/library.js | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/ports/webassembly/library.js b/ports/webassembly/library.js index fb31b0fe5..fc5b54248 100644 --- a/ports/webassembly/library.js +++ b/ports/webassembly/library.js @@ -26,16 +26,12 @@ mergeInto(LibraryManager.library, { mp_js_write: function(ptr, len) { - for (var i = 0; i < len; ++i) { - if (typeof window === 'undefined') { - var b = Buffer.alloc(1); - b.writeInt8(getValue(ptr + i, 'i8')); - process.stdout.write(b); - } else { - var c = String.fromCharCode(getValue(ptr + i, 'i8')); - var printEvent = new CustomEvent('micropython-print', { detail: c }); - document.dispatchEvent(printEvent); - } + const buffer = HEAPU8.subarray(ptr, ptr + len) + if (typeof window === 'undefined') { + process.stdout.write(buffer); + } else { + const printEvent = new CustomEvent('micropython-print', { detail: buffer }); + document.dispatchEvent(printEvent); } }, |
