diff --git a/src/core/core.js b/src/core/core.js index e3a821028..f012b271c 100644 --- a/src/core/core.js +++ b/src/core/core.js @@ -14,8 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals assert, calculateMD5, Catalog, Dict, error, info, isArray, - isArrayBuffer, isName, isStream, isString, createPromiseCapability, +/* globals assert, bytesToString, calculateMD5, Catalog, Dict, error, info, + isArray, isArrayBuffer, isName, isStream, isString, Linearization, NullStream, PartialEvaluator, shadow, Stream, Lexer, StreamsSequenceStream, stringToPDFString, stringToBytes, Util, XRef, MissingDataException, Promise, Annotation, ObjectLoader, OperatorList @@ -301,14 +301,10 @@ var PDFDocument = (function PDFDocumentClosure() { function find(stream, needle, limit, backwards) { var pos = stream.pos; var end = stream.end; - var strBuf = []; if (pos + limit > end) { limit = end - pos; } - for (var n = 0; n < limit; ++n) { - strBuf.push(String.fromCharCode(stream.getByte())); - } - var str = strBuf.join(''); + var str = bytesToString(stream.getBytes(limit)); stream.pos = pos; var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle); if (index == -1) { diff --git a/src/core/stream.js b/src/core/stream.js index 406d4d908..6a17214ae 100644 --- a/src/core/stream.js +++ b/src/core/stream.js @@ -539,12 +539,10 @@ var FlateStream = (function FlateStreamClosure() { this.eof = true; } } else { - for (var n = bufferLength; n < end; ++n) { - if ((b = str.getByte()) === -1) { - this.eof = true; - break; - } - buffer[n] = b; + var block = str.getBytes(blockLen); + buffer.set(block, bufferLength); + if (block.length < blockLen) { + this.eof = true; } } return;