示例#1
0
int gu_decompress_mem(const void *src, long src_size, void **dst, long *dst_size)
{
    /* Retrieve uncompressed size from the last 4 bytes of the file where it is
     * stored in the gzip format */
    *dst_size = *(long *)&((unsigned char *)src)[src_size - 4];

    *dst = malloc(*dst_size);
    /* If decrompession with Z_DATA ERROR src is likely not compressed,
     * so simply return src buffer */
    if (Z_DATA_ERROR == _inflate(src, src_size, *dst, *dst_size)) {
        free(*dst);
        *dst = (void *)src;
        *dst_size = src_size;
    }

    return 0;
}
示例#2
0
Affine2Vector& Affine2Vector::inflate(double rad1)                              { return _inflate(*this,rad1); }