@novnc/novnc 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/base64.js +104 -0
- package/core/crypto/aes.js +178 -0
- package/core/crypto/bigint.js +34 -0
- package/core/crypto/crypto.js +90 -0
- package/core/crypto/des.js +330 -0
- package/core/crypto/dh.js +55 -0
- package/core/crypto/md5.js +82 -0
- package/core/crypto/rsa.js +132 -0
- package/core/decoders/copyrect.js +27 -0
- package/core/decoders/h264.js +321 -0
- package/core/decoders/hextile.js +181 -0
- package/core/decoders/jpeg.js +161 -0
- package/core/decoders/raw.js +59 -0
- package/core/decoders/rre.js +44 -0
- package/core/decoders/tight.js +393 -0
- package/core/decoders/tightpng.js +27 -0
- package/core/decoders/zlib.js +51 -0
- package/core/decoders/zrle.js +185 -0
- package/core/deflator.js +84 -0
- package/core/display.js +578 -0
- package/core/encodings.js +54 -0
- package/core/inflator.js +65 -0
- package/core/input/domkeytable.js +311 -0
- package/core/input/fixedkeys.js +129 -0
- package/core/input/gesturehandler.js +567 -0
- package/core/input/keyboard.js +294 -0
- package/core/input/keysym.js +616 -0
- package/core/input/keysymdef.js +688 -0
- package/core/input/util.js +191 -0
- package/core/input/vkeys.js +116 -0
- package/core/input/xtscancodes.js +173 -0
- package/core/ra2.js +312 -0
- package/core/rfb.js +3411 -0
- package/core/util/browser.js +233 -0
- package/core/util/cursor.js +249 -0
- package/core/util/element.js +32 -0
- package/core/util/events.js +138 -0
- package/core/util/eventtarget.js +35 -0
- package/core/util/int.js +15 -0
- package/core/util/logging.js +56 -0
- package/core/util/strings.js +28 -0
- package/core/websock.js +369 -0
- package/docs/API.md +0 -5
- package/package.json +6 -10
- package/vendor/pako/LICENSE +21 -0
- package/vendor/pako/README.md +6 -0
- package/{lib/vendor → vendor}/pako/lib/utils/common.js +13 -23
- package/{lib/vendor → vendor}/pako/lib/zlib/adler32.js +12 -14
- package/vendor/pako/lib/zlib/constants.js +47 -0
- package/{lib/vendor → vendor}/pako/lib/zlib/crc32.js +15 -14
- package/{lib/vendor → vendor}/pako/lib/zlib/deflate.js +459 -334
- package/{lib/vendor → vendor}/pako/lib/zlib/gzheader.js +13 -19
- package/{lib/vendor → vendor}/pako/lib/zlib/inffast.js +116 -119
- package/vendor/pako/lib/zlib/inflate.js +1527 -0
- package/{lib/vendor → vendor}/pako/lib/zlib/inftrees.js +103 -91
- package/vendor/pako/lib/zlib/messages.js +11 -0
- package/{lib/vendor → vendor}/pako/lib/zlib/trees.js +313 -268
- package/{lib/vendor → vendor}/pako/lib/zlib/zstream.js +4 -10
- package/lib/base64.js +0 -100
- package/lib/crypto/aes.js +0 -481
- package/lib/crypto/bigint.js +0 -41
- package/lib/crypto/crypto.js +0 -109
- package/lib/crypto/des.js +0 -374
- package/lib/crypto/dh.js +0 -81
- package/lib/crypto/md5.js +0 -97
- package/lib/crypto/rsa.js +0 -312
- package/lib/decoders/copyrect.js +0 -40
- package/lib/decoders/h264.js +0 -349
- package/lib/decoders/hextile.js +0 -195
- package/lib/decoders/jpeg.js +0 -175
- package/lib/decoders/raw.js +0 -66
- package/lib/decoders/rre.js +0 -52
- package/lib/decoders/tight.js +0 -363
- package/lib/decoders/tightpng.js +0 -51
- package/lib/decoders/zlib.js +0 -57
- package/lib/decoders/zrle.js +0 -192
- package/lib/deflator.js +0 -88
- package/lib/display.js +0 -588
- package/lib/encodings.js +0 -70
- package/lib/inflator.js +0 -77
- package/lib/input/domkeytable.js +0 -313
- package/lib/input/fixedkeys.js +0 -127
- package/lib/input/gesturehandler.js +0 -573
- package/lib/input/keyboard.js +0 -293
- package/lib/input/keysym.js +0 -878
- package/lib/input/keysymdef.js +0 -1351
- package/lib/input/util.js +0 -217
- package/lib/input/vkeys.js +0 -121
- package/lib/input/xtscancodes.js +0 -343
- package/lib/ra2.js +0 -535
- package/lib/rfb.js +0 -3398
- package/lib/util/browser.js +0 -239
- package/lib/util/cursor.js +0 -269
- package/lib/util/element.js +0 -41
- package/lib/util/events.js +0 -133
- package/lib/util/eventtarget.js +0 -53
- package/lib/util/int.js +0 -21
- package/lib/util/logging.js +0 -56
- package/lib/util/strings.js +0 -36
- package/lib/vendor/pako/lib/zlib/constants.js +0 -47
- package/lib/vendor/pako/lib/zlib/inflate.js +0 -1602
- package/lib/vendor/pako/lib/zlib/messages.js +0 -25
- package/lib/websock.js +0 -395
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = GZheader;
|
|
7
|
-
function GZheader() {
|
|
1
|
+
export default function GZheader() {
|
|
8
2
|
/* true if compressed data believed to be text */
|
|
9
|
-
this.text
|
|
3
|
+
this.text = 0;
|
|
10
4
|
/* modification time */
|
|
11
|
-
this.time
|
|
5
|
+
this.time = 0;
|
|
12
6
|
/* extra flags (not used when writing a gzip file) */
|
|
13
|
-
this.xflags
|
|
7
|
+
this.xflags = 0;
|
|
14
8
|
/* operating system */
|
|
15
|
-
this.os
|
|
9
|
+
this.os = 0;
|
|
16
10
|
/* pointer to extra field or Z_NULL if none */
|
|
17
|
-
this.extra
|
|
11
|
+
this.extra = null;
|
|
18
12
|
/* extra field length (valid if extra != Z_NULL) */
|
|
19
|
-
this.extra_len
|
|
20
|
-
|
|
13
|
+
this.extra_len = 0; // Actually, we don't need it in JS,
|
|
14
|
+
// but leave for few code modifications
|
|
21
15
|
|
|
22
16
|
//
|
|
23
17
|
// Setup limits is not necessary because in js we should not preallocate memory
|
|
@@ -27,15 +21,15 @@ function GZheader() {
|
|
|
27
21
|
/* space at extra (only when reading header) */
|
|
28
22
|
// this.extra_max = 0;
|
|
29
23
|
/* pointer to zero-terminated file name or Z_NULL */
|
|
30
|
-
this.name
|
|
24
|
+
this.name = '';
|
|
31
25
|
/* space at name (only when reading header) */
|
|
32
26
|
// this.name_max = 0;
|
|
33
27
|
/* pointer to zero-terminated comment or Z_NULL */
|
|
34
|
-
this.comment
|
|
28
|
+
this.comment = '';
|
|
35
29
|
/* space at comment (only when reading header) */
|
|
36
30
|
// this.comm_max = 0;
|
|
37
31
|
/* true if there was or will be a header crc */
|
|
38
|
-
this.hcrc
|
|
32
|
+
this.hcrc = 0;
|
|
39
33
|
/* true when done reading gzip header (not used when writing a gzip file) */
|
|
40
|
-
this.done
|
|
41
|
-
}
|
|
34
|
+
this.done = false;
|
|
35
|
+
}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = inflate_fast;
|
|
7
1
|
// See state defs from inflate.js
|
|
8
|
-
var BAD = 30;
|
|
9
|
-
var TYPE = 12;
|
|
2
|
+
var BAD = 30; /* got a data error -- remain here until reset */
|
|
3
|
+
var TYPE = 12; /* i: waiting for type bits, including last-flag bit */
|
|
10
4
|
|
|
11
5
|
/*
|
|
12
6
|
Decode literal, length, and distance codes and write out the resulting
|
|
@@ -43,34 +37,36 @@ var TYPE = 12; /* i: waiting for type bits, including last-flag bit */
|
|
|
43
37
|
requires strm.avail_out >= 258 for each loop to avoid checking for
|
|
44
38
|
output space.
|
|
45
39
|
*/
|
|
46
|
-
function inflate_fast(strm, start) {
|
|
40
|
+
export default function inflate_fast(strm, start) {
|
|
47
41
|
var state;
|
|
48
|
-
var _in;
|
|
49
|
-
var last;
|
|
50
|
-
var _out;
|
|
51
|
-
var beg;
|
|
52
|
-
var end;
|
|
53
|
-
|
|
54
|
-
var dmax;
|
|
55
|
-
|
|
56
|
-
var wsize;
|
|
57
|
-
var whave;
|
|
58
|
-
var wnext;
|
|
42
|
+
var _in; /* local strm.input */
|
|
43
|
+
var last; /* have enough input while in < last */
|
|
44
|
+
var _out; /* local strm.output */
|
|
45
|
+
var beg; /* inflate()'s initial strm.output */
|
|
46
|
+
var end; /* while out < end, enough space available */
|
|
47
|
+
//#ifdef INFLATE_STRICT
|
|
48
|
+
var dmax; /* maximum distance from zlib header */
|
|
49
|
+
//#endif
|
|
50
|
+
var wsize; /* window size or zero if not using window */
|
|
51
|
+
var whave; /* valid bytes in the window */
|
|
52
|
+
var wnext; /* window write index */
|
|
59
53
|
// Use `s_window` instead `window`, avoid conflict with instrumentation tools
|
|
60
|
-
var s_window;
|
|
61
|
-
var hold;
|
|
62
|
-
var bits;
|
|
63
|
-
var lcode;
|
|
64
|
-
var dcode;
|
|
65
|
-
var lmask;
|
|
66
|
-
var dmask;
|
|
67
|
-
var here;
|
|
68
|
-
var op;
|
|
69
|
-
|
|
70
|
-
var len;
|
|
71
|
-
var dist;
|
|
72
|
-
var from;
|
|
54
|
+
var s_window; /* allocated sliding window, if wsize != 0 */
|
|
55
|
+
var hold; /* local strm.hold */
|
|
56
|
+
var bits; /* local strm.bits */
|
|
57
|
+
var lcode; /* local strm.lencode */
|
|
58
|
+
var dcode; /* local strm.distcode */
|
|
59
|
+
var lmask; /* mask for first level of length codes */
|
|
60
|
+
var dmask; /* mask for first level of distance codes */
|
|
61
|
+
var here; /* retrieved table entry */
|
|
62
|
+
var op; /* code bits, operation, extra bits, or */
|
|
63
|
+
/* window position, window bytes to copy */
|
|
64
|
+
var len; /* match length, unused bytes */
|
|
65
|
+
var dist; /* match distance */
|
|
66
|
+
var from; /* where to copy match from */
|
|
73
67
|
var from_source;
|
|
68
|
+
|
|
69
|
+
|
|
74
70
|
var input, output; // JS specific, because we have no pointers
|
|
75
71
|
|
|
76
72
|
/* copy state to local variables */
|
|
@@ -83,9 +79,9 @@ function inflate_fast(strm, start) {
|
|
|
83
79
|
output = strm.output;
|
|
84
80
|
beg = _out - (start - strm.avail_out);
|
|
85
81
|
end = _out + (strm.avail_out - 257);
|
|
86
|
-
|
|
82
|
+
//#ifdef INFLATE_STRICT
|
|
87
83
|
dmax = state.dmax;
|
|
88
|
-
|
|
84
|
+
//#endif
|
|
89
85
|
wsize = state.wsize;
|
|
90
86
|
whave = state.whave;
|
|
91
87
|
wnext = state.wnext;
|
|
@@ -97,39 +93,42 @@ function inflate_fast(strm, start) {
|
|
|
97
93
|
lmask = (1 << state.lenbits) - 1;
|
|
98
94
|
dmask = (1 << state.distbits) - 1;
|
|
99
95
|
|
|
96
|
+
|
|
100
97
|
/* decode literals and length/distances until end-of-block or not enough
|
|
101
98
|
input data or output space */
|
|
102
99
|
|
|
103
|
-
top:
|
|
100
|
+
top:
|
|
101
|
+
do {
|
|
104
102
|
if (bits < 15) {
|
|
105
103
|
hold += input[_in++] << bits;
|
|
106
104
|
bits += 8;
|
|
107
105
|
hold += input[_in++] << bits;
|
|
108
106
|
bits += 8;
|
|
109
107
|
}
|
|
108
|
+
|
|
110
109
|
here = lcode[hold & lmask];
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
|
|
111
|
+
dolen:
|
|
112
|
+
for (;;) { // Goto emulation
|
|
113
|
+
op = here >>> 24/*here.bits*/;
|
|
114
114
|
hold >>>= op;
|
|
115
115
|
bits -= op;
|
|
116
|
-
op = here >>> 16 & 0xff
|
|
117
|
-
if (op === 0) {
|
|
118
|
-
/* literal */
|
|
116
|
+
op = (here >>> 16) & 0xff/*here.op*/;
|
|
117
|
+
if (op === 0) { /* literal */
|
|
119
118
|
//Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
|
|
120
119
|
// "inflate: literal '%c'\n" :
|
|
121
120
|
// "inflate: literal 0x%02x\n", here.val));
|
|
122
|
-
output[_out++] = here & 0xffff
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
len = here & 0xffff
|
|
126
|
-
op &= 15;
|
|
121
|
+
output[_out++] = here & 0xffff/*here.val*/;
|
|
122
|
+
}
|
|
123
|
+
else if (op & 16) { /* length base */
|
|
124
|
+
len = here & 0xffff/*here.val*/;
|
|
125
|
+
op &= 15; /* number of extra bits */
|
|
127
126
|
if (op) {
|
|
128
127
|
if (bits < op) {
|
|
129
128
|
hold += input[_in++] << bits;
|
|
130
129
|
bits += 8;
|
|
131
130
|
}
|
|
132
|
-
len += hold & (1 << op) - 1;
|
|
131
|
+
len += hold & ((1 << op) - 1);
|
|
133
132
|
hold >>>= op;
|
|
134
133
|
bits -= op;
|
|
135
134
|
}
|
|
@@ -141,16 +140,17 @@ function inflate_fast(strm, start) {
|
|
|
141
140
|
bits += 8;
|
|
142
141
|
}
|
|
143
142
|
here = dcode[hold & dmask];
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
143
|
+
|
|
144
|
+
dodist:
|
|
145
|
+
for (;;) { // goto emulation
|
|
146
|
+
op = here >>> 24/*here.bits*/;
|
|
147
147
|
hold >>>= op;
|
|
148
148
|
bits -= op;
|
|
149
|
-
op = here >>> 16 & 0xff
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
dist = here & 0xffff
|
|
153
|
-
op &= 15;
|
|
149
|
+
op = (here >>> 16) & 0xff/*here.op*/;
|
|
150
|
+
|
|
151
|
+
if (op & 16) { /* distance base */
|
|
152
|
+
dist = here & 0xffff/*here.val*/;
|
|
153
|
+
op &= 15; /* number of extra bits */
|
|
154
154
|
if (bits < op) {
|
|
155
155
|
hold += input[_in++] << bits;
|
|
156
156
|
bits += 8;
|
|
@@ -159,21 +159,20 @@ function inflate_fast(strm, start) {
|
|
|
159
159
|
bits += 8;
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
|
-
dist += hold & (1 << op) - 1;
|
|
163
|
-
|
|
162
|
+
dist += hold & ((1 << op) - 1);
|
|
163
|
+
//#ifdef INFLATE_STRICT
|
|
164
164
|
if (dist > dmax) {
|
|
165
165
|
strm.msg = 'invalid distance too far back';
|
|
166
166
|
state.mode = BAD;
|
|
167
167
|
break top;
|
|
168
168
|
}
|
|
169
|
-
|
|
169
|
+
//#endif
|
|
170
170
|
hold >>>= op;
|
|
171
171
|
bits -= op;
|
|
172
172
|
//Tracevv((stderr, "inflate: distance %u\n", dist));
|
|
173
|
-
op = _out - beg;
|
|
174
|
-
if (dist > op) {
|
|
175
|
-
/*
|
|
176
|
-
op = dist - op; /* distance back in window */
|
|
173
|
+
op = _out - beg; /* max distance in output */
|
|
174
|
+
if (dist > op) { /* see if copy from window */
|
|
175
|
+
op = dist - op; /* distance back in window */
|
|
177
176
|
if (op > whave) {
|
|
178
177
|
if (state.sane) {
|
|
179
178
|
strm.msg = 'invalid distance too far back';
|
|
@@ -181,74 +180,69 @@ function inflate_fast(strm, start) {
|
|
|
181
180
|
break top;
|
|
182
181
|
}
|
|
183
182
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
183
|
+
// (!) This block is disabled in zlib defailts,
|
|
184
|
+
// don't enable it for binary compatibility
|
|
185
|
+
//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
|
|
186
|
+
// if (len <= op - whave) {
|
|
187
|
+
// do {
|
|
188
|
+
// output[_out++] = 0;
|
|
189
|
+
// } while (--len);
|
|
190
|
+
// continue top;
|
|
191
|
+
// }
|
|
192
|
+
// len -= op - whave;
|
|
193
|
+
// do {
|
|
194
|
+
// output[_out++] = 0;
|
|
195
|
+
// } while (--op > whave);
|
|
196
|
+
// if (op === 0) {
|
|
197
|
+
// from = _out - dist;
|
|
198
|
+
// do {
|
|
199
|
+
// output[_out++] = output[from++];
|
|
200
|
+
// } while (--len);
|
|
201
|
+
// continue top;
|
|
202
|
+
// }
|
|
203
|
+
//#endif
|
|
205
204
|
}
|
|
206
205
|
from = 0; // window index
|
|
207
206
|
from_source = s_window;
|
|
208
|
-
if (wnext === 0) {
|
|
209
|
-
/* very common case */
|
|
207
|
+
if (wnext === 0) { /* very common case */
|
|
210
208
|
from += wsize - op;
|
|
211
|
-
if (op < len) {
|
|
212
|
-
/* some from window */
|
|
209
|
+
if (op < len) { /* some from window */
|
|
213
210
|
len -= op;
|
|
214
211
|
do {
|
|
215
212
|
output[_out++] = s_window[from++];
|
|
216
213
|
} while (--op);
|
|
217
|
-
from = _out - dist;
|
|
214
|
+
from = _out - dist; /* rest from output */
|
|
218
215
|
from_source = output;
|
|
219
216
|
}
|
|
220
|
-
}
|
|
221
|
-
|
|
217
|
+
}
|
|
218
|
+
else if (wnext < op) { /* wrap around window */
|
|
222
219
|
from += wsize + wnext - op;
|
|
223
220
|
op -= wnext;
|
|
224
|
-
if (op < len) {
|
|
225
|
-
/* some from end of window */
|
|
221
|
+
if (op < len) { /* some from end of window */
|
|
226
222
|
len -= op;
|
|
227
223
|
do {
|
|
228
224
|
output[_out++] = s_window[from++];
|
|
229
225
|
} while (--op);
|
|
230
226
|
from = 0;
|
|
231
|
-
if (wnext < len) {
|
|
232
|
-
/* some from start of window */
|
|
227
|
+
if (wnext < len) { /* some from start of window */
|
|
233
228
|
op = wnext;
|
|
234
229
|
len -= op;
|
|
235
230
|
do {
|
|
236
231
|
output[_out++] = s_window[from++];
|
|
237
232
|
} while (--op);
|
|
238
|
-
from = _out - dist;
|
|
233
|
+
from = _out - dist; /* rest from output */
|
|
239
234
|
from_source = output;
|
|
240
235
|
}
|
|
241
236
|
}
|
|
242
|
-
}
|
|
243
|
-
|
|
237
|
+
}
|
|
238
|
+
else { /* contiguous in window */
|
|
244
239
|
from += wnext - op;
|
|
245
|
-
if (op < len) {
|
|
246
|
-
/* some from window */
|
|
240
|
+
if (op < len) { /* some from window */
|
|
247
241
|
len -= op;
|
|
248
242
|
do {
|
|
249
243
|
output[_out++] = s_window[from++];
|
|
250
244
|
} while (--op);
|
|
251
|
-
from = _out - dist;
|
|
245
|
+
from = _out - dist; /* rest from output */
|
|
252
246
|
from_source = output;
|
|
253
247
|
}
|
|
254
248
|
}
|
|
@@ -264,10 +258,10 @@ function inflate_fast(strm, start) {
|
|
|
264
258
|
output[_out++] = from_source[from++];
|
|
265
259
|
}
|
|
266
260
|
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
from = _out - dist; /* copy direct from output */
|
|
264
|
+
do { /* minimum length is three */
|
|
271
265
|
output[_out++] = output[from++];
|
|
272
266
|
output[_out++] = output[from++];
|
|
273
267
|
output[_out++] = output[from++];
|
|
@@ -280,31 +274,35 @@ function inflate_fast(strm, start) {
|
|
|
280
274
|
}
|
|
281
275
|
}
|
|
282
276
|
}
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
here = dcode[(here & 0xffff
|
|
277
|
+
}
|
|
278
|
+
else if ((op & 64) === 0) { /* 2nd level distance code */
|
|
279
|
+
here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
|
|
286
280
|
continue dodist;
|
|
287
|
-
}
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
288
283
|
strm.msg = 'invalid distance code';
|
|
289
284
|
state.mode = BAD;
|
|
290
285
|
break top;
|
|
291
286
|
}
|
|
287
|
+
|
|
292
288
|
break; // need to emulate goto via "continue"
|
|
293
289
|
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
here = lcode[(here & 0xffff
|
|
290
|
+
}
|
|
291
|
+
else if ((op & 64) === 0) { /* 2nd level length code */
|
|
292
|
+
here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
|
|
297
293
|
continue dolen;
|
|
298
|
-
}
|
|
299
|
-
|
|
294
|
+
}
|
|
295
|
+
else if (op & 32) { /* end-of-block */
|
|
300
296
|
//Tracevv((stderr, "inflate: end of block\n"));
|
|
301
297
|
state.mode = TYPE;
|
|
302
298
|
break top;
|
|
303
|
-
}
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
304
301
|
strm.msg = 'invalid literal/length code';
|
|
305
302
|
state.mode = BAD;
|
|
306
303
|
break top;
|
|
307
304
|
}
|
|
305
|
+
|
|
308
306
|
break; // need to emulate goto via "continue"
|
|
309
307
|
}
|
|
310
308
|
} while (_in < last && _out < end);
|
|
@@ -318,10 +316,9 @@ function inflate_fast(strm, start) {
|
|
|
318
316
|
/* update state and return */
|
|
319
317
|
strm.next_in = _in;
|
|
320
318
|
strm.next_out = _out;
|
|
321
|
-
strm.avail_in = _in < last ? 5 + (last - _in) : 5 - (_in - last);
|
|
322
|
-
strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end);
|
|
319
|
+
strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));
|
|
320
|
+
strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));
|
|
323
321
|
state.hold = hold;
|
|
324
322
|
state.bits = bits;
|
|
325
323
|
return;
|
|
326
|
-
}
|
|
327
|
-
;
|
|
324
|
+
};
|