uLong comprLen;
uLong *comprLen;
void test_flush(compr, comprLen)    Byte *compr;    uLong comprLen;{    z_stream c_stream; /* compression stream */    int err;    int len = strlen(hello)+1;    c_stream.zalloc = (alloc_func)0;    c_stream.zfree = (free_func)0;    c_stream.opaque = (voidpf)0;    err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION);    CHECK_ERR(err, "deflateInit");    c_stream.next_in  = (Bytef*)hello;    c_stream.next_out = compr;    c_stream.avail_in = 3;    c_stream.avail_out = (uInt)comprLen;    err = deflate(&c_stream, Z_FULL_FLUSH);    CHECK_ERR(err, "deflate");    compr[3]++; /* force an error in first compressed block */    c_stream.avail_in = len - 3;    err = deflate(&c_stream, Z_FINISH);    if (err != Z_STREAM_END) {        CHECK_ERR(err, "deflate");    }    err = deflateEnd(&c_stream);    CHECK_ERR(err, "deflateEnd");}