diff --git a/src/Archive/Entry/EntryIterator.js b/src/Archive/Entry/EntryIterator.js index a3b1d9b..26d59e3 100644 --- a/src/Archive/Entry/EntryIterator.js +++ b/src/Archive/Entry/EntryIterator.js @@ -39,7 +39,11 @@ export default class EntryIterator { async clone() { let cloneReader = await this.reader.clone(); cloneReader.seek(this.reader.offset); - return new this.constructor(this.archive, cloneReader, false); + + let cloneIterator = new this.constructor(this.archive, cloneReader, false); + cloneIterator.currentEntry = this.currentEntry; + cloneIterator.startOffset = this.startOffset; + return cloneIterator; } /** diff --git a/src/Reader/ArrayBufferReader.js b/src/Reader/ArrayBufferReader.js index 1150e49..41f8ec3 100644 --- a/src/Reader/ArrayBufferReader.js +++ b/src/Reader/ArrayBufferReader.js @@ -26,7 +26,8 @@ export default class ArrayBufferReader extends DataReader { if (cloneLength === null) { cloneLength = this.byteLength - cloneOffset; } - return new this.constructor(this.data.buffer, this.byteOffset + cloneOffset, cloneLength); + return new this.constructor(this.data.buffer, this.byteOffset + cloneOffset, cloneLength) + .setMaxBufferSize(this.bufferSize); } /** diff --git a/src/Reader/BrowserFileReader.js b/src/Reader/BrowserFileReader.js index 640e944..9dd7c15 100644 --- a/src/Reader/BrowserFileReader.js +++ b/src/Reader/BrowserFileReader.js @@ -148,7 +148,8 @@ export default class BrowserFileReader extends DataReader { if (cloneLength === null) { cloneLength = this.byteLength - cloneOffset; } - return new this.constructor(this.file, this.byteOffset + cloneOffset, cloneLength); + return new this.constructor(this.file, this.byteOffset + cloneOffset, cloneLength) + .setMaxBufferSize(this.bufferSize); } }