17 lines
673 B
C
17 lines
673 B
C
// tuzd <expected_size>: decompress stdin with the reference tinyuz decoder to stdout.
|
|||
|
|
#include <stdio.h>
|
||
|
|
#include <stdlib.h>
|
||
|
|
#include <io.h>
|
||
|
|
#include <fcntl.h>
|
||
|
|
#include "tinyuz/decompress/tuz_dec.h"
|
||
|
|
int main(int argc, char** argv) {
|
||
|
|
static unsigned char in[65536], out[65536];
|
||
|
|
_setmode(_fileno(stdin), _O_BINARY);
|
||
|
|
_setmode(_fileno(stdout), _O_BINARY);
|
||
|
|
size_t n = fread(in, 1, sizeof(in), stdin);
|
||
|
|
tuz_size_t size = (tuz_size_t)atoi(argv[1]);
|
||
|
|
tuz_TResult r = tuz_decompress_mem(in, (tuz_size_t)n, out, &size);
|
||
|
|
if (r != tuz_STREAM_END) { fprintf(stderr, "decode result %d\n", (int)r); return 1; }
|
||
|
|
fwrite(out, 1, size, stdout);
|
||
|
|
return 0;
|
||
|
|
}
|