int jffs2_zlib_decompress(unsigned char *data_in, unsigned char *cpage_out, uint32_t srclen, uint32_t destlen, void *model) 
static int jffs2_zlib_decompress(unsigned char *data_in, unsigned char *cpage_out, uint32_t srclen, uint32_t destlen, void *model) 
int jffs2_zlib_decompress(unsigned char *data_in, unsigned char *cpage_out,		      uint32_t srclen, uint32_t destlen, void *model){	int ret;	int wbits = MAX_WBITS;	down(&inflate_sem);	inf_strm.next_in = data_in;	inf_strm.avail_in = srclen;	inf_strm.total_in = 0;		inf_strm.next_out = cpage_out;	inf_strm.avail_out = destlen;	inf_strm.total_out = 0;	/* If it's deflate, and it's got no preset dictionary, then	   we can tell zlib to skip the adler32 check. */	if (srclen > 2 && !(data_in[1] & PRESET_DICT) &&	    ((data_in[0] & 0x0f) == Z_DEFLATED) &&	    !(((data_in[0]<<8) + data_in[1]) % 31)) {		D2(printk(KERN_DEBUG "inflate skipping adler32\n"));		wbits = -((data_in[0] >> 4) + 8);		inf_strm.next_in += 2;		inf_strm.avail_in -= 2;	} else {		/* Let this remain D1 for now -- it should never happen */		D1(printk(KERN_DEBUG "inflate not skipping adler32\n"));	}	if (Z_OK != zlib_inflateInit2(&inf_strm, wbits)) {		printk(KERN_WARNING "inflateInit failed\n");		up(&inflate_sem);		return 1;	}	while((ret = zlib_inflate(&inf_strm, Z_FINISH)) == Z_OK)		;	if (ret != Z_STREAM_END) {		printk(KERN_NOTICE "inflate returned %d\n", ret);	}	zlib_inflateEnd(&inf_strm);	up(&inflate_sem);        return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/75c96f85845a6707b0f9916cb263cb3584f7d48f/compr_zlib.c/buggy/fs/jffs2/compr_zlib.c