mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-02-25 16:13:58 +08:00
commit
99911e5c7b
1 changed files with 14 additions and 13 deletions
|
@ -29,6 +29,7 @@
|
|||
Z_RLE (distances limited to one)
|
||||
Z_FIXED (prevents the use of dynamic Huffman codes)
|
||||
*/
|
||||
|
||||
#define COMPRESS_STRATEGY Z_DEFAULT_STRATEGY
|
||||
// zlib tuning parameters:
|
||||
#define COMPRESS_GOOD_LENGTH 258
|
||||
|
@ -76,7 +77,7 @@ int zlib_compress(FILE *infile[], uint8_t num_infiles, FILE *outfile)
|
|||
{
|
||||
uint8_t *fpga_config;
|
||||
uint32_t i;
|
||||
int ret;
|
||||
int32_t ret;
|
||||
uint8_t c;
|
||||
z_stream compressed_fpga_stream;
|
||||
|
||||
|
@ -87,7 +88,7 @@ int zlib_compress(FILE *infile[], uint8_t num_infiles, FILE *outfile)
|
|||
do {
|
||||
|
||||
if (i >= num_infiles * FPGA_CONFIG_SIZE) {
|
||||
fprintf(stderr, "Input files too big (total > %d bytes). These are probably not PM3 FPGA config files.\n", num_infiles*FPGA_CONFIG_SIZE);
|
||||
fprintf(stderr, "Input files too big (total > %u bytes). These are probably not PM3 FPGA config files.\n", num_infiles*FPGA_CONFIG_SIZE);
|
||||
for(uint16_t j = 0; j < num_infiles; j++) {
|
||||
fclose(infile[j]);
|
||||
}
|
||||
|
@ -122,7 +123,7 @@ int zlib_compress(FILE *infile[], uint8_t num_infiles, FILE *outfile)
|
|||
COMPRESS_STRATEGY);
|
||||
|
||||
// estimate the size of the compressed output
|
||||
unsigned int outsize_max = deflateBound(&compressed_fpga_stream, compressed_fpga_stream.avail_in);
|
||||
uint32_t outsize_max = deflateBound(&compressed_fpga_stream, compressed_fpga_stream.avail_in);
|
||||
uint8_t *outbuf = malloc(outsize_max);
|
||||
compressed_fpga_stream.next_out = outbuf;
|
||||
compressed_fpga_stream.avail_out = outsize_max;
|
||||
|
@ -139,10 +140,10 @@ int zlib_compress(FILE *infile[], uint8_t num_infiles, FILE *outfile)
|
|||
ret = deflate(&compressed_fpga_stream, Z_FINISH);
|
||||
}
|
||||
|
||||
fprintf(stderr, "compressed %d input bytes to %lu output bytes\n", i, compressed_fpga_stream.total_out);
|
||||
fprintf(stderr, "compressed %u input bytes to %lu output bytes\n", i, compressed_fpga_stream.total_out);
|
||||
|
||||
if (ret != Z_STREAM_END) {
|
||||
fprintf(stderr, "Error in deflate(): %d %s\n", ret, compressed_fpga_stream.msg);
|
||||
fprintf(stderr, "Error in deflate(): %i %s\n", ret, compressed_fpga_stream.msg);
|
||||
free(outbuf);
|
||||
deflateEnd(&compressed_fpga_stream);
|
||||
for(uint16_t j = 0; j < num_infiles; j++) {
|
||||
|
@ -177,7 +178,7 @@ int zlib_decompress(FILE *infile, FILE *outfile)
|
|||
#define DECOMPRESS_BUF_SIZE 1024
|
||||
uint8_t outbuf[DECOMPRESS_BUF_SIZE];
|
||||
uint8_t inbuf[DECOMPRESS_BUF_SIZE];
|
||||
int ret;
|
||||
int32_t ret;
|
||||
|
||||
z_stream compressed_fpga_stream;
|
||||
|
||||
|
@ -197,7 +198,7 @@ int zlib_decompress(FILE *infile, FILE *outfile)
|
|||
compressed_fpga_stream.next_in = inbuf;
|
||||
uint16_t i = 0;
|
||||
do {
|
||||
int c = fgetc(infile);
|
||||
int32_t c = fgetc(infile);
|
||||
if (!feof(infile)) {
|
||||
inbuf[i++] = c & 0xFF;
|
||||
compressed_fpga_stream.avail_in++;
|
||||
|
@ -232,7 +233,7 @@ int zlib_decompress(FILE *infile, FILE *outfile)
|
|||
fclose(infile);
|
||||
return(EXIT_SUCCESS);
|
||||
} else {
|
||||
fprintf(stderr, "Error. Inflate() returned error %d, %s", ret, compressed_fpga_stream.msg);
|
||||
fprintf(stderr, "Error. Inflate() returned error %i, %s", ret, compressed_fpga_stream.msg);
|
||||
fclose(outfile);
|
||||
fclose(infile);
|
||||
return(EXIT_FAILURE);
|
||||
|
|
Loading…
Reference in a new issue