Fixes ByteArray and adds URLStream.readBytes

This commit is contained in:
Yury Delendik 2012-12-19 11:25:17 -06:00
Родитель 71681ae33f
Коммит e0fc3fc9ef
5 изменённых файлов: 17 добавлений и 4 удалений

Просмотреть файл

@ -961,8 +961,11 @@ var natives = (function () {
}
var c = new runtime.domain.system.Class("ByteArray", ByteArray, C(ByteArray));
c.extendBuiltin(baseClass);
var BAp = ByteArray.prototype;
BAp.indexGet = function (i) { return this.uint8v[i]; };
BAp.indexSet = function (i, v) { this.uint8v[i] = v; };
BAp.cacheViews = function cacheViews() {
var a = this.a;
@ -1063,7 +1066,7 @@ var natives = (function () {
};
BAp.writeBytes = function writeBytes(bytes, offset, length) {
if (offset && length) {
if (offset || length) {
this.writeRawBytes(new Int8Array(bytes.a, offset, length));
} else {
this.writeRawBytes(bytes.int8v);

Просмотреть файл

@ -48,8 +48,16 @@ var URLStreamDefinition = (function () {
return stream.bytes[stream.pos++];
},
readBytes: function readBytes(bytes, offset, length) {
//readBytes(bytes:ByteArray, offset:uint=0, length:uint=0):void
throw 'Not implemented: URLStream.readBytes';
if (length < 0)
throw 'Invalid length argument';
var stream = this._stream;
if (!length)
length = stream.remaining();
else
stream.ensure(length);
bytes.writeRawBytes(stream.bytes.subarray(stream.pos,
stream.pos + length), offset, length);
stream.pos += length;
},
readDouble: function readDouble() {
throw 'Not implemented: URLStream.readDouble';

Двоичные данные
test/swfs/stream1.fla

Двоичный файл не отображается.

Двоичные данные
test/swfs/stream1.swf

Двоичный файл не отображается.

Просмотреть файл

@ -4,4 +4,6 @@ byte BE: 18
word BE: 13398
byte LE: 18
word LE: 22068
end: 3
mid: 3
buf: 119,136,153
end: 0