rugged 0.26.3 → 0.26.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +1 -1
- data/vendor/libgit2/deps/winhttp/winhttp.h +6 -4
- data/vendor/libgit2/deps/zlib/adler32.c +14 -7
- data/vendor/libgit2/deps/zlib/crc32.c +29 -12
- data/vendor/libgit2/deps/zlib/deflate.c +499 -303
- data/vendor/libgit2/deps/zlib/deflate.h +18 -15
- data/vendor/libgit2/deps/zlib/gzguts.h +218 -0
- data/vendor/libgit2/deps/zlib/infback.c +2 -2
- data/vendor/libgit2/deps/zlib/inffast.c +34 -51
- data/vendor/libgit2/deps/zlib/inflate.c +86 -37
- data/vendor/libgit2/deps/zlib/inflate.h +7 -4
- data/vendor/libgit2/deps/zlib/inftrees.c +12 -14
- data/vendor/libgit2/deps/zlib/trees.c +38 -61
- data/vendor/libgit2/deps/zlib/zconf.h +499 -23
- data/vendor/libgit2/deps/zlib/zlib.h +298 -154
- data/vendor/libgit2/deps/zlib/zutil.c +27 -23
- data/vendor/libgit2/deps/zlib/zutil.h +35 -17
- data/vendor/libgit2/include/git2.h +1 -0
- data/vendor/libgit2/include/git2/sys/mempack.h +5 -4
- data/vendor/libgit2/include/git2/version.h +2 -2
- data/vendor/libgit2/src/checkout.c +34 -11
- data/vendor/libgit2/src/curl_stream.c +21 -0
- data/vendor/libgit2/src/curl_stream.h +1 -0
- data/vendor/libgit2/src/delta.c +30 -28
- data/vendor/libgit2/src/diff.c +0 -7
- data/vendor/libgit2/src/diff_file.c +3 -1
- data/vendor/libgit2/src/diff_generate.c +1 -1
- data/vendor/libgit2/src/diff_tform.c +3 -1
- data/vendor/libgit2/src/global.c +4 -2
- data/vendor/libgit2/src/hash/hash_openssl.h +18 -3
- data/vendor/libgit2/src/ignore.c +60 -36
- data/vendor/libgit2/src/index.c +59 -26
- data/vendor/libgit2/src/indexer.c +15 -2
- data/vendor/libgit2/src/merge.c +18 -8
- data/vendor/libgit2/src/odb_mempack.c +1 -0
- data/vendor/libgit2/src/oidarray.c +12 -0
- data/vendor/libgit2/src/oidarray.h +1 -0
- data/vendor/libgit2/src/openssl_stream.c +17 -4
- data/vendor/libgit2/src/pack.c +10 -7
- data/vendor/libgit2/src/path.c +180 -22
- data/vendor/libgit2/src/path.h +73 -0
- data/vendor/libgit2/src/posix.c +1 -1
- data/vendor/libgit2/src/posix.h +3 -0
- data/vendor/libgit2/src/proxy.c +6 -0
- data/vendor/libgit2/src/proxy.h +1 -0
- data/vendor/libgit2/src/push.c +3 -0
- data/vendor/libgit2/src/refdb_fs.c +2 -2
- data/vendor/libgit2/src/refs.c +7 -1
- data/vendor/libgit2/src/repository.c +9 -3
- data/vendor/libgit2/src/sha1_lookup.c +2 -2
- data/vendor/libgit2/src/signature.c +1 -0
- data/vendor/libgit2/src/socket_stream.c +1 -1
- data/vendor/libgit2/src/stransport_stream.c +3 -1
- data/vendor/libgit2/src/submodule.c +54 -7
- data/vendor/libgit2/src/submodule.h +13 -0
- data/vendor/libgit2/src/transports/smart_pkt.c +8 -2
- data/vendor/libgit2/src/transports/smart_protocol.c +6 -6
- data/vendor/libgit2/src/transports/winhttp.c +22 -0
- data/vendor/libgit2/src/tree.c +1 -1
- metadata +3 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
/* deflate.h -- internal compression state
|
2
|
-
* Copyright (C) 1995-
|
2
|
+
* Copyright (C) 1995-2016 Jean-loup Gailly
|
3
3
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
4
4
|
*/
|
5
5
|
|
@@ -51,13 +51,16 @@
|
|
51
51
|
#define Buf_size 16
|
52
52
|
/* size of bit buffer in bi_buf */
|
53
53
|
|
54
|
-
#define INIT_STATE 42
|
55
|
-
#
|
56
|
-
#define
|
57
|
-
#
|
58
|
-
#define
|
59
|
-
#define
|
60
|
-
#define
|
54
|
+
#define INIT_STATE 42 /* zlib header -> BUSY_STATE */
|
55
|
+
#ifdef GZIP
|
56
|
+
# define GZIP_STATE 57 /* gzip header -> BUSY_STATE | EXTRA_STATE */
|
57
|
+
#endif
|
58
|
+
#define EXTRA_STATE 69 /* gzip extra block -> NAME_STATE */
|
59
|
+
#define NAME_STATE 73 /* gzip file name -> COMMENT_STATE */
|
60
|
+
#define COMMENT_STATE 91 /* gzip comment -> HCRC_STATE */
|
61
|
+
#define HCRC_STATE 103 /* gzip header CRC -> BUSY_STATE */
|
62
|
+
#define BUSY_STATE 113 /* deflate -> FINISH_STATE */
|
63
|
+
#define FINISH_STATE 666 /* stream complete */
|
61
64
|
/* Stream status */
|
62
65
|
|
63
66
|
|
@@ -83,7 +86,7 @@ typedef struct static_tree_desc_s static_tree_desc;
|
|
83
86
|
typedef struct tree_desc_s {
|
84
87
|
ct_data *dyn_tree; /* the dynamic tree */
|
85
88
|
int max_code; /* largest code with non zero frequency */
|
86
|
-
static_tree_desc *stat_desc;
|
89
|
+
const static_tree_desc *stat_desc; /* the corresponding static tree */
|
87
90
|
} FAR tree_desc;
|
88
91
|
|
89
92
|
typedef ush Pos;
|
@@ -100,10 +103,10 @@ typedef struct internal_state {
|
|
100
103
|
Bytef *pending_buf; /* output still pending */
|
101
104
|
ulg pending_buf_size; /* size of pending_buf */
|
102
105
|
Bytef *pending_out; /* next pending byte to output to the stream */
|
103
|
-
|
106
|
+
ulg pending; /* nb of bytes in the pending buffer */
|
104
107
|
int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
|
105
108
|
gz_headerp gzhead; /* gzip header information to write */
|
106
|
-
|
109
|
+
ulg gzindex; /* where in extra, name, or comment */
|
107
110
|
Byte method; /* can only be DEFLATED */
|
108
111
|
int last_flush; /* value of flush param for previous deflate call */
|
109
112
|
|
@@ -249,7 +252,7 @@ typedef struct internal_state {
|
|
249
252
|
uInt matches; /* number of string matches in current block */
|
250
253
|
uInt insert; /* bytes at end of window left to insert */
|
251
254
|
|
252
|
-
#ifdef
|
255
|
+
#ifdef ZLIB_DEBUG
|
253
256
|
ulg compressed_len; /* total bit length of compressed file mod 2^32 */
|
254
257
|
ulg bits_sent; /* bit length of compressed data sent mod 2^32 */
|
255
258
|
#endif
|
@@ -275,7 +278,7 @@ typedef struct internal_state {
|
|
275
278
|
/* Output a byte on the stream.
|
276
279
|
* IN assertion: there is enough room in pending_buf.
|
277
280
|
*/
|
278
|
-
#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
|
281
|
+
#define put_byte(s, c) {s->pending_buf[s->pending++] = (Bytef)(c);}
|
279
282
|
|
280
283
|
|
281
284
|
#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
|
@@ -309,7 +312,7 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
|
|
309
312
|
* used.
|
310
313
|
*/
|
311
314
|
|
312
|
-
#ifndef
|
315
|
+
#ifndef ZLIB_DEBUG
|
313
316
|
/* Inline versions of _tr_tally for speed: */
|
314
317
|
|
315
318
|
#if defined(GEN_TREES_H) || !defined(STDC)
|
@@ -321,7 +324,7 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
|
|
321
324
|
#endif
|
322
325
|
|
323
326
|
# define _tr_tally_lit(s, c, flush) \
|
324
|
-
{ uch cc = (
|
327
|
+
{ uch cc = (c); \
|
325
328
|
s->d_buf[s->last_lit] = 0; \
|
326
329
|
s->l_buf[s->last_lit++] = cc; \
|
327
330
|
s->dyn_ltree[cc].Freq++; \
|
@@ -0,0 +1,218 @@
|
|
1
|
+
/* gzguts.h -- zlib internal header definitions for gz* operations
|
2
|
+
* Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013, 2016 Mark Adler
|
3
|
+
* For conditions of distribution and use, see copyright notice in zlib.h
|
4
|
+
*/
|
5
|
+
|
6
|
+
#ifdef _LARGEFILE64_SOURCE
|
7
|
+
# ifndef _LARGEFILE_SOURCE
|
8
|
+
# define _LARGEFILE_SOURCE 1
|
9
|
+
# endif
|
10
|
+
# ifdef _FILE_OFFSET_BITS
|
11
|
+
# undef _FILE_OFFSET_BITS
|
12
|
+
# endif
|
13
|
+
#endif
|
14
|
+
|
15
|
+
#ifdef HAVE_HIDDEN
|
16
|
+
# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
|
17
|
+
#else
|
18
|
+
# define ZLIB_INTERNAL
|
19
|
+
#endif
|
20
|
+
|
21
|
+
#include <stdio.h>
|
22
|
+
#include "zlib.h"
|
23
|
+
#ifdef STDC
|
24
|
+
# include <string.h>
|
25
|
+
# include <stdlib.h>
|
26
|
+
# include <limits.h>
|
27
|
+
#endif
|
28
|
+
|
29
|
+
#ifndef _POSIX_SOURCE
|
30
|
+
# define _POSIX_SOURCE
|
31
|
+
#endif
|
32
|
+
#include <fcntl.h>
|
33
|
+
|
34
|
+
#ifdef _WIN32
|
35
|
+
# include <stddef.h>
|
36
|
+
#endif
|
37
|
+
|
38
|
+
#if defined(__TURBOC__) || defined(_MSC_VER) || defined(_WIN32)
|
39
|
+
# include <io.h>
|
40
|
+
#endif
|
41
|
+
|
42
|
+
#if defined(_WIN32) || defined(__CYGWIN__)
|
43
|
+
# define WIDECHAR
|
44
|
+
#endif
|
45
|
+
|
46
|
+
#ifdef WINAPI_FAMILY
|
47
|
+
# define open _open
|
48
|
+
# define read _read
|
49
|
+
# define write _write
|
50
|
+
# define close _close
|
51
|
+
#endif
|
52
|
+
|
53
|
+
#ifdef NO_DEFLATE /* for compatibility with old definition */
|
54
|
+
# define NO_GZCOMPRESS
|
55
|
+
#endif
|
56
|
+
|
57
|
+
#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
|
58
|
+
# ifndef HAVE_VSNPRINTF
|
59
|
+
# define HAVE_VSNPRINTF
|
60
|
+
# endif
|
61
|
+
#endif
|
62
|
+
|
63
|
+
#if defined(__CYGWIN__)
|
64
|
+
# ifndef HAVE_VSNPRINTF
|
65
|
+
# define HAVE_VSNPRINTF
|
66
|
+
# endif
|
67
|
+
#endif
|
68
|
+
|
69
|
+
#if defined(MSDOS) && defined(__BORLANDC__) && (BORLANDC > 0x410)
|
70
|
+
# ifndef HAVE_VSNPRINTF
|
71
|
+
# define HAVE_VSNPRINTF
|
72
|
+
# endif
|
73
|
+
#endif
|
74
|
+
|
75
|
+
#ifndef HAVE_VSNPRINTF
|
76
|
+
# ifdef MSDOS
|
77
|
+
/* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
|
78
|
+
but for now we just assume it doesn't. */
|
79
|
+
# define NO_vsnprintf
|
80
|
+
# endif
|
81
|
+
# ifdef __TURBOC__
|
82
|
+
# define NO_vsnprintf
|
83
|
+
# endif
|
84
|
+
# ifdef WIN32
|
85
|
+
/* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
|
86
|
+
# if !defined(vsnprintf) && !defined(NO_vsnprintf)
|
87
|
+
# if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
|
88
|
+
# define vsnprintf _vsnprintf
|
89
|
+
# endif
|
90
|
+
# endif
|
91
|
+
# endif
|
92
|
+
# ifdef __SASC
|
93
|
+
# define NO_vsnprintf
|
94
|
+
# endif
|
95
|
+
# ifdef VMS
|
96
|
+
# define NO_vsnprintf
|
97
|
+
# endif
|
98
|
+
# ifdef __OS400__
|
99
|
+
# define NO_vsnprintf
|
100
|
+
# endif
|
101
|
+
# ifdef __MVS__
|
102
|
+
# define NO_vsnprintf
|
103
|
+
# endif
|
104
|
+
#endif
|
105
|
+
|
106
|
+
/* unlike snprintf (which is required in C99), _snprintf does not guarantee
|
107
|
+
null termination of the result -- however this is only used in gzlib.c where
|
108
|
+
the result is assured to fit in the space provided */
|
109
|
+
#if defined(_MSC_VER) && _MSC_VER < 1900
|
110
|
+
# define snprintf _snprintf
|
111
|
+
#endif
|
112
|
+
|
113
|
+
#ifndef local
|
114
|
+
# define local static
|
115
|
+
#endif
|
116
|
+
/* since "static" is used to mean two completely different things in C, we
|
117
|
+
define "local" for the non-static meaning of "static", for readability
|
118
|
+
(compile with -Dlocal if your debugger can't find static symbols) */
|
119
|
+
|
120
|
+
/* gz* functions always use library allocation functions */
|
121
|
+
#ifndef STDC
|
122
|
+
extern voidp malloc OF((uInt size));
|
123
|
+
extern void free OF((voidpf ptr));
|
124
|
+
#endif
|
125
|
+
|
126
|
+
/* get errno and strerror definition */
|
127
|
+
#if defined UNDER_CE
|
128
|
+
# include <windows.h>
|
129
|
+
# define zstrerror() gz_strwinerror((DWORD)GetLastError())
|
130
|
+
#else
|
131
|
+
# ifndef NO_STRERROR
|
132
|
+
# include <errno.h>
|
133
|
+
# define zstrerror() strerror(errno)
|
134
|
+
# else
|
135
|
+
# define zstrerror() "stdio error (consult errno)"
|
136
|
+
# endif
|
137
|
+
#endif
|
138
|
+
|
139
|
+
/* provide prototypes for these when building zlib without LFS */
|
140
|
+
#if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
|
141
|
+
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
142
|
+
ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
|
143
|
+
ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
|
144
|
+
ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
|
145
|
+
#endif
|
146
|
+
|
147
|
+
/* default memLevel */
|
148
|
+
#if MAX_MEM_LEVEL >= 8
|
149
|
+
# define DEF_MEM_LEVEL 8
|
150
|
+
#else
|
151
|
+
# define DEF_MEM_LEVEL MAX_MEM_LEVEL
|
152
|
+
#endif
|
153
|
+
|
154
|
+
/* default i/o buffer size -- double this for output when reading (this and
|
155
|
+
twice this must be able to fit in an unsigned type) */
|
156
|
+
#define GZBUFSIZE 8192
|
157
|
+
|
158
|
+
/* gzip modes, also provide a little integrity check on the passed structure */
|
159
|
+
#define GZ_NONE 0
|
160
|
+
#define GZ_READ 7247
|
161
|
+
#define GZ_WRITE 31153
|
162
|
+
#define GZ_APPEND 1 /* mode set to GZ_WRITE after the file is opened */
|
163
|
+
|
164
|
+
/* values for gz_state how */
|
165
|
+
#define LOOK 0 /* look for a gzip header */
|
166
|
+
#define COPY 1 /* copy input directly */
|
167
|
+
#define GZIP 2 /* decompress a gzip stream */
|
168
|
+
|
169
|
+
/* internal gzip file state data structure */
|
170
|
+
typedef struct {
|
171
|
+
/* exposed contents for gzgetc() macro */
|
172
|
+
struct gzFile_s x; /* "x" for exposed */
|
173
|
+
/* x.have: number of bytes available at x.next */
|
174
|
+
/* x.next: next output data to deliver or write */
|
175
|
+
/* x.pos: current position in uncompressed data */
|
176
|
+
/* used for both reading and writing */
|
177
|
+
int mode; /* see gzip modes above */
|
178
|
+
int fd; /* file descriptor */
|
179
|
+
char *path; /* path or fd for error messages */
|
180
|
+
unsigned size; /* buffer size, zero if not allocated yet */
|
181
|
+
unsigned want; /* requested buffer size, default is GZBUFSIZE */
|
182
|
+
unsigned char *in; /* input buffer (double-sized when writing) */
|
183
|
+
unsigned char *out; /* output buffer (double-sized when reading) */
|
184
|
+
int direct; /* 0 if processing gzip, 1 if transparent */
|
185
|
+
/* just for reading */
|
186
|
+
int how; /* 0: get header, 1: copy, 2: decompress */
|
187
|
+
z_off64_t start; /* where the gzip data started, for rewinding */
|
188
|
+
int eof; /* true if end of input file reached */
|
189
|
+
int past; /* true if read requested past end */
|
190
|
+
/* just for writing */
|
191
|
+
int level; /* compression level */
|
192
|
+
int strategy; /* compression strategy */
|
193
|
+
/* seek request */
|
194
|
+
z_off64_t skip; /* amount to skip (already rewound if backwards) */
|
195
|
+
int seek; /* true if seek request pending */
|
196
|
+
/* error information */
|
197
|
+
int err; /* error code */
|
198
|
+
char *msg; /* error message */
|
199
|
+
/* zlib inflate or deflate stream */
|
200
|
+
z_stream strm; /* stream structure in-place (not a pointer) */
|
201
|
+
} gz_state;
|
202
|
+
typedef gz_state FAR *gz_statep;
|
203
|
+
|
204
|
+
/* shared functions */
|
205
|
+
void ZLIB_INTERNAL gz_error OF((gz_statep, int, const char *));
|
206
|
+
#if defined UNDER_CE
|
207
|
+
char ZLIB_INTERNAL *gz_strwinerror OF((DWORD error));
|
208
|
+
#endif
|
209
|
+
|
210
|
+
/* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t
|
211
|
+
value -- needed when comparing unsigned to z_off64_t, which is signed
|
212
|
+
(possible z_off64_t types off_t, off64_t, and long are all signed) */
|
213
|
+
#ifdef INT_MAX
|
214
|
+
# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX)
|
215
|
+
#else
|
216
|
+
unsigned ZLIB_INTERNAL gz_intmax OF((void));
|
217
|
+
# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax())
|
218
|
+
#endif
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* infback.c -- inflate using a call-back interface
|
2
|
-
* Copyright (C) 1995-
|
2
|
+
* Copyright (C) 1995-2016 Mark Adler
|
3
3
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
4
4
|
*/
|
5
5
|
|
@@ -61,7 +61,7 @@ int stream_size;
|
|
61
61
|
Tracev((stderr, "inflate: allocated\n"));
|
62
62
|
strm->state = (struct internal_state FAR *)state;
|
63
63
|
state->dmax = 32768U;
|
64
|
-
state->wbits = windowBits;
|
64
|
+
state->wbits = (uInt)windowBits;
|
65
65
|
state->wsize = 1U << windowBits;
|
66
66
|
state->window = window;
|
67
67
|
state->wnext = 0;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* inffast.c -- fast decoding
|
2
|
-
* Copyright (C) 1995-
|
2
|
+
* Copyright (C) 1995-2017 Mark Adler
|
3
3
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
4
4
|
*/
|
5
5
|
|
@@ -8,26 +8,9 @@
|
|
8
8
|
#include "inflate.h"
|
9
9
|
#include "inffast.h"
|
10
10
|
|
11
|
-
#
|
12
|
-
|
13
|
-
/* Allow machine dependent optimization for post-increment or pre-increment.
|
14
|
-
Based on testing to date,
|
15
|
-
Pre-increment preferred for:
|
16
|
-
- PowerPC G3 (Adler)
|
17
|
-
- MIPS R5000 (Randers-Pehrson)
|
18
|
-
Post-increment preferred for:
|
19
|
-
- none
|
20
|
-
No measurable difference:
|
21
|
-
- Pentium III (Anderson)
|
22
|
-
- M68060 (Nikl)
|
23
|
-
*/
|
24
|
-
#ifdef POSTINC
|
25
|
-
# define OFF 0
|
26
|
-
# define PUP(a) *(a)++
|
11
|
+
#ifdef ASMINF
|
12
|
+
# pragma message("Assembler code may have bugs -- use at your own risk")
|
27
13
|
#else
|
28
|
-
# define OFF 1
|
29
|
-
# define PUP(a) *++(a)
|
30
|
-
#endif
|
31
14
|
|
32
15
|
/*
|
33
16
|
Decode literal, length, and distance codes and write out the resulting
|
@@ -96,9 +79,9 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|
96
79
|
|
97
80
|
/* copy state to local variables */
|
98
81
|
state = (struct inflate_state FAR *)strm->state;
|
99
|
-
in = strm->next_in
|
82
|
+
in = strm->next_in;
|
100
83
|
last = in + (strm->avail_in - 5);
|
101
|
-
out = strm->next_out
|
84
|
+
out = strm->next_out;
|
102
85
|
beg = out - (start - strm->avail_out);
|
103
86
|
end = out + (strm->avail_out - 257);
|
104
87
|
#ifdef INFLATE_STRICT
|
@@ -119,9 +102,9 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|
119
102
|
input data or output space */
|
120
103
|
do {
|
121
104
|
if (bits < 15) {
|
122
|
-
hold += (unsigned long)(
|
105
|
+
hold += (unsigned long)(*in++) << bits;
|
123
106
|
bits += 8;
|
124
|
-
hold += (unsigned long)(
|
107
|
+
hold += (unsigned long)(*in++) << bits;
|
125
108
|
bits += 8;
|
126
109
|
}
|
127
110
|
here = lcode[hold & lmask];
|
@@ -134,14 +117,14 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|
134
117
|
Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
|
135
118
|
"inflate: literal '%c'\n" :
|
136
119
|
"inflate: literal 0x%02x\n", here.val));
|
137
|
-
|
120
|
+
*out++ = (unsigned char)(here.val);
|
138
121
|
}
|
139
122
|
else if (op & 16) { /* length base */
|
140
123
|
len = (unsigned)(here.val);
|
141
124
|
op &= 15; /* number of extra bits */
|
142
125
|
if (op) {
|
143
126
|
if (bits < op) {
|
144
|
-
hold += (unsigned long)(
|
127
|
+
hold += (unsigned long)(*in++) << bits;
|
145
128
|
bits += 8;
|
146
129
|
}
|
147
130
|
len += (unsigned)hold & ((1U << op) - 1);
|
@@ -150,9 +133,9 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|
150
133
|
}
|
151
134
|
Tracevv((stderr, "inflate: length %u\n", len));
|
152
135
|
if (bits < 15) {
|
153
|
-
hold += (unsigned long)(
|
136
|
+
hold += (unsigned long)(*in++) << bits;
|
154
137
|
bits += 8;
|
155
|
-
hold += (unsigned long)(
|
138
|
+
hold += (unsigned long)(*in++) << bits;
|
156
139
|
bits += 8;
|
157
140
|
}
|
158
141
|
here = dcode[hold & dmask];
|
@@ -165,10 +148,10 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|
165
148
|
dist = (unsigned)(here.val);
|
166
149
|
op &= 15; /* number of extra bits */
|
167
150
|
if (bits < op) {
|
168
|
-
hold += (unsigned long)(
|
151
|
+
hold += (unsigned long)(*in++) << bits;
|
169
152
|
bits += 8;
|
170
153
|
if (bits < op) {
|
171
|
-
hold += (unsigned long)(
|
154
|
+
hold += (unsigned long)(*in++) << bits;
|
172
155
|
bits += 8;
|
173
156
|
}
|
174
157
|
}
|
@@ -196,30 +179,30 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|
196
179
|
#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
|
197
180
|
if (len <= op - whave) {
|
198
181
|
do {
|
199
|
-
|
182
|
+
*out++ = 0;
|
200
183
|
} while (--len);
|
201
184
|
continue;
|
202
185
|
}
|
203
186
|
len -= op - whave;
|
204
187
|
do {
|
205
|
-
|
188
|
+
*out++ = 0;
|
206
189
|
} while (--op > whave);
|
207
190
|
if (op == 0) {
|
208
191
|
from = out - dist;
|
209
192
|
do {
|
210
|
-
|
193
|
+
*out++ = *from++;
|
211
194
|
} while (--len);
|
212
195
|
continue;
|
213
196
|
}
|
214
197
|
#endif
|
215
198
|
}
|
216
|
-
from = window
|
199
|
+
from = window;
|
217
200
|
if (wnext == 0) { /* very common case */
|
218
201
|
from += wsize - op;
|
219
202
|
if (op < len) { /* some from window */
|
220
203
|
len -= op;
|
221
204
|
do {
|
222
|
-
|
205
|
+
*out++ = *from++;
|
223
206
|
} while (--op);
|
224
207
|
from = out - dist; /* rest from output */
|
225
208
|
}
|
@@ -230,14 +213,14 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|
230
213
|
if (op < len) { /* some from end of window */
|
231
214
|
len -= op;
|
232
215
|
do {
|
233
|
-
|
216
|
+
*out++ = *from++;
|
234
217
|
} while (--op);
|
235
|
-
from = window
|
218
|
+
from = window;
|
236
219
|
if (wnext < len) { /* some from start of window */
|
237
220
|
op = wnext;
|
238
221
|
len -= op;
|
239
222
|
do {
|
240
|
-
|
223
|
+
*out++ = *from++;
|
241
224
|
} while (--op);
|
242
225
|
from = out - dist; /* rest from output */
|
243
226
|
}
|
@@ -248,35 +231,35 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|
248
231
|
if (op < len) { /* some from window */
|
249
232
|
len -= op;
|
250
233
|
do {
|
251
|
-
|
234
|
+
*out++ = *from++;
|
252
235
|
} while (--op);
|
253
236
|
from = out - dist; /* rest from output */
|
254
237
|
}
|
255
238
|
}
|
256
239
|
while (len > 2) {
|
257
|
-
|
258
|
-
|
259
|
-
|
240
|
+
*out++ = *from++;
|
241
|
+
*out++ = *from++;
|
242
|
+
*out++ = *from++;
|
260
243
|
len -= 3;
|
261
244
|
}
|
262
245
|
if (len) {
|
263
|
-
|
246
|
+
*out++ = *from++;
|
264
247
|
if (len > 1)
|
265
|
-
|
248
|
+
*out++ = *from++;
|
266
249
|
}
|
267
250
|
}
|
268
251
|
else {
|
269
252
|
from = out - dist; /* copy direct from output */
|
270
253
|
do { /* minimum length is three */
|
271
|
-
|
272
|
-
|
273
|
-
|
254
|
+
*out++ = *from++;
|
255
|
+
*out++ = *from++;
|
256
|
+
*out++ = *from++;
|
274
257
|
len -= 3;
|
275
258
|
} while (len > 2);
|
276
259
|
if (len) {
|
277
|
-
|
260
|
+
*out++ = *from++;
|
278
261
|
if (len > 1)
|
279
|
-
|
262
|
+
*out++ = *from++;
|
280
263
|
}
|
281
264
|
}
|
282
265
|
}
|
@@ -313,8 +296,8 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|
313
296
|
hold &= (1U << bits) - 1;
|
314
297
|
|
315
298
|
/* update state and return */
|
316
|
-
strm->next_in = in
|
317
|
-
strm->next_out = out
|
299
|
+
strm->next_in = in;
|
300
|
+
strm->next_out = out;
|
318
301
|
strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
|
319
302
|
strm->avail_out = (unsigned)(out < end ?
|
320
303
|
257 + (end - out) : 257 - (out - end));
|