#include "test_util.h"
static void
generate_test_input(struct output_bitstream *os)
{
int i;
put_bits(os, 0, 1);
put_bits(os, 2, 2);
put_bits(os, 0, 5);
put_bits(os, 0, 5);
put_bits(os, 14, 4);
put_bits(os, 0, 3);
put_bits(os, 0, 3);
put_bits(os, 1, 3);
for (i = 0; i < 14; i++)
put_bits(os, 0, 3);
put_bits(os, 1, 3);
put_bits(os, 0, 1);
put_bits(os, 1, 1);
put_bits(os, 117, 7);
put_bits(os, 1, 1);
put_bits(os, 116, 7);
put_bits(os, 0, 1);
put_bits(os, 0, 1);
ASSERT(flush_bits(os));
}
int
tmain(int argc, tchar *argv[])
{
u8 cdata[16];
u8 udata[256];
struct output_bitstream os =
{ .next = cdata, .end = cdata + sizeof(cdata) };
struct libdeflate_decompressor *d;
enum libdeflate_result res;
size_t actual_out_nbytes;
begin_program(argv);
generate_test_input(&os);
d = libdeflate_alloc_decompressor();
ASSERT(d != NULL);
res = libdeflate_deflate_decompress(d, cdata, os.next - cdata,
udata, sizeof(udata),
&actual_out_nbytes);
ASSERT(res == LIBDEFLATE_BAD_DATA);
libdeflate_free_decompressor(d);
return 0;
}