]> git.proxmox.com Git - pve-xtermjs.git/commitdiff
use new Uint8Array interface of xterm.js
authorDominik Csapak <d.csapak@proxmox.com>
Tue, 21 Jan 2020 14:38:29 +0000 (15:38 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 22 Jan 2020 11:16:43 +0000 (12:16 +0100)
which means we can drop our utf8-decoder

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/www/main.js
src/www/util.js

index 6d7ee69bcb5b252ab0ecb0bda05c2297373de4a8..49d382cba51ac7887575d10e4354e56b88b58384 100644 (file)
@@ -144,11 +144,11 @@ function createTerminal() {
 
 function runTerminal() {
     socket.onmessage = function(event) {
-       var answer = Utf8ArrayToStr(event.data);
+       var answer = new Uint8Array(event.data);
        if (state === states.connected) {
            term.write(answer);
        } else if(state === states.connecting) {
-           if (answer.slice(0,2) === "OK") {
+           if (answer[0] === 79 && answer[1] === 75) { // "OK"
                updateState(states.connected);
                term.write(answer.slice(2));
            } else {
index fc6ef07bb6aea6bb1ddbe2a8218939f5a95510e4..52cad215616c4f6d107469c2c1584ab3ec05cccb 100644 (file)
@@ -69,57 +69,6 @@ function getQueryParameter(name) {
     return result;
 }
 
-var cur = 0;
-var left = 0;
-
-function Utf8ArrayToStr(arraybuffer) {
-    var array = new Uint8Array(arraybuffer),
-       i = 0,
-       len = array.byteLength,
-       out = "",
-       c;
-
-    while (i < len) {
-       c = array[i++];
-       if (!left && c < 0x80) {
-               out += String.fromCharCode(c);
-       } else if(!left) {
-           switch (c >> 4) {
-               case 12: case 13:
-                   // 110x xxxx 10xx xxxx
-                   cur = (c & 0x1F) << 6;
-                   left = 1;
-                   break;
-               case 14:
-                   // 1110 xxxx 10xx xxxx 10xx xxxx
-                   cur = (c & 0x0F) << 12;
-                   left = 2;
-                   break;
-               case 15:
-                   // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx
-                   cur = (c & 0x07) << 18;
-                   left = 3;
-                   break;
-               default:
-                   cur = 0;
-                   out += '\ufffd';
-           }
-       } else if (c >= 0x80 && c <= 0xBF) {
-           cur = cur | ((c & 0x3F) << (--left * 6));
-           if (!left) {
-               out += String.fromCharCode(cur);
-               cur = 0;
-           }
-       } else {
-           cur = 0;
-           left = 0;
-           out += '\ufffd';
-       }
-    }
-
-    return out;
-}
-
 function API2Request(reqOpts) {
     var me = this;