use getBytes() instead of looping over getByte()
This commit is contained in:
parent
9a41659ae7
commit
fc73e2e173
@ -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) {
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user