fix: signed 13 and 32 bit ints (l and s formats)

This commit is contained in:
Andrey Sidorov 2014-03-31 14:05:51 +11:00
parent a930aa4d13
commit 33005e8f76

View file

@ -245,13 +245,23 @@ UnpackStream.prototype.pack = function(format, args)
var n = args[arg++];
buf[offset++] = n;
break;
case 's': // TODO: implement signed INT16!!!
case 's':
var n = args[arg++];
buf.writeInt16LE(n, offset);
offset += 2;
break;
case 'S':
var n = args[arg++];
buf[offset++] = n & 0xff;
buf[offset++] = (n >> 8) & 0xff;
break;
case 'l': // TODO: implement signed INT32!!!
case 'l':
var n = args[arg++];
buf.writeInt32LE(n, offset);
offset += 4;
break;
case 'L':
var n = args[arg++];
buf[offset++] = n & 0xff;