on master help sign in
Make a utf-8 string in getLine for Node
commit2869be1dec54b8da9b7110effc46b640b58c5273 authorNiklas Larsson <niklas@mm.st> dateMon 14 Sep 2015, 14:01 (11 years ago) parent6fc713d
1 file changed+12−6
jsrts/Runtime-node.js+12−6
jsrts/Runtime-node.js+12−6
@@ -10,14 +10,20 @@ var i$getLine = (function() {
1010
1111 return function() {
1212 var ret = "";
13−
13+ var b = new Buffer(1024);
14+ var i = 0;
1415 while(true) {
15− var b = new Buffer(1);
16− fs.readSync(0, b, 0, 1 )
17− if (b[0] == 10)
16+ fs.readSync(0, b, i, 1 )
17+ if (b[i] == 10) {
18+ ret = b.toString('utf8', 0, i);
1819 break;
19− else
20− ret += String.fromCharCode(b[0]);
20+ }
21+ i++;
22+ if (i == b.length) {
23+ nb = new Buffer (b.length*2);
24+ b.copy(nb)
25+ b = nb;
26+ }
2127 }
2228
2329 return ret;