MCPcopy Create free account
hub / github.com/TruthHun/BookStack / checkBufferLength

Function checkBufferLength

static/word2md/mammoth.browser.js:26025–26059  ·  view source on GitHub ↗
(parser)

Source from the content-addressed store, hash-verified

26023 }
26024
26025 function checkBufferLength (parser) {
26026 var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)
26027 var maxActual = 0
26028 for (var i = 0, l = buffers.length; i < l; i++) {
26029 var len = parser[buffers[i]].length
26030 if (len > maxAllowed) {
26031 // Text/cdata nodes can get big, and since they're buffered,
26032 // we can get here under normal conditions.
26033 // Avoid issues by emitting the text node now,
26034 // so at least it won't get any bigger.
26035 switch (buffers[i]) {
26036 case 'textNode':
26037 closeText(parser)
26038 break
26039
26040 case 'cdata':
26041 emitNode(parser, 'oncdata', parser.cdata)
26042 parser.cdata = ''
26043 break
26044
26045 case 'script':
26046 emitNode(parser, 'onscript', parser.script)
26047 parser.script = ''
26048 break
26049
26050 default:
26051 error(parser, 'Max buffer length exceeded: ' + buffers[i])
26052 }
26053 }
26054 maxActual = Math.max(maxActual, len)
26055 }
26056 // schedule the next check for the earliest possible buffer overrun.
26057 var m = sax.MAX_BUFFER_LENGTH - maxActual
26058 parser.bufferCheckPosition = m + parser.position
26059 }
26060
26061 function clearBuffers (parser) {
26062 for (var i = 0, l = buffers.length; i < l; i++) {

Callers 1

writeFunction · 0.70

Calls 3

closeTextFunction · 0.70
emitNodeFunction · 0.70
errorFunction · 0.70

Tested by

no test coverage detected