Add inflateGetDictionary() function.
This commit is contained in:
@@ -67,6 +67,7 @@ STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
|
|||||||
EXPORT SYMBOL("inflate")
|
EXPORT SYMBOL("inflate")
|
||||||
EXPORT SYMBOL("inflateEnd")
|
EXPORT SYMBOL("inflateEnd")
|
||||||
EXPORT SYMBOL("inflateSetDictionary")
|
EXPORT SYMBOL("inflateSetDictionary")
|
||||||
|
EXPORT SYMBOL("inflateGetDictionary")
|
||||||
EXPORT SYMBOL("inflateSync")
|
EXPORT SYMBOL("inflateSync")
|
||||||
EXPORT SYMBOL("inflateReset")
|
EXPORT SYMBOL("inflateReset")
|
||||||
EXPORT SYMBOL("inflateInit_")
|
EXPORT SYMBOL("inflateInit_")
|
||||||
|
|||||||
@@ -359,6 +359,12 @@
|
|||||||
D dictionary 65535 const options(*varsize) Dictionary bytes
|
D dictionary 65535 const options(*varsize) Dictionary bytes
|
||||||
D dictLength 10U 0 value Dictionary length
|
D dictLength 10U 0 value Dictionary length
|
||||||
*
|
*
|
||||||
|
D inflateGetDictionary...
|
||||||
|
D PR 10I 0 extproc('inflateGetDictionary') Get dictionary
|
||||||
|
D strm like(z_stream) Expansion stream
|
||||||
|
D dictionary 65535 options(*varsize) Dictionary bytes
|
||||||
|
D dictLength 10U 0 Dictionary length
|
||||||
|
*
|
||||||
D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion
|
D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion
|
||||||
D strm like(z_stream) Expansion stream
|
D strm like(z_stream) Expansion stream
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -137,3 +137,6 @@ EXPORTS
|
|||||||
|
|
||||||
; zlib1 v1.2.7 added:
|
; zlib1 v1.2.7 added:
|
||||||
gzopen_w @165
|
gzopen_w @165
|
||||||
|
|
||||||
|
; zlib1 v1.2.8 added:
|
||||||
|
inflateGetDictionary @166
|
||||||
|
|||||||
@@ -137,3 +137,6 @@ EXPORTS
|
|||||||
|
|
||||||
; zlib1 v1.2.7 added:
|
; zlib1 v1.2.7 added:
|
||||||
gzopen_w @165
|
gzopen_w @165
|
||||||
|
|
||||||
|
; zlib1 v1.2.8 added:
|
||||||
|
inflateGetDictionary @166
|
||||||
|
|||||||
23
inflate.c
23
inflate.c
@@ -1264,6 +1264,29 @@ z_streamp strm;
|
|||||||
return Z_OK;
|
return Z_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ZEXPORT inflateGetDictionary(strm, dictionary, dictLength)
|
||||||
|
z_streamp strm;
|
||||||
|
Bytef *dictionary;
|
||||||
|
uInt *dictLength;
|
||||||
|
{
|
||||||
|
struct inflate_state FAR *state;
|
||||||
|
|
||||||
|
/* check state */
|
||||||
|
if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
|
||||||
|
state = (struct inflate_state FAR *)strm->state;
|
||||||
|
|
||||||
|
/* copy dictionary */
|
||||||
|
if (state->whave && dictionary != Z_NULL) {
|
||||||
|
zmemcpy(dictionary, state->window + state->wnext,
|
||||||
|
state->whave - state->wnext);
|
||||||
|
zmemcpy(dictionary + state->whave - state->wnext,
|
||||||
|
state->window, state->wnext);
|
||||||
|
}
|
||||||
|
if (dictLength != Z_NULL)
|
||||||
|
*dictLength = state->whave;
|
||||||
|
return Z_OK;
|
||||||
|
}
|
||||||
|
|
||||||
int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength)
|
int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength)
|
||||||
z_streamp strm;
|
z_streamp strm;
|
||||||
const Bytef *dictionary;
|
const Bytef *dictionary;
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ EXPORTS
|
|||||||
deflatePrime
|
deflatePrime
|
||||||
deflateSetHeader
|
deflateSetHeader
|
||||||
inflateSetDictionary
|
inflateSetDictionary
|
||||||
|
inflateGetDictionary
|
||||||
inflateSync
|
inflateSync
|
||||||
inflateCopy
|
inflateCopy
|
||||||
inflateReset
|
inflateReset
|
||||||
|
|||||||
1
zconf.h
1
zconf.h
@@ -103,6 +103,7 @@
|
|||||||
# define inflateReset z_inflateReset
|
# define inflateReset z_inflateReset
|
||||||
# define inflateReset2 z_inflateReset2
|
# define inflateReset2 z_inflateReset2
|
||||||
# define inflateSetDictionary z_inflateSetDictionary
|
# define inflateSetDictionary z_inflateSetDictionary
|
||||||
|
# define inflateGetDictionary z_inflateGetDictionary
|
||||||
# define inflateSync z_inflateSync
|
# define inflateSync z_inflateSync
|
||||||
# define inflateSyncPoint z_inflateSyncPoint
|
# define inflateSyncPoint z_inflateSyncPoint
|
||||||
# define inflateUndermine z_inflateUndermine
|
# define inflateUndermine z_inflateUndermine
|
||||||
|
|||||||
@@ -105,6 +105,7 @@
|
|||||||
# define inflateReset z_inflateReset
|
# define inflateReset z_inflateReset
|
||||||
# define inflateReset2 z_inflateReset2
|
# define inflateReset2 z_inflateReset2
|
||||||
# define inflateSetDictionary z_inflateSetDictionary
|
# define inflateSetDictionary z_inflateSetDictionary
|
||||||
|
# define inflateGetDictionary z_inflateGetDictionary
|
||||||
# define inflateSync z_inflateSync
|
# define inflateSync z_inflateSync
|
||||||
# define inflateSyncPoint z_inflateSyncPoint
|
# define inflateSyncPoint z_inflateSyncPoint
|
||||||
# define inflateUndermine z_inflateUndermine
|
# define inflateUndermine z_inflateUndermine
|
||||||
|
|||||||
@@ -103,6 +103,7 @@
|
|||||||
# define inflateReset z_inflateReset
|
# define inflateReset z_inflateReset
|
||||||
# define inflateReset2 z_inflateReset2
|
# define inflateReset2 z_inflateReset2
|
||||||
# define inflateSetDictionary z_inflateSetDictionary
|
# define inflateSetDictionary z_inflateSetDictionary
|
||||||
|
# define inflateGetDictionary z_inflateGetDictionary
|
||||||
# define inflateSync z_inflateSync
|
# define inflateSync z_inflateSync
|
||||||
# define inflateSyncPoint z_inflateSyncPoint
|
# define inflateSyncPoint z_inflateSyncPoint
|
||||||
# define inflateUndermine z_inflateUndermine
|
# define inflateUndermine z_inflateUndermine
|
||||||
|
|||||||
15
zlib.h
15
zlib.h
@@ -839,6 +839,21 @@ ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
|
|||||||
inflate().
|
inflate().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm,
|
||||||
|
Bytef *dictionary,
|
||||||
|
uInt *dictLength));
|
||||||
|
/*
|
||||||
|
Returns the sliding dictionary being maintained by inflate. dictLength is
|
||||||
|
set to the number of bytes in the dictionary, and that many bytes are copied
|
||||||
|
to dictionary. dictionary must have enough space, where 32768 bytes is
|
||||||
|
always enough. If inflateGetDictionary() is called with dictionary equal to
|
||||||
|
Z_NULL, then only the dictionary length is returned, and nothing is copied.
|
||||||
|
Similary, if dictLength is Z_NULL, then it is not set.
|
||||||
|
|
||||||
|
inflateSetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
|
||||||
|
stream state is inconsistent.
|
||||||
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
|
ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
|
||||||
/*
|
/*
|
||||||
Skips invalid compressed data until a possible full flush point (see above
|
Skips invalid compressed data until a possible full flush point (see above
|
||||||
|
|||||||
Reference in New Issue
Block a user