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

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

?? unlzh.c

?? gz124src.zip is a mini Gzip.
?? C
字號:
/* unlzh.c -- decompress files in SCO compress -H (LZH) format. * The code in this file is directly derived from the public domain 'ar002' * written by Haruhiko Okumura. */#ifdef RCSIDstatic char rcsid[] = "$Id: unlzh.c,v 1.2 1993/06/24 10:59:01 jloup Exp $";#endif#include <stdio.h>#include "tailor.h"#include "gzip.h"#include "lzw.h" /* just for consistency checking *//* decode.c */local unsigned  decode  OF((unsigned count, uch buffer[]));local void decode_start OF((void));/* huf.c */local void huf_decode_start OF((void));local unsigned decode_c     OF((void));local unsigned decode_p     OF((void));local void read_pt_len      OF((int nn, int nbit, int i_special));local void read_c_len       OF((void));/* io.c */local void fillbuf      OF((int n));local unsigned getbits  OF((int n));local void init_getbits OF((void));/* maketbl.c */local void make_table OF((int nchar, uch bitlen[],			  int tablebits, ush table[]));#define DICBIT    13    /* 12(-lh4-) or 13(-lh5-) */#define DICSIZ ((unsigned) 1 << DICBIT)#ifndef CHAR_BIT#  define CHAR_BIT 8#endif#ifndef UCHAR_MAX#  define UCHAR_MAX 255#endif#define BITBUFSIZ (CHAR_BIT * 2 * sizeof(char))/* Do not use CHAR_BIT * sizeof(bitbuf), does not work on machines * for which short is not on 16 bits (Cray). *//* encode.c and decode.c */#define MAXMATCH 256    /* formerly F (not more than UCHAR_MAX + 1) */#define THRESHOLD  3    /* choose optimal value *//* huf.c */#define NC (UCHAR_MAX + MAXMATCH + 2 - THRESHOLD)	/* alphabet = {0, 1, 2, ..., NC - 1} */#define CBIT 9  /* $\lfloor \log_2 NC \rfloor + 1$ */#define CODE_BIT  16  /* codeword length */#define NP (DICBIT + 1)#define NT (CODE_BIT + 3)#define PBIT 4  /* smallest integer such that (1U << PBIT) > NP */#define TBIT 5  /* smallest integer such that (1U << TBIT) > NT */#if NT > NP# define NPT NT#else# define NPT NP#endif/* local ush left[2 * NC - 1]; *//* local ush right[2 * NC - 1]; */#define left  prev#define right head#if NC > (1<<(BITS-2))    error cannot overlay left+right and prev#endif/* local uch c_len[NC]; */#define c_len outbuf#if NC > OUTBUFSIZ    error cannot overlay c_len and outbuf#endiflocal uch pt_len[NPT];local unsigned blocksize;local ush pt_table[256];/* local ush c_table[4096]; */#define c_table d_buf#if (DIST_BUFSIZE-1) < 4095    error cannot overlay c_table and d_buf#endif/***********************************************************        io.c -- input/output***********************************************************/local ush       bitbuf;local unsigned  subbitbuf;local int       bitcount;local void fillbuf(n)  /* Shift bitbuf n bits left, read n bits */    int n;{    bitbuf <<= n;    while (n > bitcount) {	bitbuf |= subbitbuf << (n -= bitcount);	subbitbuf = (unsigned)try_byte();	if ((int)subbitbuf == EOF) subbitbuf = 0;	bitcount = CHAR_BIT;    }    bitbuf |= subbitbuf >> (bitcount -= n);}local unsigned getbits(n)    int n;{    unsigned x;    x = bitbuf >> (BITBUFSIZ - n);  fillbuf(n);    return x;}local void init_getbits(){    bitbuf = 0;  subbitbuf = 0;  bitcount = 0;    fillbuf(BITBUFSIZ);}/***********************************************************	maketbl.c -- make table for decoding***********************************************************/local void make_table(nchar, bitlen, tablebits, table)    int nchar;    uch bitlen[];    int tablebits;    ush table[];{    ush count[17], weight[17], start[18], *p;    unsigned i, k, len, ch, jutbits, avail, nextcode, mask;    for (i = 1; i <= 16; i++) count[i] = 0;    for (i = 0; i < (unsigned)nchar; i++) count[bitlen[i]]++;    start[1] = 0;    for (i = 1; i <= 16; i++)	start[i + 1] = start[i] + (count[i] << (16 - i));    if ((start[17] & 0xffff) != 0)	error("Bad table\n");    jutbits = 16 - tablebits;    for (i = 1; i <= (unsigned)tablebits; i++) {	start[i] >>= jutbits;	weight[i] = (unsigned) 1 << (tablebits - i);    }    while (i <= 16) {	weight[i] = (unsigned) 1 << (16 - i);	i++;    }    i = start[tablebits + 1] >> jutbits;    if (i != 0) {	k = 1 << tablebits;	while (i != k) table[i++] = 0;    }    avail = nchar;    mask = (unsigned) 1 << (15 - tablebits);    for (ch = 0; ch < (unsigned)nchar; ch++) {	if ((len = bitlen[ch]) == 0) continue;	nextcode = start[len] + weight[len];	if (len <= (unsigned)tablebits) {	    for (i = start[len]; i < nextcode; i++) table[i] = ch;	} else {	    k = start[len];	    p = &table[k >> jutbits];	    i = len - tablebits;	    while (i != 0) {		if (*p == 0) {		    right[avail] = left[avail] = 0;		    *p = avail++;		}		if (k & mask) p = &right[*p];		else          p = &left[*p];		k <<= 1;  i--;	    }	    *p = ch;	}	start[len] = nextcode;    }}/***********************************************************        huf.c -- static Huffman***********************************************************/local void read_pt_len(nn, nbit, i_special)    int nn;    int nbit;    int i_special;{    int i, c, n;    unsigned mask;    n = getbits(nbit);    if (n == 0) {	c = getbits(nbit);	for (i = 0; i < nn; i++) pt_len[i] = 0;	for (i = 0; i < 256; i++) pt_table[i] = c;    } else {	i = 0;	while (i < n) {	    c = bitbuf >> (BITBUFSIZ - 3);	    if (c == 7) {		mask = (unsigned) 1 << (BITBUFSIZ - 1 - 3);		while (mask & bitbuf) {  mask >>= 1;  c++;  }	    }	    fillbuf((c < 7) ? 3 : c - 3);	    pt_len[i++] = c;	    if (i == i_special) {		c = getbits(2);		while (--c >= 0) pt_len[i++] = 0;	    }	}	while (i < nn) pt_len[i++] = 0;	make_table(nn, pt_len, 8, pt_table);    }}local void read_c_len(){    int i, c, n;    unsigned mask;    n = getbits(CBIT);    if (n == 0) {	c = getbits(CBIT);	for (i = 0; i < NC; i++) c_len[i] = 0;	for (i = 0; i < 4096; i++) c_table[i] = c;    } else {	i = 0;	while (i < n) {	    c = pt_table[bitbuf >> (BITBUFSIZ - 8)];	    if (c >= NT) {		mask = (unsigned) 1 << (BITBUFSIZ - 1 - 8);		do {		    if (bitbuf & mask) c = right[c];		    else               c = left [c];		    mask >>= 1;		} while (c >= NT);	    }	    fillbuf((int) pt_len[c]);	    if (c <= 2) {		if      (c == 0) c = 1;		else if (c == 1) c = getbits(4) + 3;		else             c = getbits(CBIT) + 20;		while (--c >= 0) c_len[i++] = 0;	    } else c_len[i++] = c - 2;	}	while (i < NC) c_len[i++] = 0;	make_table(NC, c_len, 12, c_table);    }}local unsigned decode_c(){    unsigned j, mask;    if (blocksize == 0) {	blocksize = getbits(16);	if (blocksize == 0) {	    return NC; /* end of file */	}	read_pt_len(NT, TBIT, 3);	read_c_len();	read_pt_len(NP, PBIT, -1);    }    blocksize--;    j = c_table[bitbuf >> (BITBUFSIZ - 12)];    if (j >= NC) {	mask = (unsigned) 1 << (BITBUFSIZ - 1 - 12);	do {	    if (bitbuf & mask) j = right[j];	    else               j = left [j];	    mask >>= 1;	} while (j >= NC);    }    fillbuf((int) c_len[j]);    return j;}local unsigned decode_p(){    unsigned j, mask;    j = pt_table[bitbuf >> (BITBUFSIZ - 8)];    if (j >= NP) {	mask = (unsigned) 1 << (BITBUFSIZ - 1 - 8);	do {	    if (bitbuf & mask) j = right[j];	    else               j = left [j];	    mask >>= 1;	} while (j >= NP);    }    fillbuf((int) pt_len[j]);    if (j != 0) j = ((unsigned) 1 << (j - 1)) + getbits((int) (j - 1));    return j;}local void huf_decode_start(){    init_getbits();  blocksize = 0;}/***********************************************************        decode.c***********************************************************/local int j;    /* remaining bytes to copy */local int done; /* set at end of input */local void decode_start(){    huf_decode_start();    j = 0;    done = 0;}/* Decode the input and return the number of decoded bytes put in buffer */local unsigned decode(count, buffer)    unsigned count;    uch buffer[];    /* The calling function must keep the number of       bytes to be processed.  This function decodes       either 'count' bytes or 'DICSIZ' bytes, whichever       is smaller, into the array 'buffer[]' of size       'DICSIZ' or more.       Call decode_start() once for each new file       before calling this function.     */{    local unsigned i;    unsigned r, c;    r = 0;    while (--j >= 0) {	buffer[r] = buffer[i];	i = (i + 1) & (DICSIZ - 1);	if (++r == count) return r;    }    for ( ; ; ) {	c = decode_c();	if (c == NC) {	    done = 1;	    return r;	}	if (c <= UCHAR_MAX) {	    buffer[r] = c;	    if (++r == count) return r;	} else {	    j = c - (UCHAR_MAX + 1 - THRESHOLD);	    i = (r - decode_p() - 1) & (DICSIZ - 1);	    while (--j >= 0) {		buffer[r] = buffer[i];		i = (i + 1) & (DICSIZ - 1);		if (++r == count) return r;	    }	}    }}/* =========================================================================== * Unlzh in to out. Return OK or ERROR. */int unlzh(in, out)    int in;    int out;{    unsigned n;    ifd = in;    ofd = out;    decode_start();    while (!done) {	n = decode((unsigned) DICSIZ, window);	if (!test && n > 0) {	    write_buf(out, (char*)window, n);	}    }    return OK;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线看| 中文字幕日韩一区| av网站免费线看精品| 亚洲va中文字幕| 国产精品三级电影| 欧美一级一区二区| 色婷婷久久综合| 高清国产一区二区| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲欧洲精品成人久久奇米网| 日韩欧美自拍偷拍| 欧美综合一区二区| 成人中文字幕合集| 久久爱www久久做| 性感美女久久精品| √…a在线天堂一区| 久久亚洲综合色| 在线不卡免费欧美| 91国产丝袜在线播放| 成熟亚洲日本毛茸茸凸凹| 天使萌一区二区三区免费观看| 亚洲天堂福利av| 亚洲国产精品精华液2区45| 日韩欧美成人激情| 6080午夜不卡| 欧美日韩久久久一区| 日本黄色一区二区| 91麻豆国产香蕉久久精品| 成人av影视在线观看| 国产精品自在在线| 国产一区二区女| 久久av老司机精品网站导航| 日韩制服丝袜av| 婷婷六月综合网| 亚洲一本大道在线| 亚洲国产人成综合网站| 亚洲精品欧美在线| 亚洲乱码日产精品bd| 亚洲人成7777| 一区二区三区鲁丝不卡| 亚洲男帅同性gay1069| 亚洲色图欧美激情| 亚洲日本韩国一区| 国产精品久久久久一区| 亚洲国产精品精华液ab| 国产精品每日更新| 欧美国产欧美综合| 国产精品免费aⅴ片在线观看| 国产欧美综合在线| 国产精品美女久久久久av爽李琼| 日本一区二区三区在线不卡| 欧美激情资源网| 亚洲一线二线三线久久久| 一区二区三区四区中文字幕| 日韩国产欧美三级| 丝瓜av网站精品一区二区| 69堂国产成人免费视频| 99精品在线免费| 欧美午夜影院一区| 久久精品网站免费观看| 性久久久久久久久| 成人av在线影院| 欧美成人vps| 亚洲精品视频在线看| 狠狠狠色丁香婷婷综合激情| 欧美视频一二三区| 国产精品国产成人国产三级| 美女视频黄a大片欧美| 一道本成人在线| 国产亚洲欧美激情| 免费观看91视频大全| 欧美亚洲综合色| 国产精品久久一卡二卡| 久久不见久久见免费视频1| 欧美在线视频你懂得| 国产精品蜜臀av| 久久成人综合网| 欧美一卡二卡三卡四卡| 一区二区三区加勒比av| www.成人在线| 2023国产一二三区日本精品2022| 亚洲第一会所有码转帖| 成人精品视频网站| 久久精品视频免费| 激情偷乱视频一区二区三区| 制服丝袜日韩国产| 亚洲综合色网站| 99精品视频一区二区三区| 国产日韩在线不卡| 国产一区二区三区在线观看精品| 5858s免费视频成人| 亚洲与欧洲av电影| 色婷婷综合久色| 国产精品久久久久久久久免费桃花 | 亚洲成人一区二区| 91视频com| 日韩美女啊v在线免费观看| 国产盗摄视频一区二区三区| 久久综合九色综合欧美98| 日本网站在线观看一区二区三区| 在线观看日韩一区| 亚洲男女一区二区三区| 一本大道综合伊人精品热热| 国产精品成人免费精品自在线观看| 国产米奇在线777精品观看| 精品国产一区二区三区不卡 | 国产毛片一区二区| 欧美精品一区二区久久婷婷| 精品亚洲porn| 精品日韩欧美一区二区| 韩国在线一区二区| 精品国内片67194| 国内精品写真在线观看| 久久在线观看免费| 国产成人av电影在线观看| 国产精品欧美精品| 99久久精品免费| 一区二区在线观看视频在线观看| 色综合久久中文综合久久97| 亚洲小少妇裸体bbw| 欧美精品1区2区3区| 精品制服美女久久| 久久精品欧美一区二区三区麻豆| 国产成人综合在线播放| 国产精品麻豆视频| 一本一道综合狠狠老| 亚洲一区二区三区中文字幕| 欧美另类久久久品| 久久精品二区亚洲w码| 久久久久亚洲综合| 99精品国产99久久久久久白柏| 亚洲女女做受ⅹxx高潮| 69堂成人精品免费视频| 国产精品资源在线观看| 综合久久一区二区三区| 欧美无砖专区一中文字| 久久不见久久见免费视频7| 国产欧美日韩综合| 欧美亚日韩国产aⅴ精品中极品| 日韩和欧美一区二区| 久久久久久久久一| 一本色道久久加勒比精品| 亚洲成人免费观看| 精品国产伦一区二区三区观看方式 | 精品国产乱子伦一区| 成人av动漫网站| 亚洲国产精品久久不卡毛片 | 亚洲欧美一区二区三区国产精品| 欧美日韩一二三区| 韩国三级在线一区| 一区精品在线播放| 欧美一区在线视频| 成人福利视频网站| 亚洲va国产va欧美va观看| 久久一日本道色综合| 91麻豆swag| 精品一区二区三区视频| 国产精品短视频| 日韩欧美你懂的| 色综合天天综合在线视频| 麻豆中文一区二区| 亚洲免费看黄网站| 久久久久国产精品麻豆ai换脸| 色又黄又爽网站www久久| 狠狠色丁香婷婷综合| 亚洲精品亚洲人成人网| 精品国产99国产精品| 在线亚洲一区二区| 国产成人h网站| 免费美女久久99| 亚洲精品乱码久久久久久久久 | 精品视频在线免费| 国产寡妇亲子伦一区二区| 亚洲国产一区二区三区 | 国产成人综合亚洲网站| 丝袜亚洲另类丝袜在线| 亚洲少妇屁股交4| 久久久久久麻豆| 日韩免费观看高清完整版在线观看| av男人天堂一区| 成人小视频免费观看| 久久国产精品72免费观看| 亚洲国产aⅴ天堂久久| 亚洲男人的天堂在线aⅴ视频 | 国产福利精品导航| 久久精品国产亚洲5555| 亚洲午夜视频在线观看| 亚洲色图视频免费播放| 国产精品久久久久久亚洲伦| 久久精品一级爱片| 欧美大胆一级视频| 制服丝袜在线91| 欧美日韩国产首页| 欧美性色黄大片| 色欧美乱欧美15图片| 91在线视频网址| 成人福利视频网站| 99久久国产综合精品女不卡| 国产成人综合在线| 国产91精品在线观看|