亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unlzw.c

?? gz124src.zip is a mini Gzip.
?? C
字號:
/* unlzw.c -- decompress files in LZW format. * The code in this file is directly derived from the public domain 'compress' * written by Spencer Thomas, Joe Orost, James Woods, Jim McKie, Steve Davies, * Ken Turkowski, Dave Mack and Peter Jannesen. * * This is a temporary version which will be rewritten in some future version * to accommodate in-memory decompression. */#ifdef RCSIDstatic char rcsid[] = "$Id: unlzw.c,v 0.15 1993/06/10 13:28:35 jloup Exp $";#endif#include <sys/types.h>#include "tailor.h"#ifdef HAVE_UNISTD_H#  include <unistd.h>#endif#ifndef NO_FCNTL_H#  include <fcntl.h>#endif#include "gzip.h"#include "lzw.h"typedef	unsigned char	char_type;typedef          long   code_int;typedef unsigned long 	count_int;typedef unsigned short	count_short;typedef unsigned long 	cmp_code_int;#define MAXCODE(n)	(1L << (n))    #ifndef	REGISTERS#	define	REGISTERS	2#endif#define	REG1	#define	REG2	#define	REG3	#define	REG4	#define	REG5	#define	REG6	#define	REG7	#define	REG8	#define	REG9	#define	REG10#define	REG11	#define	REG12	#define	REG13#define	REG14#define	REG15#define	REG16#if REGISTERS >= 1#	undef	REG1#	define	REG1	register#endif#if REGISTERS >= 2#	undef	REG2#	define	REG2	register#endif#if REGISTERS >= 3#	undef	REG3#	define	REG3	register#endif#if REGISTERS >= 4#	undef	REG4#	define	REG4	register#endif#if REGISTERS >= 5#	undef	REG5#	define	REG5	register#endif#if REGISTERS >= 6#	undef	REG6#	define	REG6	register#endif#if REGISTERS >= 7#	undef	REG7#	define	REG7	register#endif#if REGISTERS >= 8#	undef	REG8#	define	REG8	register#endif#if REGISTERS >= 9#	undef	REG9#	define	REG9	register#endif#if REGISTERS >= 10#	undef	REG10#	define	REG10	register#endif#if REGISTERS >= 11#	undef	REG11#	define	REG11	register#endif#if REGISTERS >= 12#	undef	REG12#	define	REG12	register#endif#if REGISTERS >= 13#	undef	REG13#	define	REG13	register#endif#if REGISTERS >= 14#	undef	REG14#	define	REG14	register#endif#if REGISTERS >= 15#	undef	REG15#	define	REG15	register#endif#if REGISTERS >= 16#	undef	REG16#	define	REG16	register#endif    #ifndef	BYTEORDER#	define	BYTEORDER	0000#endif	#ifndef	NOALLIGN#	define	NOALLIGN	0#endifunion	bytes {    long  word;    struct {#if BYTEORDER == 4321	char_type	b1;	char_type	b2;	char_type	b3;	char_type	b4;#else#if BYTEORDER == 1234	char_type	b4;	char_type	b3;	char_type	b2;	char_type	b1;#else#	undef	BYTEORDER	int  dummy;#endif#endif    } bytes;};#if BYTEORDER == 4321 && NOALLIGN == 1#  define input(b,o,c,n,m){ \     (c) = (*(long *)(&(b)[(o)>>3])>>((o)&0x7))&(m); \     (o) += (n); \   }#else#  define input(b,o,c,n,m){ \     REG1 char_type *p = &(b)[(o)>>3]; \     (c) = ((((long)(p[0]))|((long)(p[1])<<8)| \     ((long)(p[2])<<16))>>((o)&0x7))&(m); \     (o) += (n); \   }#endif#ifndef MAXSEG_64K   /* DECLARE(ush, tab_prefix, (1<<BITS)); -- prefix code */#  define tab_prefixof(i) tab_prefix[i]#  define clear_tab_prefixof()	memzero(tab_prefix, 256);#else   /* DECLARE(ush, tab_prefix0, (1<<(BITS-1)); -- prefix for even codes */   /* DECLARE(ush, tab_prefix1, (1<<(BITS-1)); -- prefix for odd  codes */   ush *tab_prefix[2];#  define tab_prefixof(i) tab_prefix[(i)&1][(i)>>1]#  define clear_tab_prefixof()	\      memzero(tab_prefix0, 128), \      memzero(tab_prefix1, 128);#endif#define de_stack        ((char_type *)(&d_buf[DIST_BUFSIZE-1]))#define tab_suffixof(i) tab_suffix[i]int block_mode = BLOCK_MODE; /* block compress mode -C compatible with 2.0 *//* ============================================================================ * Decompress in to out.  This routine adapts to the codes in the * file building the "string" table on-the-fly; requiring no table to * be stored in the compressed file. * IN assertions: the buffer inbuf contains already the beginning of *   the compressed data, from offsets iptr to insize-1 included. *   The magic header has already been checked and skipped. *   bytes_in and bytes_out have been initialized. */int unlzw(in, out)     int in, out;    /* input and output file descriptors */{    REG2   char_type  *stackp;    REG3   code_int   code;    REG4   int        finchar;    REG5   code_int   oldcode;    REG6   code_int   incode;    REG7   long       inbits;    REG8   long       posbits;    REG9   int        outpos;/*  REG10  int        insize; (global) */    REG11  unsigned   bitmask;    REG12  code_int   free_ent;    REG13  code_int   maxcode;    REG14  code_int   maxmaxcode;    REG15  int        n_bits;    REG16  int        rsize;    #ifdef MAXSEG_64K    tab_prefix[0] = tab_prefix0;    tab_prefix[1] = tab_prefix1;#endif    maxbits = get_byte();    block_mode = maxbits & BLOCK_MODE;    if ((maxbits & LZW_RESERVED) != 0) {	WARN((stderr, "\n%s: %s: warning, unknown flags 0x%x\n",	      progname, ifname, maxbits & LZW_RESERVED));    }    maxbits &= BIT_MASK;    maxmaxcode = MAXCODE(maxbits);        if (maxbits > BITS) {	fprintf(stderr,		"\n%s: %s: compressed with %d bits, can only handle %d bits\n",		progname, ifname, maxbits, BITS);	exit_code = ERROR;	return ERROR;    }    rsize = insize;    maxcode = MAXCODE(n_bits = INIT_BITS)-1;    bitmask = (1<<n_bits)-1;    oldcode = -1;    finchar = 0;    outpos = 0;    posbits = inptr<<3;    free_ent = ((block_mode) ? FIRST : 256);        clear_tab_prefixof(); /* Initialize the first 256 entries in the table. */        for (code = 255 ; code >= 0 ; --code) {	tab_suffixof(code) = (char_type)code;    }    do {	REG1 int i;	int  e;	int  o;	    resetbuf:	e = insize-(o = (posbits>>3));		for (i = 0 ; i < e ; ++i) {	    inbuf[i] = inbuf[i+o];	}	insize = e;	posbits = 0;		if (insize < INBUF_EXTRA) {	    if ((rsize = read(in, (char*)inbuf+insize, INBUFSIZ)) == EOF) {		read_error();	    }	    insize += rsize;	    bytes_in += (ulg)rsize;	}	inbits = ((rsize != 0) ? ((long)insize - insize%n_bits)<<3 : 		  ((long)insize<<3)-(n_bits-1));		while (inbits > posbits) {	    if (free_ent > maxcode) {		posbits = ((posbits-1) +			   ((n_bits<<3)-(posbits-1+(n_bits<<3))%(n_bits<<3)));		++n_bits;		if (n_bits == maxbits) {		    maxcode = maxmaxcode;		} else {		    maxcode = MAXCODE(n_bits)-1;		}		bitmask = (1<<n_bits)-1;		goto resetbuf;	    }	    input(inbuf,posbits,code,n_bits,bitmask);	    Tracev((stderr, "%d ", code));	    if (oldcode == -1) {		if (code >= 256) error("corrupt input.");		outbuf[outpos++] = (char_type)(finchar = (int)(oldcode=code));		continue;	    }	    if (code == CLEAR && block_mode) {		clear_tab_prefixof();		free_ent = FIRST - 1;		posbits = ((posbits-1) +			   ((n_bits<<3)-(posbits-1+(n_bits<<3))%(n_bits<<3)));		maxcode = MAXCODE(n_bits = INIT_BITS)-1;		bitmask = (1<<n_bits)-1;		goto resetbuf;	    }	    incode = code;	    stackp = de_stack;	    	    if (code >= free_ent) { /* Special case for KwKwK string. */		if (code > free_ent) {#ifdef DEBUG		    		    char_type *p;		    posbits -= n_bits;		    p = &inbuf[posbits>>3];		    fprintf(stderr,			    "code:%ld free_ent:%ld n_bits:%d insize:%u\n",			    code, free_ent, n_bits, insize);		    fprintf(stderr,			    "posbits:%ld inbuf:%02X %02X %02X %02X %02X\n",			    posbits, p[-1],p[0],p[1],p[2],p[3]);#endif		    if (!test && outpos > 0) {			write_buf(out, (char*)outbuf, outpos);			bytes_out += (ulg)outpos;		    }		    error(to_stdout ? "corrupt input." :			  "corrupt input. Use zcat to recover some data.");		}		*--stackp = (char_type)finchar;		code = oldcode;	    }	    while ((cmp_code_int)code >= (cmp_code_int)256) {		/* Generate output characters in reverse order */		*--stackp = tab_suffixof(code);		code = tab_prefixof(code);	    }	    *--stackp =	(char_type)(finchar = tab_suffixof(code));	    	    /* And put them out in forward order */	    {		REG1 int	i;	    		if (outpos+(i = (de_stack-stackp)) >= OUTBUFSIZ) {		    do {			if (i > OUTBUFSIZ-outpos) i = OUTBUFSIZ-outpos;			if (i > 0) {			    memcpy(outbuf+outpos, stackp, i);			    outpos += i;			}			if (outpos >= OUTBUFSIZ) {			    if (!test) {				write_buf(out, (char*)outbuf, outpos);				bytes_out += (ulg)outpos;			    }			    outpos = 0;			}			stackp+= i;		    } while ((i = (de_stack-stackp)) > 0);		} else {		    memcpy(outbuf+outpos, stackp, i);		    outpos += i;		}	    }	    if ((code = free_ent) < maxmaxcode) { /* Generate the new entry. */		tab_prefixof(code) = (unsigned short)oldcode;		tab_suffixof(code) = (char_type)finchar;		free_ent = code+1;	    } 	    oldcode = incode;	/* Remember previous code.	*/	}    } while (rsize != 0);        if (!test && outpos > 0) {	write_buf(out, (char*)outbuf, outpos);	bytes_out += (ulg)outpos;    }    return OK;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91一区一区三区| 奇米综合一区二区三区精品视频| 国产精品一区二区无线| 精品999久久久| 国产一区二区调教| 国产婷婷一区二区| 从欧美一区二区三区| 亚洲欧美日韩中文播放| 欧美自拍偷拍一区| 丝袜美腿一区二区三区| 日韩欧美高清一区| 成人av先锋影音| 亚洲午夜久久久| 精品乱码亚洲一区二区不卡| 国产美女在线精品| 亚洲品质自拍视频| 日韩欧美在线不卡| 成人av午夜电影| 天堂午夜影视日韩欧美一区二区| 欧美xxxx老人做受| 91麻豆精品一区二区三区| 亚洲gay无套男同| 久久蜜桃av一区二区天堂| 99riav一区二区三区| 日韩在线一二三区| 亚洲国产成人在线| 欧美高清视频在线高清观看mv色露露十八| 蜜桃久久av一区| 成人免费在线视频观看| 欧美一区二区网站| 99精品桃花视频在线观看| 奇米精品一区二区三区四区| 亚洲国产成人午夜在线一区| 91麻豆精品国产91久久久 | 国产精品成人一区二区三区夜夜夜 | 久久精品日产第一区二区三区高清版| 成人18视频在线播放| 日韩精品乱码av一区二区| 国产欧美视频在线观看| 这里只有精品电影| 波多野结衣亚洲| 久久国产精品99久久久久久老狼| 一区二区中文字幕在线| 欧美一二三区精品| 91久久国产综合久久| 国产精品1区2区3区在线观看| 亚洲一区精品在线| 国产精品久久久久久久久免费相片| 67194成人在线观看| 99久久综合99久久综合网站| 狠狠色丁香婷婷综合久久片| 亚洲国产美女搞黄色| 中文字幕亚洲区| 久久日韩粉嫩一区二区三区| 欧美一区二区大片| 欧美在线啊v一区| av一区二区三区在线| 国产麻豆精品在线| 九色porny丨国产精品| 亚洲成av人片在线| 一区二区三区在线免费视频| 综合久久久久久久| 国产精品免费看片| 亚洲国产精品传媒在线观看| 精品国产乱码久久久久久影片| 欧美日韩aaa| 欧美在线你懂的| 欧美色倩网站大全免费| 91蜜桃传媒精品久久久一区二区| 国产一区二区不卡在线| 激情成人午夜视频| 久草精品在线观看| 精品一区中文字幕| 激情六月婷婷综合| 国产乱淫av一区二区三区 | 五月激情综合婷婷| 午夜精品视频一区| 午夜视频在线观看一区二区三区 | 中文字幕乱码一区二区免费| 久久久精品国产免费观看同学| 日韩精品在线一区| 日韩视频在线一区二区| 日韩片之四级片| 精品国产伦一区二区三区观看体验 | 中文字幕第一页久久| 国产欧美日韩不卡免费| 欧美国产97人人爽人人喊| 国产精品护士白丝一区av| 亚洲免费视频成人| 亚洲国产精品久久久久婷婷884| 亚洲成a人片在线观看中文| 午夜欧美2019年伦理| 日韩高清不卡在线| 美女视频一区二区| 国产激情一区二区三区| 国产成a人亚洲精品| 色欧美片视频在线观看在线视频| 色综合色狠狠综合色| 欧美日韩免费不卡视频一区二区三区| 欧美老女人在线| 久久日韩粉嫩一区二区三区| 中文字幕一区日韩精品欧美| 亚洲愉拍自拍另类高清精品| 日韩福利视频导航| 懂色av中文字幕一区二区三区| 91天堂素人约啪| 欧美一区二区三区视频免费 | 专区另类欧美日韩| 国产一区二区主播在线| 亚洲午夜免费电影| 美女网站在线免费欧美精品| 国产在线日韩欧美| 丝袜美腿亚洲色图| 国产999精品久久久久久| 日韩精品一区二区三区在线观看| 亚洲高清中文字幕| 色天使色偷偷av一区二区| 亚洲国产精品精华液2区45| 国模无码大尺度一区二区三区| 欧美猛男男办公室激情| 一区二区三区四区高清精品免费观看 | 欧美成人vps| 日韩电影在线免费观看| 欧美日韩一区二区三区视频| 亚洲免费高清视频在线| 91网站最新地址| 国产精品国产三级国产有无不卡| 国产乱码字幕精品高清av | 国产欧美日韩亚州综合| 久草中文综合在线| 久久影院午夜片一区| 另类小说综合欧美亚洲| 欧美电视剧在线观看完整版| 乱一区二区av| 久久久久免费观看| 国产成人综合自拍| 国产精品日韩精品欧美在线| 成人午夜激情片| 亚洲欧美在线高清| 91伊人久久大香线蕉| 一区二区久久久| 9191成人精品久久| 日韩精品91亚洲二区在线观看| 欧美一区二区视频观看视频| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩一区二区精品| 国模无码大尺度一区二区三区| 国产日韩欧美精品一区| 成人福利视频网站| 亚洲桃色在线一区| 欧美日韩1区2区| 美女一区二区三区| 欧美韩国日本一区| 在线观看精品一区| 日韩av一区二区三区四区| 精品国产一区二区三区不卡 | 美女视频免费一区| 国产午夜一区二区三区| 99精品久久久久久| 亚洲丰满少妇videoshd| 日韩一区二区视频| 丁香啪啪综合成人亚洲小说| 亚洲乱码一区二区三区在线观看| 欧美日韩精品一二三区| 韩国v欧美v亚洲v日本v| 国产精品国产自产拍在线| 欧美午夜宅男影院| 精品亚洲国产成人av制服丝袜 | 国产精品国产三级国产普通话三级| av日韩在线网站| 丝袜诱惑制服诱惑色一区在线观看 | 色综合天天综合给合国产| 亚洲国产美女搞黄色| 久久毛片高清国产| 在线观看中文字幕不卡| 久久er精品视频| 亚洲欧美在线视频观看| 欧美一区二区精品| 波多野结衣中文字幕一区| 丝袜脚交一区二区| 欧美国产精品中文字幕| 欧美一区二区视频网站| 99re这里只有精品6| 蜜桃av噜噜一区| 专区另类欧美日韩| 精品国产伦一区二区三区观看体验 | 日韩电影免费一区| 国产精品国产三级国产普通话蜜臀 | 777欧美精品| 91啪亚洲精品| 国产做a爰片久久毛片| 樱桃视频在线观看一区| 久久久精品免费网站| 欧美精品电影在线播放| 成人国产电影网| 国产在线精品不卡| 日韩精品每日更新| 一区二区三区在线视频免费| 国产欧美日韩精品一区| 精品久久人人做人人爽|