From 5cc7d23066de073581659ad823c4c255ef237dce Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Tue, 5 Aug 2014 17:26:17 +0200 Subject: [PATCH] Properly set this.eof in CCITTFaxStream --- src/core/stream.js | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/core/stream.js b/src/core/stream.js index 304159173..4e9921dc6 100644 --- a/src/core/stream.js +++ b/src/core/stream.js @@ -2018,34 +2018,39 @@ var CCITTFaxStream = (function CCITTFaxStreamClosure() { } } - if (this.byteAlign) { - this.inputBits &= ~7; - } - var gotEOL = false; if (!this.eoblock && this.row === this.rows - 1) { this.eof = true; - } else { + } else if (this.eoline || !this.byteAlign) { code1 = this.lookBits(12); - while (code1 === 0) { - this.eatBits(1); - code1 = this.lookBits(12); + if (this.eoline) { + while (code1 !== EOF && code1 !== 1) { + this.eatBits(1); + code1 = this.lookBits(12); + } + } else { + while (code1 === 0) { + this.eatBits(1); + code1 = this.lookBits(12); + } } if (code1 === 1) { this.eatBits(12); gotEOL = true; - } else if (code1 === EOF) { - this.eof = true; } } + if (this.byteAlign && !gotEOL) { + this.inputBits &= ~7; + } + if (!this.eof && this.encoding > 0) { this.nextLine2D = !this.lookBits(1); this.eatBits(1); } - if (this.eoblock && gotEOL) { + if (this.eoblock && !this.eoline && this.byteAlign) { code1 = this.lookBits(12); if (code1 === 1) { this.eatBits(12);